Почему pytorch (CUDA) не может выделить 290 МБ, когда 5 ГБ свободной памяти - PullRequest
1 голос
/ 31 марта 2020

Решение: я решил эту проблему, удалив драйвер Nvidia GPU, а затем переустановив его. Запуск установщика драйвера без его удаления не работает.

——————————————————————-

Исходная проблема:

Я получил эту ошибку, когда Я тренирую большую модель CNN.

    Traceback (most recent call last):
  File "C:\Users\dkdk\miniconda3\envs\transfer\lib\site-packages\torch\nn\modules\module.py", line 532, in __call__
    result = self.forward(*input, **kwargs)
  File "C:\Users\dkdk\miniconda3\envs\transfer\lib\site-packages\torch\nn\modules\batchnorm.py", line 107, in forward
    exponential_average_factor, self.eps)
  File "C:\Users\dkdk\miniconda3\envs\transfer\lib\site-packages\torch\nn\functional.py", line 1670, in batch_norm
    training, momentum, eps, torch.backends.cudnn.enabled
RuntimeError: CUDA out of memory. Tried to allocate 290.00 MiB (GPU 0; 8.00 GiB total capacity; 673.67 MiB already allocated; 5.27 GiB free; 686.00 MiB reserved in total by PyTorch)

Как видно из сообщения об ошибке, в моем GPU свободно 5,27 ГБ памяти, но pytorch резервирует только 686 МБ. Раньше было зарезервировано более 5 ГБ памяти. Я попробовал другой проект, работающий с Keras, Keras отлично запускает проект и выделил 5 ГБ памяти.

Я использую GeForce RTX2080, Pytorch 1.4, CUDA Toolkit v10.1 на Windows

Я подумал, что это может быть проблема с драйвером. Я переустановил драйвер Nvidia, который ничего не исправляет. Я также попытался перейти на инструментарий v9.2 и не работает. Поэтому мне интересно, что могло бы вызвать это, и как мне это исправить?

Вывод из запуска nvidia-smi, когда процесс не запущен:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 442.19       Driver Version: 442.19       CUDA Version: 10.2     |
|-------------------------------+----------------------+----------------------+
| 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 2080   WDDM  | 00000000:02:00.0  On |                  N/A |
| 32%   29C    P8     1W / 225W |    911MiB /  8192MiB |      1%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0       908    C+G   C:\Windows\System32\MicrosoftEdgeCP.exe    N/A      |
|    0      6524    C+G   ...5n1h2txyewy\StartMenuExperienceHost.exe N/A      |
|    0     13760    C+G   ...DIA GeForce Experience\NVIDIA Share.exe N/A      |
|    0     14892    C+G   C:\Windows\System32\MicrosoftEdgeCP.exe    N/A      |
|    0     16452    C+G   C:\Windows\System32\MicrosoftEdgeCP.exe    N/A      |
|    0     24656    C+G   C:\Program Files\NZXT CAM\NZXT CAM.exe     N/A      |
|    0     26168    C+G   ...t_cw5n1h2txyewy\ShellExperienceHost.exe N/A      |
|    0     31108    C+G   ...AppData\Local\slack\app-4.4.0\slack.exe N/A      |
|    0     36420    C+G   C:\Windows\System32\MicrosoftEdgeCP.exe    N/A      |
|    0     37340    C+G   ...oftEdge_8wekyb3d8bbwe\MicrosoftEdge.exe N/A      |
|    0     37428    C+G   ...dows.Cortana_cw5n1h2txyewy\SearchUI.exe N/A      |
|    0     37440    C+G   ...osoft.LockApp_cw5n1h2txyewy\LockApp.exe N/A      |
|    0     37588    C+G   C:\Windows\System32\MicrosoftEdgeCP.exe    N/A      |
|    0     38396    C+G   Insufficient Permissions                   N/A      |
|    0     40804    C+G   ...hell.Experiences.TextInput.InputApp.exe N/A      |
|    0     41584    C+G   ...6)\Google\Chrome\Application\chrome.exe N/A      |
|    0     44740    C+G   C:\Windows\explorer.exe                    N/A      |
+-----------------------------------------------------------------------------+

Вывод из запуска nvidia-smi, когда процесс запущен:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 442.19       Driver Version: 442.19       CUDA Version: 10.2     |
|-------------------------------+----------------------+----------------------+
| 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 2080   WDDM  | 00000000:02:00.0  On |                  N/A |
| 32%   31C    P8     1W / 225W |   1291MiB /  8192MiB |      1%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0       908    C+G   C:\Windows\System32\MicrosoftEdgeCP.exe    N/A      |
|    0      6524    C+G   ...5n1h2txyewy\StartMenuExperienceHost.exe N/A      |
|    0     13284      C   ...miniconda3\envs\transfer\python.exe     N/A      |
|    0     13760    C+G   ...DIA GeForce Experience\NVIDIA Share.exe N/A      |
|    0     14892    C+G   C:\Windows\System32\MicrosoftEdgeCP.exe    N/A      |
|    0     16452    C+G   C:\Windows\System32\MicrosoftEdgeCP.exe    N/A      |
|    0     24656    C+G   C:\Program Files\NZXT CAM\NZXT CAM.exe     N/A      |
|    0     26168    C+G   ...t_cw5n1h2txyewy\ShellExperienceHost.exe N/A      |
|    0     31108    C+G   ...AppData\Local\slack\app-4.4.0\slack.exe N/A      |
|    0     36420    C+G   C:\Windows\System32\MicrosoftEdgeCP.exe    N/A      |
|    0     37340    C+G   ...oftEdge_8wekyb3d8bbwe\MicrosoftEdge.exe N/A      |
|    0     37428    C+G   ...dows.Cortana_cw5n1h2txyewy\SearchUI.exe N/A      |
|    0     37440    C+G   ...osoft.LockApp_cw5n1h2txyewy\LockApp.exe N/A      |
|    0     37588    C+G   C:\Windows\System32\MicrosoftEdgeCP.exe    N/A      |
|    0     38396    C+G   Insufficient Permissions                   N/A      |
|    0     40804    C+G   ...hell.Experiences.TextInput.InputApp.exe N/A      |
|    0     41584    C+G   ...6)\Google\Chrome\Application\chrome.exe N/A      |
|    0     44740    C+G   C:\Windows\explorer.exe                    N/A      |
+-----------------------------------------------------------------------------+

Помимо вышеприведенной ошибки, иногда ошибка становится "CUDNN_STATUS_INTERNAL_ERROR":

Traceback (most recent call last):
  File "E:/research/docs/transfer/train.py", line 32, in <module>
    lrn.train()
  File "E:\research\docs\transfer\main.py", line 592, in train
    outputs = self.model(train_inputs.float())
  File "C:\Users\dkdk\miniconda3\envs\transfer\lib\site-packages\torch\nn\modules\module.py", line 532, in __call__
    result = self.forward(*input, **kwargs)
  File "E:\research\docs\transfer\builder.py", line 679, in forward
    x = self.bn_list[i](F.relu(self.conv_list[i](x)))
  File "C:\Users\dkdk\miniconda3\envs\histotransfer\lib\site-packages\torch\nn\modules\module.py", line 532, in __call__
    result = self.forward(*input, **kwargs)
  File "C:\Users\dkdk\miniconda3\envs\histotransfer\lib\site-packages\torch\nn\modules\conv.py", line 345, in forward
    return self.conv2d_forward(input, self.weight)
  File "C:\Users\dkdk\miniconda3\envs\histotransfer\lib\site-packages\torch\nn\modules\conv.py", line 342, in conv2d_forward
    self.padding, self.dilation, self.groups)
RuntimeError: cuDNN error: CUDNN_STATUS_INTERNAL_ERROR
...