Deep learning 为什么Pytork(CUDA)不能';当有5GB的可用内存时,不能分配290MB 解决方案:我卸载了英伟达GPU驱动程序,然后重新安装。在不卸载的情况下运行驱动程序安装程序无法工作

Deep learning 为什么Pytork(CUDA)不能';当有5GB的可用内存时,不能分配290MB 解决方案:我卸载了英伟达GPU驱动程序,然后重新安装。在不卸载的情况下运行驱动程序安装程序无法工作,deep-learning,pytorch,gpu,Deep Learning,Pytorch,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

-----------------------

最初的问题是:

我在训练一个大型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.27GB的可用内存,但pytorch仅保留686MB。它以前保留了超过5GB的内存。我尝试了另一个用Keras运行的项目,Keras运行得很好,并分配了5GB内存

我在Windows上使用GeForce RTX2080、Pytorch 1.4、CUDA Toolkit v10.1

我想这可能是司机的问题。我重新安装了英伟达驱动程序,它没有修复任何东西。我还尝试降级到toolkit 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\u状态\u内部错误”:

回溯(最近一次呼叫最后一次):
文件“E:/research/docs/transfer/train.py”,第32行,在
轻轨列车()
文件“E:\research\docs\transfer\main.py”,第592行,在列车中
输出=self.model(train_inputs.float())
文件“C:\Users\dkdk\miniconda3\envs\transfer\lib\site packages\torch\nn\modules\module.py”,第532行,在调用中__
结果=自我转发(*输入,**kwargs)
文件“E:\research\docs\transfer\builder.py”,第679行,前进
x=self.bn_列表[i](F.relu(self.conv_列表[i](x)))
文件“C:\Users\dkdk\miniconda3\envs\histortransfer\lib\site packages\torch\nn\modules\module.py”,第532行,在调用中__
结果=自我转发(*输入,**kwargs)
文件“C:\Users\dkdk\miniconda3\envs\histortransfer\lib\site packages\torch\nn\modules\conv.py”,第345行,前进
返回self.conv2d_向前(输入、自重)
文件“C:\Users\dkdk\miniconda3\envs\histortransfer\lib\site packages\torch\nn\modules\conv.py”,第342行,在conv2d\u forward中
自填充、自膨胀、自组)
运行时错误:cuDNN错误:cuDNN\u状态\u内部错误

Hi。可能是错误消息出了问题。您是否尝试过从终端运行
nvidia smi
?我想看看它的输出(我假设你正在使用ubuntu)嗨,谢谢你的回复。我将我的nvidia smi输出添加到问题中,另一个更新是:我重新启动了计算机。Keras现在似乎正在工作并分配了5GB内存,但pytorch仍然没有正确分配内存。同样的错误也发生了,当我继续重新启动训练过程时,它分配的内存越来越少(从原来的3GB到现在的106MB),代码中可能还有其他错误。因此,发布代码可能会有所帮助。另外,试着减少批量大小,看看它是否有效。我认为这是因为在处理时,它使用了比可用的更多的数据。当它已满并尝试执行新操作时,会失败。处理时应检查nvidia smi。你的意见是什么?图像?你的批量大小是多少???@ShalonIsaac我的输入是图像,我的批量大小是32--我尝试将其减少到8,但仍然不起作用。我在问题中加入了我的nvidia smi。我认为这并没有占用全部内存,因为现在程序甚至无法将图像加载到数据集中。几个小时前,它仍然可以运行几个批次。您好。可能是错误消息出了问题。您是否尝试过从终端运行
nvidia smi
?我想看看它的输出(我假设你正在使用ubuntu)嗨,谢谢你的回复。我将我的nvidia smi输出添加到问题中,另一个更新是:我重新启动了计算机。Keras现在似乎正在工作并分配了5GB内存,但pytorch仍然没有正确分配内存。同样的错误也发生了,当我继续重新启动训练过程时,它分配的内存越来越少(从原来的3GB到现在的106MB),代码中可能还有其他错误。因此,发布代码可能会有所帮助。另外,试着减少批量大小,看看它是否有效。我认为这是因为在处理时,它使用了比可用的更多的数据。当它已满并尝试执行新操作时,会失败。处理时应检查nvidia smi。你的意见是什么?图像?你的批量大小是多少???@ShalonIsaac我的输入是图像,我的批量大小是32--我尝试将其减少到8,但仍然不起作用。我在问题中加入了我的nvidia smi。我认为这并没有占用全部内存,因为现在程序甚至无法将图像加载到数据集中。几个小时前,它仍然可以运行几个批次。
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