Pytorch训练提示错误:“页面文件太小,无法完成操作”

在上周的一个Pytorch目标检测项目的训练过程中遇到了这个问题,经过排查,该提示所指“页面文件太小”是指系统虚拟内存所设置的页面大小过小,无法支持项目训练时所需内存。解决办法有两种:

1.降低Batch_Size大小:
过大的Batch_Size(人工智能术语:指一次迭代过程送入的数据集样本量)显然需要更多的内存支持,出现“页面文件太小”,可尝试降低Batch_Size大小。

2.调整虚拟内存可用硬盘空间大小:
虚拟内存的本质是在本地硬盘开辟一个空间用于存放哪些暂时不需要进行计算操作的内存数据,类似一个“挂起操作”。通常计算机操作系统(此处指Windows)默认的虚拟内存分配的大小不会太大,一般也就是2GB。那么我们可以通过更改设置来增加该分配空间的大小。

以下以Windows10操作系统为例,给出增加虚拟内存大小,以及如何将虚拟内存缓存文件更改至其他区分的方式。

(1).进入系统属性:
右键桌面 “此电脑” (其他版本的Windows可能是“我的电脑”),点击弹出面板左侧的 “高级系统设置”
图1 进入系统属性
(2).进入虚拟内存设置面板
在系统属性面板的性能部分点击设置,进入性能选项面板。点击性能选项面板的高级选项卡,接着点击虚拟内存部分的设置按钮, 进入虚拟内存设置面板。
图2 打开虚拟内存设置面板
(3).调整虚拟内存页面大小:
首选取消“自动管理所有驱动器的分页文件大小”该选项, 进入手动设置模式,然后点击C盘分区(一般虚拟内存页面文件默认是在C盘,后面会说如何更改到其它盘),并选择“自定义大小”,输入初始大小(推荐1024MB作为初始大小)和最大值。然后点击设置按钮,保存设置。
图3 更改虚拟内存页面大小
(4).更改虚拟缓存页面缓存文件至其它分区:
考虑到一般在配置计算机时,给C盘分区分配的硬盘空间比较小,所以如果将虚拟内存缓存文件设置在C盘,可能很容易造成整个C盘分区空间被占满,或者由于C盘空间比较小,我们也无法分配更大的虚拟页面大小。因此需要更改存放虚拟内存缓存文件的分区。

首先在C盘分区选择“无分页文件”, 并点击设置保存对C盘分区的虚拟缓存设置。接着点到其它分区,选择自定义大小,并参考(3)中所描述步骤进行设置。 推荐选择空间较大,且是固态硬盘的分区,这样可以保证能够设置更大的虚拟内存缓存大小以及更好的读取写入速度。
图4 更改虚拟缓存页文件存放分区

参考文章:
怎么将虚拟内存设置在其它盘符-百度经验
什么是"页面文件太小,无法完成操作",应该怎么办_百度知道

// 全文完

因笔者能力有限,若文章内容存在错误或不恰当之处,欢迎留言、私信批评指正。
Email:YePeanut[at]foxmail.com

来源:YePeanut

物联沃分享整理
物联沃-IOTWORD物联网 » Pytorch训练提示错误:“页面文件太小,无法完成操作”

发表评论