前提:
用144*128 的数据训练mobileNet原始模型。训练的时候超参数的不同,出现的几个错误。
设备:
GTX 1080 8G显存。
错误出现情况:
1.out of memory
超参数设置:
batch_size=256 gpu=0,1
或者
batch_size=128 gpu=0,1
2.Failed to find any forward convolution algorithm
参数设置:
batch_size=256 gpu=0
原因查找:
网上百度了一下,发现并没有相应的解释,如果要追求根本的话应该看一下源代码,那就是cudnn_convolution-inl.h文件和内存管理文件了,有点长了,等有时间再仔细读一下。
问题定位排查:
猜想是显存不足,因为发现不同的超参数,错误不一样,或者没有问题了。所以应该是显存不足,在设置batch_size=128 gpu=0,1的时候也看了一下显卡的运行情况,果然是11G/16G的占用,所以反推应该是显存不够。
解决办法:
1.减少batch_size。
2.增加gpu数量。
3.缩小模型。