关于错误:OOM ResourceExhaustedError 的完美解决方法

遇到的问题:

我使用MobileNet训练图片分类器,参数大概有几百万个并不是很多,然而报错OOM ResourceExhaustedError

分析:

这样的话可能有两个原因:

(1)batchsize太大,这种只需要将batchsize减小就行了

(2)GPU的显存太小,或者剩余的显存太少了

解决:

因为我将batchsize减少到1还是会出现这种错误,所以肯定不是batchsize太大的问题。

于是我用命令nvidia-smi查看了我的GPU使用情况,如下:

关于错误:OOM ResourceExhaustedError 的完美解决方法_第1张图片

有个很奇怪的问题,没有进程在跑,但是显存占用Memory-Usage几乎被用完了。想通过kill掉进程也没进程可以kill.用命令fuser -v /dev/nvidia*找运行的进程,也没找到任何进程。

后来进过别人提醒才发现,是jupyter上许多之前的程序没有shutdown掉,一直在占用内存,打开jupyter,如下:

关于错误:OOM ResourceExhaustedError 的完美解决方法_第2张图片

这是我已经shutdown之后的情况,但位置是一样的,将不用的程序shutdown就好了。

至此,问题完美解决。

你可能感兴趣的:(关于错误:OOM ResourceExhaustedError 的完美解决方法)