我在训练yolo v3的模型时,出现了下图的错误。这应该是内存不够的问题!
RuntimeError: [enforce fail at …\c10\core\CPUAllocator.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训练吧,速度快的不只一星半点。希望可以帮到你!

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐