Pytorch: PyTorch 1.3: acak "RuntimeError: CUDA error: kegagalan peluncuran yang tidak ditentukan"

Dibuat pada 14 Okt 2019  ·  77Komentar  ·  Sumber: pytorch/pytorch

Bug

Tidak ada masalah di PyTorch 1.2. Arsipkan dengan kode dan data: https://github.com/pytorch/pytorch/files/3723821/PyTorch.zip

Windows 10 (1903), Python 3.7.4, RTX 2060 (versi driver 436.48)

RuntimeError                              Traceback (most recent call last)
<ipython-input-6-68308ed1e055> in <module>
     35         cum_loss.append(loss.item())
     36 
---> 37         loss.backward()
     38         optimizer.step()
     39 

C:\Anaconda3\envs\torch13\lib\site-packages\torch\tensor.py in backward(self, gradient, retain_graph, create_graph)
    148                 products. Defaults to ``False``.
    149         """
--> 150         torch.autograd.backward(self, gradient, retain_graph, create_graph)
    151 
    152     def register_hook(self, hook):

C:\Anaconda3\envs\torch13\lib\site-packages\torch\autograd\__init__.py in backward(tensors, grad_tensors, retain_graph, create_graph, grad_variables)
     97     Variable._execution_engine.run_backward(
     98         tensors, grad_tensors, retain_graph, create_graph,
---> 99         allow_unreachable=True)  # allow_unreachable flag
    100 
    101 

RuntimeError: CUDA error: unspecified launch failure

cc @ezyang @gchanan @zou3519 @SsnL @albanD @gqchen @ngimel @peterjc123

high priority autograd cuda windows needs reproduction triaged

Komentar yang paling membantu

Saya mengalami masalah serupa pada mesin windows saya, saya memiliki saluran pipa sederhana untuk klasifikasi biner dengan LSTM dan dimatikan pada zaman (tampaknya acak).

Semua 77 komentar

Bisakah Anda memberikan contoh kode minimal untuk direproduksi? Harap juga salin dan tempel keluaran dari skrip koleksi lingkungan kami . Anda bisa mendapatkan skrip dan menjalankannya dengan:

wget https://raw.githubusercontent.com/pytorch/pytorch/master/torch/utils/collect_env.py
# For security purposes, please check the contents of collect_env.py before running it.
python collect_env.py

Halo @vincentqb ,

Contoh kode: https://github.com/pytorch/pytorch/files/3723821/PyTorch.zip

Output dari skrip koleksi lingkungan:

Collecting environment information...
PyTorch version: 1.3.0
Is debug build: No
CUDA used to build PyTorch: 10.1

OS: Microsoft Windows 10 Enterprise
GCC version: Could not collect
CMake version: Could not collect

Python version: 3.7
Is CUDA available: Yes
CUDA runtime version: 10.1.243
GPU models and configuration: Could not collect
Nvidia driver version: Could not collect
cuDNN version: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin\cudnn64_7.dll

Versions of relevant libraries:
[pip] numpy==1.15.4
[pip] torch==1.3.0
[pip] torchvision==0.4.1
[conda] blas                      1.0                         mkl
[conda] libblas                   3.8.0                    13_mkl    conda-forge
[conda] libcblas                  3.8.0                    13_mkl    conda-forge
[conda] liblapack                 3.8.0                    13_mkl    conda-forge
[conda] mkl                       2019.4                      245
[conda] mkl-service               2.3.0            py37hb782905_0
[conda] pytorch                   1.3.0           py3.7_cuda101_cudnn7_0    pytorch
[conda] torchvision               0.4.1                py37_cu101    pytorch

nvidia-smi :

Mon Oct 14 21:05:01 2019
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 436.48       Driver Version: 436.48       CUDA Version: 10.1     |
|-------------------------------+----------------------+----------------------+
| GPU  Name            TCC/WDDM | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce RTX 2060   WDDM  | 00000000:01:00.0 Off |                  N/A |
| N/A   63C    P2    28W /  N/A |   1103MiB /  6144MiB |     13%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      6156      C   C:\Anaconda3\envs\torch12\python.exe       N/A      |
+-----------------------------------------------------------------------------+

@alexeygolyshev apakah itu contoh minimal? Sepertinya ada banyak kode di sana.
Jika Anda dapat mengurangi ukuran kode, itu akan sangat membantu dalam menemukan apa penyebab utamanya, terima kasih!

Halo @albanD ,
Ya, ini adalah contoh minimal. Saya tidak berpikir saya bisa sangat mengurangi kode. Saya sudah menghapus pra-pemrosesan data.

@albanD Masukan saya: [kalimat, kata, karakter]. Saya memiliki 2 dimensi yang berbeda: jumlah kata yang berbeda dalam sebuah kalimat dan jumlah karakter yang berbeda dalam sebuah kata.

Sayangnya saya tidak memiliki setup dengan notebook yang tersedia. Bisakah Anda menjalankan kode Anda dengan mengaktifkan anomaly_mode dan memposting di sini jejak tumpukan yang diperluas?

Bug

Tidak ada masalah di PyTorch 1.2. Arsipkan dengan kode dan data: https://github.com/pytorch/pytorch/files/3723821/PyTorch.zip

Windows 10 (1903), Python 3.7.4, RTX 2060 (versi driver 436.48)

RuntimeError                              Traceback (most recent call last)
<ipython-input-6-68308ed1e055> in <module>
     35         cum_loss.append(loss.item())
     36 
---> 37         loss.backward()
     38         optimizer.step()
     39 

C:\Anaconda3\envs\torch13\lib\site-packages\torch\tensor.py in backward(self, gradient, retain_graph, create_graph)
    148                 products. Defaults to ``False``.
    149         """
--> 150         torch.autograd.backward(self, gradient, retain_graph, create_graph)
    151 
    152     def register_hook(self, hook):

C:\Anaconda3\envs\torch13\lib\site-packages\torch\autograd\__init__.py in backward(tensors, grad_tensors, retain_graph, create_graph, grad_variables)
     97     Variable._execution_engine.run_backward(
     98         tensors, grad_tensors, retain_graph, create_graph,
---> 99         allow_unreachable=True)  # allow_unreachable flag
    100 
    101 

RuntimeError: CUDA error: unspecified launch failure

cc @ezyang @SsnL @albanD @zou3519 @gqchen

Halo, sistem komputer saya sama dengan milik Anda,【Win10(1903),Python 3.7.4, RTX 2060 (driver versi 441.20),torch.version==1.2.0,】
Saya mengalami masalah yang sama seperti Anda. Sudahkah Anda menyelesaikannya sekarang?

anda mengatakan Tidak ada masalah di PyTorch 1.2. Bisakah Anda memberi tahu saya semua informasi dalam versi ini?
CUDA?CUDNN?Python?

Halo @JYH9351 ,
Saat ini saya menggunakan PyTorch 1.3.0 dalam produksi. Saya tidak tahu mengapa, tetapi ini membantu:

with t.autograd.set_detect_anomaly(False):
    for epoch in range(epochs):
        ...

Crash lebih jarang, tidak dalam 2 epoch pertama.

Apakah mematikan pengaturan TDR membantu? https://zhuanlan.zhihu.com/p/38141415

Tidak. TDR = 60. Jalankan 2 kali. Hancur di zaman 2 dan 11. Kesalahan ini muncul secara acak.
with t.autograd.set_detect_anomaly(True) meningkatkan waktu per Epoch dalam 5x. Pada bulan Oktober, saya menunggu beberapa jam, tetapi tidak ada kesalahan. Jadi tidak ada jejak tumpukan yang diperpanjang.
Terkadang with t.autograd.set_detect_anomaly(False) dapat menambah waktu tanpa kesalahan. Tapi saya tidak yakin. Pada bulan Oktober, saya melatih beberapa jaringan dengan waktu aktif 2 hari. Tetapi dalam percobaan selanjutnya, itu juga jatuh secara acak.

# gpu   pwr gtemp mtemp    sm   mem   enc   dec  mclk  pclk
# Idx     W     C     C     %     %     %     %   MHz   MHz
    0    28    62     -    12     0     0     0  6801   960
    0    30    62     -    11     0     0     0  6801  1155
    0    32    63     -    20     7     0     0  6801  1155
    0    32    62     -    13     1     0     0  6801   960
    0    28    62     -    15     1     0     0  6801   960
    0    28    62     -    16     1     0     0  6801   960
    0    28    62     -    15     1     0     0  6801   960
    0    28    63     -    14     1     0     0  6801   960
    0    27    63     -    13     0     0     0  6801   960
    0    28    62     -    11     3     0     0  6801   960
    0    28    62     -     0     0     0     0  6801   960
    0    12    62     -     0     0     0     0   810   345
    0     5    61     -     0     0     0     0   405   345

Saya harus mengatakan bahwa sulit untuk mengatakan di mana masalahnya tanpa stacktrace termasuk situs crash yang tepat. Tapi kita bisa mendapatkannya dengan bantuan build RelWithDebInfo dan lampiran debugger VS. Saya bisa membangunkannya untuk Anda jika Anda mengalami kesulitan dalam membangun proyek.

Akan sangat bagus jika Anda dapat menyiapkan build debug. Saya tidak punya banyak pengalaman.

Menarik.

Saya mengalami masalah ini melatih model dari https://github.com/wgrathwohl/JEM dengan PyTorch 1.3
Saya menggunakan perintah ini

python train_wrn_ebm.py --lr .0001 --dataset cifar10 --optimizer adam --p_x_weight 1.0 --p_y_given_x_weight 1.0 --p_x_y_weight 0.0 --sigma .03 --width 2 --depth 40 --save_dir ./experiments --plot_uncond --warmup_iters 1000

Kesalahan terjadi secara acak di tengah pelatihan. Saya menggunakan linux mint, bukan Windows.

Saya akan menyarankan agar Anda mencoba lagi dengan menghapus driver GPU dengan DDU dan menginstal driver yang disertakan dengan cuda toolkit.

Terlalu banyak bug dengan driver GPU Nvidia pada win 10.

Saya mengalami masalah yang sama dan mencoba saran dari @kice untuk menginstal driver dari cuda toolkit tanpa hasil.

Saya mengalami masalah serupa pada mesin windows saya, saya memiliki saluran pipa sederhana untuk klasifikasi biner dengan LSTM dan dimatikan pada zaman (tampaknya acak).

Masalah saya juga dengan lstm. Menariknya ketika saya menambahkan torch.autograd.set_detect_anomaly(True) untuk mendapatkan jejak tumpukan, dibutuhkan sekitar 20% lebih lama untuk melatih tetapi tidak gagal. Saya akan menjalankan beberapa kali lagi untuk melihat apakah itu benar secara konsisten.

Masalah yang sama dengan LSTM + klasifikasi biner + kesalahan dalam zaman acak di windows 10 + Pytorch 1.4

File "C:/Users/User/GoogleDrive/mad2-recommend/gnn/train.py", line 108, in main train_model(train_loader, predict_score_net, optimizer) File "C:/Users/User/GoogleDrive/mad2-recommend/gnn/train.py", line 41, in train_model loss.backward() File "C:\Users\User\Anaconda3\lib\site-packages\torch\tensor.py", line 195, in backward torch.autograd.backward(self, gradient, retain_graph, create_graph) File "C:\Users\User\Anaconda3\lib\site-packages\torch\autograd\__init__.py", line 99, in backward allow_unreachable=True) # allow_unreachable flag RuntimeError: CUDA error: unspecified launch failure

memperbarui:
GRU memiliki masalah yang sama.

@shingyipcheung Apakah Anda dapat mereplikasi kesalahan dengan set torch.autograd.set_detect_anomaly(True) untuk mendapatkan stacktrace penuh?

Saya mengalami masalah ini juga! (EDIT: terbaru 1.4). Jaringan akan berlatih untuk sementara, kemudian pada beberapa titik acak, pengklasifikasi akan berhenti dengan pengecualian ini.

Dimungkinkan untuk mereproduksi dengan menggunakan pembelajaran transfer FastAI AWD-LSTM untuk klasifikasi teks pada kumpulan data yang sangat besar: https://docs.fast.ai/text.html

Setelah ini terjadi, operasi CUDA lebih lanjut menghasilkan kesalahan yang sama sampai kernel di-restart.

Saya menduga banyak dari ini tidak diuji pada Windows. Secara profesional, saya selalu menggunakan Linux untuk tugas pembelajaran mesin. Kebetulan satu-satunya sistem pribadi saya dengan GPU menjalankan Windows dan tidak memiliki ruang untuk instalasi Linux. Selanjutnya, "Ubuntu di Windows" tidak mendukung CUDA.

Saya memiliki masalah yang sama ketika saya berlatih dengan klasifikasi LSTM +, kesalahan terjadi pada zaman acak di windows 10 + Pytorch 1.4
menunggu solusi

Meningkatkan prioritas berdasarkan aktivitas pengguna

@peterjc123 Apakah Anda ingin melihat masalah ini lagi? Terima kasih!

Saya menghadapi masalah yang sama saat menjalankan Win10 + Pytorch 1.4 dengan klasifikasi LSTM +. GPU saya bisa berjalan lancar dengan model lain seperti CNN.
Potongan kode yang sama dapat dieksekusi di server dengan sistem Ubuntu. Jadi tebak beberapa masalah dengan kompatibilitas Win10

Bisa tolong ditest apakah masih bermasalah di paket nightly atau paket 1.5.0?

@peterjc123 masalah teratasi setelah saya memutakhirkan ke versi malam. Terima kasih untuk bantuannya :)

Masalah yang sama, pelatihan LSTM crash acak.
Pytorch 1.5.0, 1660Ti, 2600X, windows10, 32G

Saya mengalami kesalahan yang sama dengan Pytorch 1.4.0, RTX2060, windows10, juga melatih LSTM.
Mencoba memutakhirkan ke pytorch 1.5.0 sekarang dan akan melaporkan lagi.
BTW saya tidak mengamati kesalahan ini pada laptop saya yang sedang berkembang pytorch1.4, GTX1050Ti (tidak tahu apakah saya cukup beruntung atau itu khusus untuk beberapa GPU)

Memperbarui:
Setelah memutakhirkan ke pytorch 1.5.0
Kesalahan masih terjadi secara acak. (dengan RTX2060 di windows10)

Masalah yang sama di sini. Pada mesin Win10 dengan dua kartu 2080Ti. Kernal lumpuh setelah beberapa batch pertama model GRU.

Pytorch: 1.5.0

Nah, daripada menjelaskan fakta bahwa itu terjadi, akan lebih baik untuk memberikan beberapa kode bagi kita untuk mereproduksinya di pihak kita.

Hai @peterjc123 , Saya ingin tetapi baru saja terjadi di berbagai posisi kode saya sehingga saya tidak dapat menentukan cuplikan untuk direproduksi. nanti saya akan mengerjakan meminimalkan proyek saya untuk diuji oleh tim Anda.

Jika membantu saya melihat hal yang sama dengan driver windows nvidia di atas 431.68. Menggunakan 431.68 atau lebih rendah tampaknya baik-baik saja.

@roceh berjalan dengan torch.autograd.set_detect_anomaly(True) dan driver yang lebih baru mogok dan menghasilkan jejak tumpukan yang berguna?

Saya memiliki masalah yang sama menjalankan kode deteksi objek CenterNet. dengan ubuntu18 + 2080super + CUDA10. Ini berjalan dengan baik untuk beberapa zaman dan crash secara acak pada beberapa iterasi. Ada solusi...?

@TWDH, bisakah Anda mendapatkan stacktrace dari crash?

Hai @peterjc123 ,

Saya seorang pemula menggunakan pytorch & detectron2. Saya juga mengalami masalah ini tadi malam. Saya menggunakan dataset saya sendiri (dataset kecil, 180+ gambar kereta, 40+ gambar val), disiapkan dalam format MS COCO.

Saya menggunakan Docker, dan pengaturan wadah sama dengan file Docker di repo detectron2.
https://github.com/facebookresearch/detectron2/blob/master/docker/Dockerfile

Dan inilah konfigurasi PC saya:

  • CPU: Intel i7-7800X
  • Memori host: 64GB
  • GPU: NVIDIA GTX 1080 (8GB)

Terlampir adalah train.py yang saya gunakan untuk train detectron2.
train_py.zip

Tolong bantu. Terima kasih.

Hai @cclo-astri. Terima kasih telah melaporkan. Sebagian besar laporan lain di sini adalah untuk windows. Bisakah Anda mencoba melaporkan stacktrace dari kegagalan dengan menggunakan torch.autograd.set_detect_anomaly(True) dan menjalankan kembali kodenya? Ini juga akan membantu untuk mengetahui versi PyTorch, Python, dan Cuda mana yang Anda gunakan

Hai @mattip

Setelah saya ubah batch_size dan num_workers dataloader menjadi 1, sepertinya error sudah hilang (setidaknya training bisa berjalan hampir 5 jam, tapi PC tiba-tiba hang dan training tidak selesai). ETA waktu latihan juga berkurang, kenapa ?

  1. Sebelum:
    -- cfg.DATALOADER.NUM_WORKERS = 2
    -- cfg.SOLVER.IMS_PER_BATCH = 2
    -- ETA: 9,5 jam, max_mem: 5.8GBytes ( nvidia-smi menunjukkan 6.8GBytes)
    -- Gagal setelah 1,5 jam

  2. Setelah:
    -- cfg.DATALOADER.NUM_WORKERS = 1
    -- cfg.SOLVER.IMS_PER_BATCH = 1
    -- ETA: 5 jam, max_mem: 3.5GBytes ( nvidia-smi menunjukkan 4.5GBytes)

Dan inilah informasi detail dari lingkungan buruh pelabuhan saya:

  • PyTorch: 1,5+cu101
  • Torchvision: 0,6+cu101
  • CUDA + CUDNN: berasal dari gambar Docker: nvidia/ cuda:10.1-cudnn7-devel

    • CUDA: 10.1.243

    • CUDNN: 7.6.5.32

Untuk informasi versi lebih lanjut dari paket yang diinstal, silakan merujuk ke: https://hub.docker.com/layers/nvidia/cuda/10.1-cudnn7-devel/images/sha256-557de4ba2cb674029ffb602bed8f748d44d59bb7db9daa746ea72a102406d3ec?context=explore

Terima kasih.

Saya baru saja mendapatkan kesalahan ini hari ini setelah memperbarui driver NVIDIA saya ke 445.87 (saya belum memperbaruinya setidaknya selama satu tahun). Saya menggunakan GTX 1060 (6Gb), alat kompilasi Cuda, rilis 9.0, V9.0.176, pytorch 1.5.0+cu92, cudnn 7.3.0

LSTM saya berlatih dengan baik sebelumnya. Dengan set seed, selalu crash pada saat yang sama (di tengah epoch 52). Saya pertama kali mendapatkan kesalahan di bawah ini

r_out, (h_out, c_out) = self.rnn(x)

File "C:\Users\willi\Anaconda3\lib\site-packages\torch\nn\modules\module.py", baris 550, di __call__
hasil = self.forward( input, * kwargs)

File "C:\Users\willi\Anaconda3\lib\site-packages\torch\nn\modules\rnn.py", baris 570, di depan
self.dropout, self.training, self.bidirectional, self.batch_first)

RuntimeError: kesalahan cuDNN: CUDNN_STATUS_INTERNAL_ERROR

Tetapi kemudian ketika saya mencoba melatih lagi tanpa mematikan kernel, saya mendapatkan:

File "C:\Users\willi\Anaconda3\lib\site-packages\torchtext\data\iterator.py", baris 156, di __iter__
hasilkan Batch(minibatch, self.dataset, self.device)

File "C:\Users\willi\Anaconda3\lib\site-packages\torchtext\databatch.py", baris 34, di __init__
setattr(self, name, field.process(batch, device=device))

File "C:\Users\willi\Anaconda3\lib\site-packages\torchtext\data\field.py", baris 237, dalam proses
tensor = self.numericalize(empuk, perangkat=perangkat)

File "C:\Users\willi\Anaconda3\lib\site-packages\torchtext\data\field.py", baris 359, di numerik
var = torch.tensor(arr, dtype=self.dtype, device=device)

RuntimeError: Kesalahan CUDA: kegagalan peluncuran yang tidak ditentukan


Pembaruan: mencoba memutar kembali driver NVIDIA saya ke 442.59 dan kesalahan masih muncul pada zaman 60.

Masalah terkait ini menyebutkan perbaikan untuk masalah kami, yang secara konsisten berfungsi di mesin saya: https://github.com/pytorch/pytorch/issues/21819 . Khususnya komentar ini .


Sistem:

  • Pytorch: 1,5
  • Driver NVIDIA: 446.14
  • Versi CUDA: 10.2 dan 11.0
  • GPU: 1660
  • OS: Windows 10 (19041.264)

Saya mengalami masalah serupa, namun, deteksi anomali diaktifkan dalam kasus ini. Modelnya adalah revnet dua lapis (konvolusi) sederhana yang menggunakan vram kurang dari satu gigabyte. Sistem itu sendiri menggunakan antara 300 dan 800 MB.\
Kesalahan muncul dengan CUDA 10.2 dan 11.0, memberikan traceback yang sama di kedua proses.

Warning: Error detected in CudnnConvolutionBackward. Traceback of forward call that caused the error:
  File "C:\ProgramData\Anaconda3\lib\site-packages\torch\autograd\function.py", line 77, in apply
    return self._forward_cls.backward(self, *args)
  File "C:\ProgramData\Anaconda3\lib\site-packages\memcnn-1.3.2-py3.7.egg\memcnn\models\revop.py", line 83, in backward
    temp_output = ctx.fn(*detached_inputs)
  File "C:\ProgramData\Anaconda3\lib\site-packages\memcnn-1.3.2-py3.7.egg\memcnn\models\additive.py", line 65, in forward
    gmd = self.Gm.forward(y1)
  File "C:\Users\UserName\Documents\Project\pytorch\model.py", line 121, in forward
    sort = self.sort_conv(inp)
  File "C:\ProgramData\Anaconda3\lib\site-packages\torch\nn\modules\module.py", line 550, in __call__
    result = self.forward(*input, **kwargs)
  File "C:\ProgramData\Anaconda3\lib\site-packages\torch\nn\modules\conv.py", line 349, in forward
    return self._conv_forward(input, self.weight)
  File "C:\ProgramData\Anaconda3\lib\site-packages\torch\nn\modules\conv.py", line 346, in _conv_forward
    self.padding, self.dilation, self.groups)
 (print_stack at ..\torch\csrc\autograd\python_anomaly_mode.cpp:60)
Warning: Error detected in InvertibleCheckpointFunctionBackward. Traceback of forward call that caused the error:
  File ".\main.py", line 14, in <module>
    model.fit()
  File "C:\Users\UserName\Documents\Project\pytorch\main.py", line 129, in fit
    out = self.model(src)
  File "C:\ProgramData\Anaconda3\lib\site-packages\torch\nn\modules\module.py", line 550, in __call__
    result = self.forward(*input, **kwargs)
  File "C:\ProgramData\Anaconda3\lib\site-packages\torch\nn\modules\container.py", line 100, in forward
    input = module(input)
  File "C:\ProgramData\Anaconda3\lib\site-packages\torch\nn\modules\module.py", line 550, in __call__
    result = self.forward(*input, **kwargs)
  File "C:\ProgramData\Anaconda3\lib\site-packages\memcnn-1.3.2-py3.7.egg\memcnn\models\revop.py", line 183, in forward
    *(xin + tuple([p for p in self._fn.parameters() if p.requires_grad])))
 (print_stack at ..\torch\csrc\autograd\python_anomaly_mode.cpp:60)
Traceback (most recent call last):
  File ".\main.py", line 14, in <module>
    model.fit()
  File "C:\Users\UserName\Documents\Project\pytorch\main.py", line 131, in fit
    err.backward()
  File "C:\ProgramData\Anaconda3\lib\site-packages\torch\tensor.py", line 198, in backward
    torch.autograd.backward(self, gradient, retain_graph, create_graph)
  File "C:\ProgramData\Anaconda3\lib\site-packages\torch\autograd\__init__.py", line 100, in backward
    allow_unreachable=True)  # allow_unreachable flag
RuntimeError: CUDA error: an illegal memory access was encountered (operator () at C:/cb/pytorch_1000000000000/work/aten/src/ATen/native/cuda/CUDAScalar.cu:19)
(no backtrace available)

Namun, saat menggunakan chromium (tetapi tidak berani, chrome, firefox, dan bahkan game pada pengaturan ultra), itu tidak akan pernah menjalankan beberapa batch pertama dan malah langsung ke ini:

Warning: Error detected in CudnnConvolutionBackward. Traceback of forward call that caused the error:
  File ".\main.py", line 14, in <module>
    model.fit()
  File "C:\Users\UserName\Documents\Project\pytorch\main.py", line 129, in fit
    out = self.model(src)
  File "C:\ProgramData\Anaconda3\lib\site-packages\torch\nn\modules\module.py", line 550, in __call__
    result = self.forward(*input, **kwargs)
  File "C:\ProgramData\Anaconda3\lib\site-packages\torch\nn\modules\container.py", line 100, in forward
    input = module(input)
  File "C:\ProgramData\Anaconda3\lib\site-packages\torch\nn\modules\module.py", line 550, in __call__
    result = self.forward(*input, **kwargs)
  File "C:\Users\UserName\Documents\Project\pytorch\model.py", line 121, in forward
    sort = self.sort_conv(inp)
  File "C:\ProgramData\Anaconda3\lib\site-packages\torch\nn\modules\module.py", line 550, in __call__
    result = self.forward(*input, **kwargs)
  File "C:\ProgramData\Anaconda3\lib\site-packages\torch\nn\modules\conv.py", line 349, in forward
    return self._conv_forward(input, self.weight)
  File "C:\ProgramData\Anaconda3\lib\site-packages\torch\nn\modules\conv.py", line 346, in _conv_forward
    self.padding, self.dilation, self.groups)
 (print_stack at ..\torch\csrc\autograd\python_anomaly_mode.cpp:60)
Traceback (most recent call last):
  File ".\main.py", line 14, in <module>
    model.fit()
  File "C:\Users\UserName\Documents\Project\pytorch\main.py", line 131, in fit
    err.backward()
  File "C:\ProgramData\Anaconda3\lib\site-packages\torch\tensor.py", line 198, in backward
    torch.autograd.backward(self, gradient, retain_graph, create_graph)
  File "C:\ProgramData\Anaconda3\lib\site-packages\torch\autograd\__init__.py", line 100, in backward
    allow_unreachable=True)  # allow_unreachable flag
RuntimeError: CUDA error: unspecified launch failure (operator () at C:/cb/pytorch_1000000000000/work/aten/src/ATen/native/cuda/CUDAScalar.cu:19)
(no backtrace available)

Anehnya itu kemudian memperbaiki dirinya sendiri setelah menunggu selama enam jam, memungkinkannya memproses sekitar 20.000 batch dalam satu jam sambil mogok segera setelah menyelesaikan ini.

Saya telah mengkompilasi binari dengan info debug.
https://5833189-65600975-gh.circle-artifacts.com/0/w/final_pkgs/torch-1.6.0.dev20200613-cp36-cp36m-win_amd64.whl
https://5833191-65600975-gh.circle-artifacts.com/0/w/final_pkgs/torch-1.6.0.dev20200613-cp37-cp37m-win_amd64.whl
https://5833196-65600975-gh.circle-artifacts.com/0/w/final_pkgs/torch-1.6.0.dev20200613-cp38-cp38-win_amd64.whl
Anda dapat menginstalnya dan kemudian mendapatkan info lebih lanjut menggunakan cuda-memcheck .

:: PythonRoot in the line below refers to the directory of your Python installation
:: e.g. C:\Python37
set _NT_ALT_SYMBOL_PATH=[PythonRoot]\Lib\site-packages\torch\lib
cuda-memcheck python your-script.py

Dengan cuda-memcheck python bug.py , saya mendapatkan OOM. Zaman 0 tidak pernah berakhir. Tapi memori tumbuh.

Jadi saya menjalankan python bug.py . Saya melihat percepatan 2x: 10 detik per Zaman vs 20 detik di PyTorch 1.5. Tetapi:

epoch: 254
Traceback (most recent call last):
  File "bug.py", line 124, in <module>
    main()
  File "bug.py", line 104, in main
    loss.backward()
  File "C:\Anaconda3\envs\torch16\lib\site-packages\torch\tensor.py", line 184, in backward
    torch.autograd.backward(self, gradient, retain_graph, create_graph)
  File "C:\Anaconda3\envs\torch16\lib\site-packages\torch\autograd\__init__.py", line 125, in backward
    allow_unreachable=True)  # allow_unreachable flag
RuntimeError: cuDNN error: CUDNN_STATUS_INTERNAL_ERROR
Exception raised from _cudnn_rnn_backward_input at ..\aten\src\ATen\native\cudnn\RNN.cpp:923 (most recent call first):
00007FFD84CE087200007FFD84C85FAB c10.dll!caffe2::TypeMeta::_typeMetaDataInstance<unsigned char> [<unknown file> @ <unknown line number>]
00007FFC91A959B600007FFC8C1EC160 torch_cuda.dll!THCudaShortTensor_set4d [<unknown file> @ <unknown line number>]
00007FFC91AC19F000007FFC8C1EC160 torch_cuda.dll!THCudaShortTensor_set4d [<unknown file> @ <unknown line number>]
00007FFC91ABFAAF00007FFC8C1EC160 torch_cuda.dll!THCudaShortTensor_set4d [<unknown file> @ <unknown line number>]
00007FFC91B7C43800007FFC8C1EC160 torch_cuda.dll!THCudaShortTensor_set4d [<unknown file> @ <unknown line number>]
00007FFC91B8BD3D00007FFC8C1EC160 torch_cuda.dll!THCudaShortTensor_set4d [<unknown file> @ <unknown line number>]
00007FFD3CAABF3A00007FFD345D6D2D torch_cpu.dll!caffe2::ExternalDataProto::MaybeArenaPtr [<unknown file> @ <unknown line number>]
00007FFD3CAE625E00007FFD345D6D2D torch_cpu.dll!caffe2::ExternalDataProto::MaybeArenaPtr [<unknown file> @ <unknown line number>]
00007FFD3CAABD2200007FFD345D6D2D torch_cpu.dll!caffe2::ExternalDataProto::MaybeArenaPtr [<unknown file> @ <unknown line number>]
00007FFD3CB347E500007FFD345D6D2D torch_cpu.dll!caffe2::ExternalDataProto::MaybeArenaPtr [<unknown file> @ <unknown line number>]
00007FFD3FAC814D00007FFD345D6D2D torch_cpu.dll!caffe2::ExternalDataProto::MaybeArenaPtr [<unknown file> @ <unknown line number>]
00007FFD3FAD573D00007FFD345D6D2D torch_cpu.dll!caffe2::ExternalDataProto::MaybeArenaPtr [<unknown file> @ <unknown line number>]
00007FFD3CAABF3A00007FFD345D6D2D torch_cpu.dll!caffe2::ExternalDataProto::MaybeArenaPtr [<unknown file> @ <unknown line number>]
00007FFD3CAE625E00007FFD345D6D2D torch_cpu.dll!caffe2::ExternalDataProto::MaybeArenaPtr [<unknown file> @ <unknown line number>]
00007FFD3CAABD2200007FFD345D6D2D torch_cpu.dll!caffe2::ExternalDataProto::MaybeArenaPtr [<unknown file> @ <unknown line number>]
00007FFD3CB347E500007FFD345D6D2D torch_cpu.dll!caffe2::ExternalDataProto::MaybeArenaPtr [<unknown file> @ <unknown line number>]
00007FFD3F8D35D100007FFD345D6D2D torch_cpu.dll!caffe2::ExternalDataProto::MaybeArenaPtr [<unknown file> @ <unknown line number>]
00007FFD3F89F55900007FFD345D6D2D torch_cpu.dll!caffe2::ExternalDataProto::MaybeArenaPtr [<unknown file> @ <unknown line number>]
00007FFD40055CA900007FFD345D6D2D torch_cpu.dll!caffe2::ExternalDataProto::MaybeArenaPtr [<unknown file> @ <unknown line number>]
00007FFD4005764A00007FFD345D6D2D torch_cpu.dll!caffe2::ExternalDataProto::MaybeArenaPtr [<unknown file> @ <unknown line number>]
00007FFD4005EE1900007FFD345D6D2D torch_cpu.dll!caffe2::ExternalDataProto::MaybeArenaPtr [<unknown file> @ <unknown line number>]
00007FFD4005E94200007FFD345D6D2D torch_cpu.dll!caffe2::ExternalDataProto::MaybeArenaPtr [<unknown file> @ <unknown line number>]
00007FFD60C21C3B00007FFD608D6622 torch_python.dll!THPVariable_Wrap [<unknown file> @ <unknown line number>]
00007FFD40042F3400007FFD345D6D2D torch_cpu.dll!caffe2::ExternalDataProto::MaybeArenaPtr [<unknown file> @ <unknown line number>]
00007FFD8E62D9F200007FFD8E62D980 ucrtbase.dll!o_strncat_s [<unknown file> @ <unknown line number>]
00007FFD8F817BD400007FFD8F817BC0 KERNEL32.DLL!BaseThreadInitThunk [<unknown file> @ <unknown line number>]
00007FFD916ECEE100007FFD916ECEC0 ntdll.dll!RtlUserThreadStart [<unknown file> @ <unknown line number>]

bug.zip

Saya mendapatkan banyak kesalahan acak, seperti ini.
Dalam kasus saya, saya memperbaiki bug ini dengan membuat 2 hal
1 Saya mengganti raiser dari kartu saya (1060 6gb terhubung ke slot PCI-E 8x oleh raiser)
2 Ubah slot PCI-E ke 16X.

Semua kesalahan hilang. Saya pikir masalah saya spesifik, dan tidak sepenuhnya terkait dengan topik ini, tetapi saya pikir tindakan ini dapat membantu seseorang

Saat menggunakan LSTM dan cuda, saya melihat kesalahan yang sama ketika saya menggunakan seluruh dataset saya.
Tetapi bantuan Anda membantu saya, saya menggunakan: torch.autograd.set_detect_anomaly(True) dan saya dapat menggunakan dataset lengkap ketika saya menetapkan pernyataan di atas. Terima kasih.

Kami juga melatih LSTM dan mengalami masalah serupa. Kami telah mencoba berbagai konfigurasi lingkungan:

(Catatan windows memiliki pembaruan terbaru yang diterapkan)
1) Windows 10, driver Nvidia CUDA 10.1, Pytorch 1.5 CUDA 10.1
2) Windows 10, driver Nvidia CUDA 10.2, Pytorch 1.5 CUDA 10.2
3) Windows 10, driver Nvidia CUDA 11, Pytorch 1.5 CUDA 10.2
dan semua hal di atas dengan Pytorch 1.5.1.

4) Ubuntu Linux 20.04, driver Nvidia CUDA 10.1, Pytorch 1.5 CUDA 10.1
5) Ubuntu Linux 20.04, driver Nvidia CUDA 10.2, Pytorch 1.5 CUDA 10.2

Pelatihan selalu gagal pada waktu acak dengan kegagalan peluncuran yang tidak ditentukan, atau kesalahan yang tidak diketahui.

Mengalami masalah yang sama (menguangkan secara acak selama pelatihan) kemarin dengan jaringan LSTM pada NVIDIA GTX 1070 dan Windows 10.

Memecahkan masalah dengan memperbarui driver ke 451.48. Sayangnya saya tidak tahu driver yang saya miliki ketika saya mengalami kecelakaan.

Mengalami masalah yang sama (menguangkan secara acak selama pelatihan) kemarin dengan jaringan LSTM pada NVIDIA GTX 1070 dan Windows 10.

Memecahkan masalah dengan memperbarui driver ke 451.48. Sayangnya saya tidak tahu driver yang saya miliki ketika saya mengalami kecelakaan.

Saya memiliki masalah yang sama, tetapi saya pikir saya memilikinya sejak saya memperbarui ke 451,48.

EDIT: Saya mencoba driver April (445,87) dan Mei (446,14), tetapi berakhir dengan hasil yang sama. Saya tidak berpikir driver adalah masalah bagi saya.

Tidak yakin siapa yang harus dihubungi tetapi saya cukup yakin saya dapat membuat ulang masalah ini.

Pada dasarnya jika saya memilih metode keluaran (ketika token=1 atau 2) itu menimbulkan kesalahan ini, namun ini tidak terjadi dengan metode concat (ketika token=3)

Pengoptimal: AdamW
Kriteria: CrossEntropyLoss()

Akhirnya kesalahan tampaknya muncul dalam fungsi evaluasi saya di baris ini
total_acc += pred.eq(label.view_as(pred)).sum().item()

Tolong beritahu saya jika Anda butuh sesuatu yang lain.

Kode arsitektur RNN:
`
kelas L_Rec_RNN(nn.Module):
def __init__(self, input_size, hidden_size, num_classes, hu, n_layers=1, token=3, use_cuda=False):
super(L_Rec_RNN, mandiri).__init__()
self.name = "Bahasa RNN"
self.hu_1 = hu
self.classes = num_classes
self.hidden_size = hidden_size
self.layers = n_layers
self.token = token
self.use_cuda = gunakan_cuda
diri.dr = 0,3

    # condition to multiply the input to the first FC depending on the token method that is used to feed it
    if token < 3:
        mult = 1
    else:
        mult = 2

    # [batch_size, 201, 552]
    self.rnn = nn.GRU(input_size, hidden_size, self.layers, batch_first=True)

    self.lin = nn.Sequential(
        nn.Linear(mult * self.hidden_size, self.hu_1)
        , nn.ReLU()
        , nn.Dropout(self.dr)
        , nn.Linear(self.hu_1, self.classes)

    )

def forward(self, x):
    # pre prep
    x = x.squeeze(1)  # for 1d convolutions
    hs = torch.zeros(self.layers, x.size(0), self.hidden_size)

    if self.use_cuda and torch.cuda.is_available():
        hs = hs.cuda()

    # calling the RNN
    x, _ = self.rnn(x, hs)

    # various methods for choosing the output hidden layer
    # Method 1
    if self.token == 1:
        x = x[:, -1, :]

    # Method 2
    elif self.token == 2:
        x = torch.max(x, dim=1)[0]

    # Method 3
    else:
        x = torch.cat([torch.max(x, dim=1)[0], torch.mean(x, dim=1)], dim=1)

    # calling the FC layers
    x = self.lin(x)

    return x`

Evaluasi Kode Fungsi:
`
def evaluasi(model, data, kriteria=nn.CrossEntropyLoss(), get_loss=False, use_cuda=False):

total_loss = 0.0
total_acc = 0.0
total_epoch = 0
counter = 0

for spec, label in data:
    if use_cuda and torch.cuda.is_available():
        spec = spec.cuda()
        label = label.cuda()

    out = model(spec)
    loss = criterion(out, label)

    pred = out.max(1, keepdim=True)[1]

    total_acc += pred.eq(label.view_as(pred)).sum().item()
    total_loss += loss.item()
    total_epoch += len(label)
    counter += 1

acc = float(total_acc) / total_epoch
loss = float(total_loss) / counter

if get_loss:
    return acc, loss
else:
    return acc`

Saya tidak tahu apakah ini membantu, tetapi saya mendapatkan kesalahan itu saat beralih dari sampel 200^3 ke sampel 256^3. Meskipun saya memiliki banyak memori untuk menyimpannya. Program error saat menghitung salah satu metrik pribadi saya.

Saya menggunakan pytorch 1.5 dengan CUDA 9.2

Saya telah berjuang dengan masalah ini untuk beberapa waktu sekarang, tetapi saya tidak dapat menyelesaikannya. Namun, ada beberapa hal yang saya perhatikan tentang masalah tersebut.
1> Itu hanya terjadi ketika diimplementasikan pada GPU. Tidak ada masalah dengan kode yang sama ketika semua operasi dilakukan pada CPU.
2> Masalahnya adalah spesifik mesin. Ini berjalan dengan sempurna di beberapa mesin lain (bahkan di GPU) tetapi macet di mesin saya. Ini menunjukkan bahwa kodenya baik-baik saja, dan masalahnya terletak pada mesin/perangkat lunak/kecocokan-ketidakcocokan.
3> Kebanyakan orang sepertinya menyebutkan bahwa masalah terjadi ketika melakukan klasifikasi biner dengan LSTM. Ini adalah kasus saya juga.

Omong-omong, saya menginstal ulang driver Windows, Anaconda, Pytorch, GPU saya, semuanya kecuali masalahnya tetap ada. Namun, kode yang sama berfungsi dengan baik di mesin kolaborator saya. saya menggunakan
Python 3.7
Konda 4.8.3
Pytorch 1.5.1
Torchvision 0.6.1
CUDA 10.2.89
NVIDIA 451.67

Ini adalah masalah serius, dan saya meminta peneliti Pytorch yang lebih serius untuk menyelidikinya. Saya melampirkan kode saya untuk dilihat orang lain.

LSTM Github.zip

Masalah yang sama. Menggunakan Pytorch 1.5.1 dan GTX 1050 Ti

Kesalahan yang sama dalam terjemahan mesin saraf (NMT) dengan OpenNMT-py menggunakan pytorch 1.5.1 dan cuda 10.2 .
Saya pikir ini adalah kesalahan dengan sel LSTM.
Sekarang, saya bekerja dengan transformer, dan saya akan melaporkan hasilnya.

Masalah yang sama. Menggunakan Pytorch 1.2.0 dan GTX 2060s cuda 10.0

Masalah yang sama dengan pytorch 1.3.1 pada Quadro RTX 8000, dan serupa dengan yang lain melatih model dengan lapisan LSTM. Juga, mencoba dengan benih yang berbeda terkadang akan macet dengan "kesalahan cuDNN: CUDNN_STATUS_INTERNAL_ERROR".

Saya mencoba memperbaiki dengan set_detect_anomaly(True) dan prosesnya baru saja macet pada zaman yang sama di mana sebelumnya macet dan sepertinya macet di beberapa loop backend - cuda menunjukkan pemanfaatan 100% dengan penurunan sesekali hingga ~55%.

Pada akhirnya sepertinya saya akhirnya berhasil mengatasi masalah ini sepenuhnya dengan menonaktifkan cudnn dengan " torch.backends.cudnn.enabled = False ", tapi saya kira ini dapat menyebabkan kinerja yang kurang optimal dan kemungkinan masalah lainnya?

@ngimel,
dari JoshuaSv2 dan komentar hendrycks, sepertinya bukan masalah khusus windows.
https://github.com/pytorch/pytorch/issues/39872 adalah masalah serupa.

Kesalahan yang sama dalam terjemahan mesin saraf (NMT) dengan OpenNMT-py menggunakan pytorch 1.5.1 dan cuda 10.2 .
Saya pikir ini adalah kesalahan dengan sel LSTM.
Sekarang, saya bekerja dengan transformer, dan saya akan melaporkan hasilnya.

Ya, kesalahan ini tidak terjadi pada model transformator. Ini hanya kesalahan terkait LSTM.

saya memiliki masalah yang sama dengan pytorch 1.6.0
GTX 1060 di windows 10

Traceback (most recent call last):
  File "train.py", line 126, in <module>
    print(' Loss = %s' % epoch_train(
  File "C:\Users\mehrd\Jupyter\SQLNet-master\sqlnet\utils.py", line 148, in epoch_train
    score = model.forward(q_seq, col_seq, col_num, pred_entry,
  File "C:\Users\mehrd\Jupyter\SQLNet-master\sqlnet\model\seq2sql.py", line 123, in forward
    x_emb_var, x_len = self.embed_layer.gen_x_batch(q, col)
  File "C:\Users\mehrd\Jupyter\SQLNet-master\sqlnet\model\modules\word_embedding.py", line 76, in gen_x_batch
    val_inp = val_inp.cuda()
RuntimeError: CUDA error: unspecified launch failure

Saya menghadapi masalah yang sama dengan model LSTM, tetapi setelah mengatur variabel lingkungan CUDA_LAUNCH_BLOCKING=1 sebelum menjalankan skrip, saya tidak lagi mendapatkan kesalahan. Ini disarankan dalam posting ini hanya untuk tujuan debugging, tetapi seperti jawabannya di sana, kode saya juga berjalan dengan baik.

Tahu mengapa hal ini terjadi?

Bekerja dengan pytorch 1.5.0 dan CUDA 10.1 di Windows 10.

Halo, saya baru-baru ini menghadapi dan memecahkan masalah ini di mesin Windows saya.
Dalam kasus saya, masalah ini dipanggil oleh Windows Timeout Detection and Recovery (TDR), yang mematikan kernel CUDA yang gagal merespons tepat waktu.

Perbaikannya adalah sebagai berikut:

  1. Jalankan "Registry Editor" sebagai Administrator, arahkan ke KeyPath : HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers
  2. Ubah KeyValue : TdrDelay ke nilai yang lebih tinggi. Defaultnya adalah 2 atau 8 detik, dan dalam kasus saya, menyetelnya ke 64 detik berhasil.
  3. Menyalakan ulang.

Ini harus melakukan trik pada Windows 10. Semoga ini bisa membantu.

PS. pengaturan CUDA_LAUNCH_BLOCKING=1 juga memecahkan masalah tetapi datang dengan penalti kinerja yang berat.

@YinPing-Cho Bagi saya, ini membuatnya lebih baik, tetapi masih belum sepenuhnya menyelesaikan masalah. Saya akhirnya mengaturnya menjadi 10.000 detik.

Sekedar informasi, saya juga terus gagal dengan RuntimeError: CUDA error: unspecified launch failure ketika saya dilatih model deteksi peristiwa suara di P100 di google colab. Untuk kasus saya, solusinya hanyalah mengubah num_workers di dataloader dari 2 menjadi 0. Saya tidak tahu bagaimana kesalahan ini terkait dengan num_workers dan sangat sulit untuk di-debug.

Sekedar informasi, saya juga terus gagal dengan RuntimeError: CUDA error: unspecified launch failure ketika saya dilatih model deteksi peristiwa suara di P100 di google colab. Untuk kasus saya, solusinya hanyalah mengubah num_workers di dataloader dari 2 menjadi 0. Saya tidak tahu bagaimana kesalahan ini terkait dengan num_workers dan sangat sulit untuk di-debug.

Ini juga membantu saya, tetapi tidak sepenuhnya menyelesaikan masalah. Dikombinasikan dengan perbaikan @YinPing-Cho, saya dapat melatih model AWD-LSTM sepenuhnya pada percobaan kedua beberapa waktu lalu. Dalam pengalaman saya, ini hanya membuat masalah lebih jarang terjadi.

Sekedar informasi, saya juga terus gagal dengan RuntimeError: CUDA error: unspecified launch failure ketika saya dilatih model deteksi peristiwa suara di P100 di google colab. Untuk kasus saya, solusinya hanyalah mengubah num_workers di dataloader dari 2 menjadi 0. Saya tidak tahu bagaimana kesalahan ini terkait dengan num_workers dan sangat sulit untuk di-debug.

Ini sebenarnya mengurangi kesalahan di lingkungan saya, windows 10, CUDA 10.0, pytorch1.4. Saya tidak tahu mengapa, tetapi salah satu alasannya mungkin karena membuat num_worker 0 menginisialisasi beberapa pengaturan internal setiap iterasi. Beberapa peringatan (dalam kasus saya, peringatan nn.Softmax yang tidak digunakan lagi) muncul setiap iterasi ketika saya membuat num_workers 0.

Omong-omong, sebelum perubahan ini, runtimeError: cuDNN error: CUDNN_STATUS_EXECUTION_FAILED selain RuntimeError: CUDA error: unspecified launch failure menghentikan program saya secara acak setelah beberapa iterasi.

Setelah 30000 iterasi, kesalahan akhirnya terjadi ...
Ini mengurangi kesalahan tetapi bukan solusi untuk saya

Pengecualian telah terjadi: RuntimeError
kesalahan cuDNN: CUDNN_STATUS_MAPPING_ERROR (getCudnnHandle di ..aten\src\ATen\cudnn\Handle.cpp:45)
(tidak tersedia backtrace)

cudnn = 7.6.5
cudatoolkit = 10.2.89
pytorch = 1.5.1

Pengecualian telah terjadi: RuntimeError
Kesalahan CUDA: CUBLAS_STATUS_EXECUTION_FAILED saat memanggil cublasSgemm( handle, opa, opb, m, n, k, &alpha, a, lda, b, ldb, &beta, c, ldc) (permata di ..aten\src\ATen\cuda\CUDABlas.cpp:165)
(tidak tersedia backtrace)

Kesalahan yang sama pada windows, melatih LSTM pada GTX 2080 TI. Terjadi dengan Pytorch 1.5 dan 1.6.
Sangat menjengkelkan karena tampaknya acak, dan pelatihan benar-benar rusak ketika itu terjadi.

Beralih dari 1,6 ke 1,5 dan menurunkan driver Nvidia saya ke 431,86 memperbaiki kesalahan untuk saya.

Kesalahan yang sama saat melatih LSTM dengan ukuran batch besar di windows, saya mendapatkan crash acak setelah 1 hingga 20 zaman. Menyetel torch.backends.cudnn.enabled = False memperbaiki masalah.

Pytorch 1.5.1
Cuda 10.2.89
CuDNN 7.6.5
GTX 1070 - MSI Gaming X - Driver 445.75
Windows 10 Pro 1909 membangun 18363.1016

@ lucas-emery, apakah Anda mencoba memperluas tampilan TDR atau menonaktifkan TDR sebagai https://developer.download.nvidia.com/NsightVisualStudio/2.2/Documentation/UserGuide/HTML/Content/Timeout_Detection_Recovery.htm

@mszhanyi saya mencoba memperpanjang TDR menjadi 60 detik. Saya dapat menjalankan sesi pelatihan 13 jam setelah mengatur TDR dan me-restart pc saya, tetapi waktu backprop juga lebih cepat (turun dari 1 menit menjadi 10/15 detik), saya kira itu hanya kebetulan dan memilih yang berbeda algoritma.
Setelah itu saya menghentikan pelatihan untuk memperbarui fungsi dan ketika saya mencoba untuk melanjutkan saya tidak bisa melewati 20 epoch tanpa crash, kadang-kadang "memori ilegal" dan kadang-kadang "kegagalan peluncuran" waktu backprop kembali ke 1 menit. Saya mengembalikan perubahan saya dan mencoba melatih model baru dari awal tetapi macet antara 1 dan 20 zaman dengan kesalahan yang sama. Setelah mengatur torch.backends.cudnn.enabled = False tanpa perubahan kode dan tanpa reboot, itu berhenti mogok dan waktu backprop turun menjadi 20 detik. Sesi latihan itu berlangsung selama 12 jam tanpa kesalahan.
Saya melakukan dua sesi 4 jam lagi tanpa masalah hari ini.

@lucas-emery , dapatkah Anda memberikan skrip yang disederhanakan agar saya dapat mereproduksinya?

@mszhanyi Saya khawatir itu tidak akan mungkin, ini adalah model yang sangat kompleks pada tugas pembelajaran penguatan. Saya akan memberi tahu Anda jika saya menemukan hal lain. Saya akan mencoba untuk mendapatkan sesuatu yang dapat direproduksi setelah saya selesai.
Kesalahan mulai muncul setelah saya menambah ukuran batch saya menjadi 1k dengan panjang buka gulungan 32.

Saya mendapatkan masalah ini pada RTX 3080 saya, dan saya bahkan tidak dapat menurunkan versi PyTorch karena versi yang lebih lama tidak mendukung RTX 3000.

Kedua perbaikan ini berhasil untuk saya, tetapi keduanya memiliki penalti kinerja:

  • os.environ['CUDA_LAUNCH_BLOCKING'] = '1'
  • torch.backends.cudnn.enabled = False

Masalah yang sama pada 3090+Windows10+CUDA11+PyTorch(Stable&Nightly)

Perbaikan ini juga berhasil untuk saya.

  • $env:CUDA_LAUNCH_BLOCKING=1 meningkatkan waktu pelatihan sebesar 500%.
  • torch.backends.cudnn.enabled = False meningkatkan waktu pelatihan sebesar 20%.

Kami menghadapi masalah yang sama. Mencoba di Ubuntu 18.04, Nvidia K80, M60, V100, semua dengan versi pytorch yang sama 1.6.0 , cuda 11 .

Menerapkan perbaikan di bawah ini juga tidak membantu .... :(
```
os.environ['CUDA_LAUNCH_BLOCKING'] = '1'
torch.backends.cudnn.enabled = Salah
````

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

szagoruyko picture szagoruyko  ·  3Komentar

bartvm picture bartvm  ·  3Komentar

a1363901216 picture a1363901216  ·  3Komentar

dablyo picture dablyo  ·  3Komentar

rajarshd picture rajarshd  ·  3Komentar