如你安好

时间就像海绵里的水,只要愿挤,总还是有的。 -- 鲁迅
如你安好 ,

便是晴天 。

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

我在训练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!

20200724201239572.jpg
我是在家里自己电脑上运行的,用cpu训练本来就慢,训练了一天,内存溢出就给崩了,我的心态也崩了!
稳住!不慌!网上没有找到解决的办法,就跑去问大佬。总结出以下方法可供参考:

  1. 1.如果界面没有关闭是可以续上的,在console上输入 save
    models保存模型,作为下一次训练的初始值,然后把epoch设定为这一次训练的次数(这样虽然差一两个epoch可能 但是没啥影响);
  2. 2.添加断点,继续运行,断点的位置在循环的地方,大概是这里

20200724202650450.jpg

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

愿望集合地

(仅限登陆用户评论)

这篇文章获得了个赞!