今天在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。

参考资料

[1]https://blog.csdn.net/weixin_46133643/article/details/125042903
[2]https://blog.csdn.net/weixin_45647721/article/details/124856994

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐