作者主页(​​文火冰糖的硅基工坊​​​):​​文火冰糖(王文兵)的博客_文火冰糖的硅基工坊


目录

​前言:​

​错误的认知:​

​真正的原因:​

​解决问题的办法​

​办法1:关闭IE浏览器等其他应用程序(部分解决,不确定性)​

​办法2: 重启机器(部分解决,不确定性)​

​办法3: 降低训练时的batch size的大小(部分解决,不确定性)​

​办法4: 降低dataloader的线程数​

​办法5:增加Windows系统的物理内存 (根本解决,高成本)​

​办法6: 为所有硬盘启动(根本解决,低成本)​


前言:

目前在训练模型时,经常出现如下的情况:“OSError: [WinError 1455] 页面文件太小,无法完成操作问题的解决办法”。这导致导致训练无法进行。

错误的认知:

误以为是显卡内存不足造成的,而更好显卡需要一笔大的费用,因此一直都没有用心解决此问题。经过多次出错,发现是乎不是GPU内存的问题,而是Windows内存的问题。

真正的原因:

OSError: [WinError 1455错误显示,这是Windows的虚拟内存不够。

虚拟内存不够的根本原因,是物理内存空间不够,Windows在解决物理内存空间不够大时,采用了通过硬盘空间来扩展物理内存不够的问题。然后,这种方法,默认只针对C盘下的应用程序,不针对D:盘或其他盘的应用程序,而我个人的pytorch程序并运行C盘。

解决问题的办法

办法1:关闭IE浏览器等其他应用程序(部分解决,不确定性)

办法2: 重启机器(部分解决,不确定性)

本质上与关闭IE等其他应用程序是一样的。

办法3: 降低训练时的batch size的大小(部分解决,不确定性)

python train.py --img 640 --batch 1 --epochs 5 --data steelcycle.yaml --weights yolov5s.pt

办法4: 降低dataloader的线程数

python train.py --img 640 --batch 1 --epochs 5 --data steelcycle.yaml --weights yolov5s.pt -- num_works 1

办法5:增加Windows系统的物理内存 (根本解决,高成本)

升级物理内存:16G -> 32G, 彻底解决此问题。

办法6: 为所有硬盘启动(根本解决,低成本)

[人工智能-深度学习-80]:开发环境 - OSError: [WinError 1455] 页面文件太小,无法完成训练问题的多种解决办法_深度学习

[人工智能-深度学习-80]:开发环境 - OSError: [WinError 1455] 页面文件太小,无法完成训练问题的多种解决办法_人工智能_02

[人工智能-深度学习-80]:开发环境 - OSError: [WinError 1455] 页面文件太小,无法完成训练问题的多种解决办法_深度学习_03

[人工智能-深度学习-80]:开发环境 - OSError: [WinError 1455] 页面文件太小,无法完成训练问题的多种解决办法_深度学习_04

 [人工智能-深度学习-80]:开发环境 - OSError: [WinError 1455] 页面文件太小,无法完成训练问题的多种解决办法_深度学习_05

 所有驱动器使用16M虚拟内存,而不仅仅系统盘。


作者主页(​​文火冰糖的硅基工坊​​​):​​文火冰糖(王文兵)的博客_文火冰糖的硅基工坊