C/C++教程

PyTorch训练模型,内存泄露问题解决

本文主要是介绍PyTorch训练模型,内存泄露问题解决,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

引言

  • 最近采用PyTorch训练文本检测模型,遇到一个内存泄露问题,眼睁睁地看着内存一点点被占满,触发系统保护机制,被kill掉

可能出现问题地方

  • loss求和未加item()
  • num_workers过大
  • 大量使用list转tensor

最终解决方案

  • 上面几个可能,我这里都已经尝试,但是还是没有解决我这里的内存泄漏问题
  • 通过比较他人的训练代码,发现了一行神奇的代码:【出处DBNet】
    data = copy.deepcopy(self.data_list[index])
    
  • 我在我的dataset.py中加入这行代码,立马就没有内存泄漏了
  • 但是原因尚不清楚,如果有清楚的小伙伴,欢迎留言交流。
这篇关于PyTorch训练模型,内存泄露问题解决的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!