场景:
使用Yolov5的6.1版本,在使用cpu版本的pytorch训练是可以的,改成gpu训练自己的数据集,训练几次后突然报这个错误。
解决办法
网上搜索了一下,大致有三种方法:
一、重启pycharm (试了没用)
二、修改num_workers(有点用)
这个参数在utils/datasets.py文件下,设置num_workers=0,如下:
return loader(dataset,
batch_size=batch_size,
shuffle=shuffle and sampler is None,
num_workers=nw, #这里修改为0
sampler=sampler,
pin_memory=True,
collate_fn=LoadImagesAndLabels.collate_fn4 if quad else LoadImagesAndLabels.collate_fn), dataset
这个方法刚开始试的时候,是可以用的,然后后来莫名奇妙又不行了,而且也不知道这个有什么用,感觉修改也不好,所以果断放弃,继续寻找。
三、调大页面文件的大小并更改batch_size(解决问题)
点开高级系统设置后,点击图上的设置——>更改,按照下面的步骤一步一步来即可。
点开更改后,先将自动管理所有驱动器的分页文件大小前的勾去掉,如下图所示:
最后根据自己D盘可用空间的大小来设置一下虚拟内存的大小, 最后点击确认。然后重启电脑就解决问题了。更改D盘的大小,主要是因为我的anaconda,配置的虚拟环境和相应的python都在D盘。(如果Python安装在C盘, 就调大C盘的虚拟内存的值)
如果之前有设置过D盘的虚拟内存还是报相同的错误,就将自己的batch_size调小试一试。如果还是不行,那就只能尝试修改num_works。