前言
最近写了个训练文件,昨天在运行的时候都是好好的,今天一运行就报错了,不得不说,有点点奇怪。
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后还是同样的错误。这里我直接就去高级系统设置里面修改了。我后面看了下大家好像也有这样做的。
直接搜索编辑系统环境变量就好 -> 点击左边的设置 -> 更改 -> 去掉自动管理所有驱动器的分页文件大小前面的对勾 -> 选择驱动器 (我的Anaconda是安装在D盘的,所以这里选择D盘) -> 点击自定义大小 -> 修改初始大小和最大值 (保证小于可用空间即可,这里选择10240) -> 点击设置 -> 点击确定。
更新
问题解决了,我将存储代码的D盘清理了一些文件,留了50GB作用,就没有出现这些问题了。
建议清理一下数据集,主要是这个占的空间大。之前D盘不足20GB,它就一直报错,清理了后就可以用了。
二更
2024-5-24
修改batch_size是有效果的。
我还遇到一种,把电脑关机休息一晚上就又能跑的
在我们的代码中加入下面的函数,保持一个好习惯
def release_gpu_memory():
gc.collect()
if torch.cuda.is_available():
torch.cuda.empty_cache()
三更
建议将C盘和存储代码的盘清除一下,我将以前的数据集和暂时没用的代码都转移的移动硬盘里面了。或者大家趁着假期时间给自己的电脑加盘(根治的)。
我比较推荐的是使用腾讯电脑管家,非常给力,也不需要给钱。把里面的一些大文件整理一下。
寻常的软件删除可能没法完全删干净,可以下载一个geek,都是很实用的工具。