目录
(2)重启pycharm(成本很低,可以试一下,但是依然没用)
(3)最火热的一种说法是设置num_work=0(修改需谨慎)
1.问题描述:
大家在用pytorch框架使用YOLOv7进行深度学习的时候可能经常遇见这种问题:
OSError: [WinError 1455] 页面文件太小,无法完成操作。 Error loading "D:\ProgramData\Anaconda3\envs\yolov7\lib\site-packages\torch\lib\cudnn_adv_infer64_8.dll" or one of its dependencies.
如图这种情况:
2.现有的解决方案
(1)重启电脑(试过了,但是没用)
很多博主谈到是长时间运行自己的电脑导致电脑内存被无关软件占用,所以建议重启电脑,但是重启之后发现仍然有是这问题
所以这种方案并不能解决问题
(2)重启pycharm(成本很低,可以试一下,但是依然没用)
因为pycharm长时间运行会占用大量的内存/显存,所以重启一下还是对内存这类的清除还是有帮助的。
但是对于这种深度学习的模型来说,这种清理内存/显存是“杯水车薪”,完全不够,所以这个方案可以在模型小的时候尝试一下。
对于如下图这种比较大的模型还是不太行的:
所以,对于YOLO训练的模型来说,这个方案并不可行
(3)最火热的一种说法是设置num_work=0(修改需谨慎)
网上对于这个的教程也有,但是大多数博主只说了有这个操作,但是对小白来说并不友好,下面给大家介绍一下,怎么在集成环境修改num_work的参数:
1)找到环境下面的train.py
2) 拖到中间找到如下图所示的workers,把后面的default的值改成0
但是吧,可以看见,这个方法改动的是dataloader,改动这个地方需要谨慎,这个涉及到你的整体代码框架,所以我果断还是弃用了这个方法(1.改了还是失败了;2.哪怕以后遇见能改这里,但是这是治标不治本的一个办法),这个方法只能在这里解决这个问题,如果在这个位置改动之后,那么很有可能导致后续产生的一些列的问题,所以不是很推荐 。
这个方法最终也没有解决问题
3.问题分析
回到这个问题所在,说的是页面太小是吧,那就是默认内存不够了,那就直接解决这个问题
OSError: [WinError 1455] 页面文件太小,无法完成操作。
就不要搞一些奇奇怪怪的东西了,简单粗暴,一劳永逸。
4.解决的策略
(1)找到你的环境安装的磁盘,博主本人用到是anaconda的虚拟环境进行管理相关的编译环境,深度学习也推荐使用虚拟环境,方便切换,关于如何使用和管理虚拟环境,可以参考我的另一篇基础干货文章:
anaconda虚拟环境的创建、删除与查看_青春可短暂了!的博客-CSDN博客
我的python环境是放在D盘的:
(2)在“我的电脑”点击鼠标右键,打开“属性”
(3)点击高级系统设置
(4)点击“设置”
(5)找到“高级”
(6)点击“更改”
(7)分配“虚拟内存”
从上到下,依次按照我的框框步骤走
(这里需要重启电脑才能生效)
至此,重启电脑之后,就可以直接去运行模型去了!
(8)成功解决问题,并且取得良好效果
4.总结
使用这个方法之后,可以使用你硬盘的存储空间分配为内存空间,所以这里大家就看见了一个高性能的硬盘固态对于深度学习的重要性了吧,这样子以后,你分配出去的存储空间将作为内存参与深度学习,系统暂时不能将其使用为普通存储空间,如果需要还原就按照刚刚步骤退回去,点击这个设置最上面的“自动管理所有分页器的大小”,下次遇见这个问题的时候可以直接点击,系统管理的大小即可一步到位,也不需要重启电脑,这个方法可谓一劳永逸。
如果我的方法解决了您的问题,可以给我点个赞,加个关注一起努力!!