训练过程中出现not enough memory:you tried to allocate

我在训练yolo v3的模型时,出现了下图的错误。这应该是内存不够的问题! RuntimeError: [enforce fail at …c10coreCPUAllocator.cpp:72] data. DefauCPUAllocator:not enough memory:you tried to allocate 88604672 bytes.Buy new RAM! 我是在家里自己电脑上运行的,用cpu训练本来就慢,训练了一天,内存溢出就给崩了,我的心态也崩了!

稳住!不慌!网上没有找到解决的办法,就跑去问大佬。总结出以下方法可供参考: 1.如果界面没有关闭是可以续上的,在console上输入 save models保存模型,作为下一次训练的初始值,然后把epoch设定为这一次训练的次数(这样虽然差一两个epoch可能 但是没啥影响); 2.添加断点,继续运行,断点的位置在循环的地方,大概是这里

3.把batchsize减少,batchsize是指一次训练的图片数,设成1也是没问题的,然后把epoch设定为这一次训练的次数(这样虽然差一两个epoch可能 但是没啥影响)继续运行; 4.内存小的话用集群,或者加个内存条吧。

建议大家有条件的话还是用gpu训练吧,速度快的不只一星半点。希望可以帮到你!

经验分享 程序员 微信小程序 职场和发展