OSError: [WinError 1455] 页面文件太小,无法完成操作和AttributeError: ‘NoneType‘ object has no attribute ‘_free_wea

在网上查找了几个方法:
方法一:将代码中数据读取的地方,文件在 yolov5\utils\datasets.py,num_workers设置为0;最新的yolov5代码没有datasets.py文件,如下图
在这里插入图片描述
在dataloaders.py文件中找到
在这里插入图片描述
nd=GPU数
nw与CPU线程数、batch-size、worker有关。
本人电脑cpu线程=16、batch-size不为1,所以workers=0时,则num_workers就=0;workers参数可以在train.py文件中直接设置。

方法二:修改电脑的虚拟内存。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意:修改虚拟内存确实有用(OSError: [WinError 1455] 页面文件太小,无法完成操作。 Error loading “D:… 该错误消失了),增大后,但后来在训练结束时又出现报错:AttributeError: ‘NoneType‘ object has no attribute ‘_free_weak_ref‘,想着不能把虚拟内存搞的特别大吧,已经设置到40G了,就把workers设置为0,这个错误就没了。

总结:自己可以先试试增大虚拟内存方法(一般本人不喜欢改程序里面的默认参数值),如果出现错误AttributeError: ‘NoneType‘ object has no attribute ‘_free_weak_ref‘,再结合方法一改一改。


版权声明:本文为qq_38230414原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。