尝试训练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/
希望这能帮助其他人解决同样的问题。
相关文章