Deep learning 为什么Pytork(CUDA)不能';当有5GB的可用内存时,不能分配290MB 解决方案:我卸载了英伟达GPU驱动程序,然后重新安装。在不卸载的情况下运行驱动程序安装程序无法工作
----------------------- 最初的问题是: 我在训练一个大型CNN模型时犯了这个错误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
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