今天在windows系统下调试yolov5,遇到的一个bug,特此记录,并附上解决方案,请往下看。

1. 报错信息
OSError: [WinError 1455] 页面文件太小,无法完成操作。 Error loading “D:\anaconda3\envs\yolov5\lib\site-packages\torch\lib\shm.dll” or one of its dependencies.

2. 解决方案
2.1 方案1
windows系统,如果batch size太大,可能会报这个错误,因此可以将batch size设置的小一点,从而解决这个bug。(亲测有效:在windows上训练yolov5时,batch size为4报错,将batch size改为2,程序正常运行)

2.2 方案2
将workers参数设为0。(亲测有效:在windows上训练yolov5时,workers为默认值8报错,将workers改为0,程序正常运行)

2.3 方案3
第一步:鼠标右击我的电脑 (此电脑),点击属性进入以下界面:

第二步:点击高级系统设置,然后点击设置,如下图所示:

第三步:依次选择高级 -> 程序 -> 更改,如下图所示面:

第四步:去掉自动管理所有驱动器的分页文件大小前面的对勾 -> 选择磁盘 (因为我的Anaconda是安装在D盘的,所以这里选择D盘) -> 点击自定义大小 -> 修改初始大小和最大值 (保证小于可用空间即可,这里选择10240【也可以设置的更大,不够大的话,可能还会报错】) -> 点击设置 -> 点击确定,如下图所示

第五步:点击确定,重启电脑即可,如下图所示:

完成上述五个步骤后,我们再来运行以下程序,发现可以正常运行了:

附录
cv2.error: Caught error in DataLoader worker process 1.

cv2.error: OpenCV(4.5.5) D:\a\opencv-python\opencv-python\opencv\modules\core\src\alloc.cpp:73: error: (-4:Insufficient memory) Failed to allocate 19926864 bytes in function ‘cv::OutOfMemoryError’

windows系统下,再次运行yolov5出现新的bug,报错信息不一样,但是解决方案一样。

出现上述错误,也可以将batch size设置的小一点,解决bug;或者设置workers为0;或者使用解决方案3。

声明:本站所有项目资源都可以正常运行,亲测无错!而且我们录制了演示视频,在我们注明的环境版本下,项目运行效果完全和演示视频一致。客服QQ:下载须知