尝试训练YOLOv5对象检测模型时,页面文件太小,无法完成此操作

2022-04-12 00:00:00 python object-detection gpu yolov5

问题描述

我有大约50000个图像和注释文件,用于训练YOLOv5对象检测模型。我已经训练了一个模型,在另一台计算机上使用CPU没有问题,但它需要太长时间,所以我需要GPU培训。我的问题是,当我尝试使用GPU进行训练时,我总是收到这个错误:

OSError: [WinError 1455] The paging file is too small for this operation to complete

这是我正在执行的命令:

train.py --img 640 --batch 4 --epochs 100 --data myyaml.yaml --weights yolov5l.pt

CUDA和PyTorch已成功安装并可用。已安装以下命令,并且没有错误:

pip3 install torch==1.10.0+cu113 torchvision==0.11.1+cu113 torchaudio===0.10.0+cu113 -f https://download.pytorch.org/whl/cu113/torch_stable.html

我发现其他人在网上遇到了类似的问题,并已通过将num_workers = 8更改为num_workers = 1修复了该问题。当我尝试这样做时,培训开始了,似乎超过了出现the paging file is too small错误的时间点,但几个小时后就崩溃了。我还根据这个视频(https://www.youtube.com/watch?v=Oh6dga-Oy10)增加了我的GPU上可用的虚拟内存,但也不起作用。我认为这是内存问题,因为有时它崩溃时,我的计算机会发出内存不足警告。

如有任何帮助,将不胜感激。


解决方案

所以我已经设法解决了我的特定问题,并认为在此处发布答案可能会对其他人有所帮助。基本上,我不认为我有足够的内存。我以前使用的是8 GB,现在已经升级到32 GB,运行正常。

正如我在上面的问题中所写的,我认为这是一个内存问题,我让它只在另一台使用CPU的计算机上工作。我还注意到,当培训开始时,RAM使用率出现了峰值。这个人还解释了在大数据集上训练深度学习模型时RAM的重要性: https://timdettmers.com/2018/12/16/deep-learning-hardware-guide/

希望这能帮助其他人解决同样的问题。

相关文章