【错误】:我使用SSD训练图片分类器,参数大概有几百万个并不是很多,然而报错OOM ResourceExhaustedError
【原因】:
(1)batchsize太大,这种只需要将batchsize减小就行了
(2)GPU的显存太小,或者剩余的显存太少了
【解决方法】:
(1)查看GPU显存大小,再计算自己模型和参数量占用显存的大小,如果大于或者接近等于显存容量,换显卡或者减小模型,如果远远小于,打开任务管理器,查看其他程序是否占用了显存
(不会计算模型和参数量的可以参考以下两个博客:https://www.cnblogs.com/walter-xh/p/10609868.html
https://www.jianshu.com/p/b8d48c99a47c)
(2)还有一种情况是:batchsize太大,这种只需要将batchsize减小就行了,如果减为1,还是报错,参考第一条
【总结】:这种错误归根原因是模型太大导致显存不够,减小batchsize相当于减小每次投入显存的训练数据,但batchsize太小会加长训练时间,而且容易陷入局部解。有条件的话还是更换硬件,或者尝试优化减小模型