YOLOV7:OSError: [WinError 1455] 页面文件太小,无法完成操作的 最终解决方案

目录

1.问题描述:

 2.现有的解决方案

(1)重启电脑(试过了,但是没用)

(2)重启pycharm(成本很低,可以试一下,但是依然没用)

(3)最火热的一种说法是设置num_work=0(修改需谨慎)

3.问题分析

4.解决的策略

4.总结 


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.总结 

         使用这个方法之后,可以使用你硬盘的存储空间分配为内存空间,所以这里大家就看见了一个高性能的硬盘固态对于深度学习的重要性了吧,这样子以后,你分配出去的存储空间将作为内存参与深度学习,系统暂时不能将其使用为普通存储空间,如果需要还原就按照刚刚步骤退回去,点击这个设置最上面的“自动管理所有分页器的大小”,下次遇见这个问题的时候可以直接点击,系统管理的大小即可一步到位,也不需要重启电脑,这个方法可谓一劳永逸。

        如果我的方法解决了您的问题,可以给我点个赞,加个关注一起努力!!

### 回答1: 操作系统错误:[WinError 1455] 页面文件太小无法完成操作。加载“d:\ anaconda \ envs \ pytorch \ lib \ site-packages \ torch \ lib \ shm.dll”或其依赖项之一时出错。 ### 回答2: 这个问题报错的意思是操作系统页面文件太小无法完成操作,同时在加载“d:\anaconda\envs\pytorch\lib\site-packages\torch\lib\shm.dll”或其依赖项时出现错误。我们可以先了解一下几个概念。 操作系统页面文件是一个虚拟内存空间,当内存不足时,系统将一部分数据存放到这个页面文件中,从而释放内存空间。这个文件的大小可以根据需要调整,但是如果设置得太小,就会出现无法完成操作的问题。 而“d:\anaconda\envs\pytorch\lib\site-packages\torch\lib\shm.dll”是PyTorch的共享内存库,它允许不同的进程之间共享数据。如果这个库无法加载,就会导致程序无法运行。 因此,为了解决这个问题,可以采取以下措施: 1. 扩大页面文件的大小。可以在“系统属性-高级系统设置-高级-性能-设置-高级”中找到“虚拟内存”,选择“更改”,然后将页面文件大小修改为更大的值。注意不要设置得过大,否则会占用大量磁盘空间。 2. 更新PyTorch库。如果shm.dll文件是老版本的,可能会出现无法加载的情况。可以通过更新PyTorch库来解决这个问题。 3. 检查依赖项。如果shm.dll依赖于其他库,这些库也可能需要更新或修复。可以使用依赖项查看器等工具来检查。 4. 关闭其他程序。如果计算机内存不足,可能会导致页面文件过小。关闭一些不必要的程序以释放内存可能有助于解决这个问题。 综上所述,oserror: [winerror 1455] 页面文件太小无法完成操作error loading "d:\anaconda\envs\pytorch\lib\site-packages\torch\lib\shm.dll" or one of its dependencies.可能是由于操作系统页面文件过小或PyTorch无法加载等原因导致的。可以采取扩大页面文件大小、更新PyTorch库、检查依赖项和关闭其他程序等措施来解决这个问题。 ### 回答3: 这个错误提示是指在使用PythonPyTorch库时,加载其中的一个名为"shm.dll"的动态链接库时发生错误。具体地,加载"shm.dll"时出现了"页面文件太小无法完成操作"的错误,这说明了系统内存页文件(也就是虚拟内存)已经用完,没有足够的空间存储新的数据。 在Windows系统中,虚拟内存是一种内存管理技术,在物理内存(也就是RAM)已满的情况下,通过将需要访问的内存数据转移到硬盘上空余的空间中来扩展内存空间。然而,虚拟内存的大小是有限制的,因为它占用了硬盘空间。 当需要使用大量内存时,虚拟内存的大小可能会变得不足,从而导致类似"页面文件太小"的错误。为了解决这个问题,可以尝试增加系统虚拟内存的大小,方法如下: 1. 找到 "控制面板" -> "系统和安全" -> "系统" -> "高级系统设置" 2. 在 "高级" 选项卡下,点击 "设置" 按钮 3. 在 "高级" 选项卡下,点击 "更改" 按钮 4. 勾选 "自动管理页面文件大小" 的选项框 5. 如果勾选了 "自动管理页面文件大小" ,可以考虑将 "自定义大小" 的最小值和最大值都调整为更大的数值 6. 点击 "设置" 按钮,然后点击 "确定" 按钮,保存更改 如果增加虚拟内存大小无法解决问题,那么可能需要考虑升级系统硬件(如安装更大的内存条)或优化程序代码以减少内存使用量。
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值