成功解决OSError: [WinError 1455] 页面文件太小,无法完成操作

博主运行Python训练文件时报错,提示页面文件太小无法完成操作。尝试更改batch_size无效后,通过修改高级系统设置、清理存储代码的D盘、加入特定函数等方法解决问题,还建议清理数据集、C盘,使用腾讯电脑管家和geek等工具。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

最近写了个训练文件,昨天在运行的时候都是好好的,今天一运行就报错了,不得不说,有点点奇怪。

OSError: [WinError 1455] 页面文件太小,无法完成操作。 Error loading "D:\AI\Anaconda\anaconda3\envs\torch1.8\lib\site-packages\torch\lib\cudnn_cnn_infer64_8.dll" or one of its dependencies

它这个大致的意思是说某某文件或其依赖项时出现了问题,原因是页面文件(即虚拟内存)的大小不足以完成操作。

页面文件是操作系统中用于扩展物理内存的一种机制,当物理内存不足时,操作系统会将部分数据存储在页面文件中。在这种情况下,由于页面文件的大小不足,无法加载所需的DLL文件。

网上说更改batch_size,可我原本设定的batch_size大小为2,调到1后还是同样的错误。这里我直接就去高级系统设置里面修改了。我后面看了下大家好像也有这样做的。

c1a27e99b7164e0d943d6a5184ec3f02.png

直接搜索编辑系统环境变量就好 -> 点击左边的设置 -> 更改 -> 去掉自动管理所有驱动器的分页文件大小前面的对勾 -> 选择驱动器 (我的Anaconda是安装在D盘的,所以这里选择D盘) -> 点击自定义大小 -> 修改初始大小和最大值 (保证小于可用空间即可,这里选择10240) -> 点击设置 -> 点击确定。

3e0f4116835448f786ad34bb9f18e927.png

88292312731d46188500598ed665ca1a.png

b7df74e93a104aa2aaa06ab9c85a102b.png

更新

问题解决了,我将存储代码的D盘清理了一些文件,留了50GB作用,就没有出现这些问题了。

建议清理一下数据集,主要是这个占的空间大。

c8b481bed75749d5b3d5c74c9c69a276.png之前D盘不足20GB,它就一直报错,清理了后就可以用了。

二更

2024-5-24

修改batch_size是有效果的。

我还遇到一种,把电脑关机休息一晚上就又能跑的

在我们的代码中加入下面的函数,保持一个好习惯

def release_gpu_memory():
    gc.collect()
    if torch.cuda.is_available():
        torch.cuda.empty_cache()

三更

建议将C盘和存储代码的盘清除一下,我将以前的数据集和暂时没用的代码都转移的移动硬盘里面了。或者大家趁着假期时间给自己的电脑加盘(根治的)。

我比较推荐的是使用腾讯电脑管家,非常给力,也不需要给钱。把里面的一些大文件整理一下。

寻常的软件删除可能没法完全删干净,可以下载一个geek,都是很实用的工具。

### 解决 Windows 系统中页面文件过小导致的 OSError 问题 当在 Windows 上运行 YOLOv8 或其他深度学习框架时,如果遇到 `OSError: [WinError 1455] 页面文件太小无法完成操作` 的错误,这通常是因为系统的虚拟内存(即页面文件)不足以支持当前任务的需求。此问题可以通过调整系统设置来解决。 #### 调整页面文件大小 为了增加可用的虚拟内存,可以手动增大页面文件的大小: 1. **打开高级系统设置** 右键单击“此电脑”,选择“属性”。随后点击左侧菜单中的“高级系统设置”。 2. **进入性能选项** 在弹出的窗口中切换到“高级”标签页,找到“性能”部分并点击“设置”。 3. **配置虚拟内存** 切换至“高级”标签页,在“虚拟内存”区域点击“更改”按钮。 4. **修改页面文件参数** 勾选“无分页文件”的反向选项,取消勾选“自动管理所有驱动器的分页文件大小”。接着选择安装操作系统所在的磁盘(通常是 C 盘),点击“自定义大小”,并将初始大小和最大值设为推荐范围内的较高数值(例如 8GB 至 16GB)。完成后点击“设置”保存更改[^4]。 #### 减少资源消耗 除了扩大页面文件外,还可以通过优化模型运行环境减少对硬件资源的压力: - **降低批量尺寸 (`batch_size`)** 如果 GPU 显存有限,则应适当减小批次数量以缓解压力。例如将默认批处理数从较大值改为较小值如 4 或者更少。 - **禁用 cuDNN 加速功能** 添加如下代码片段于程序入口处可关闭 cuDNN 自动寻找最佳算法的功能从而节省额外开销: ```python import torch torch.backends.cudnn.enabled = False ``` - **清理未使用的变量** 使用 Python 的垃圾回收机制释放不再需要的对象所占用的空间;或者利用 PyTorch 提供的方法清空缓存数据结构比如梯度张量等。 以上措施能够帮助克服因物理内存不足引发的一系列异常状况包括但不限于 `[WinError 1455]`. ```python import torch torch.cuda.empty_cache() # 清理CUDA上的缓存 ``` --- ###
评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夏天是冰红茶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值