今天在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。
评论(0)