mar*_*985 4 python gpu object-detection yolov5
我有大约 50000 个图像和注释文件用于训练 YOLOv5 对象检测模型。我在另一台计算机上仅使用 CPU 训练模型没有问题,但需要太长时间,因此我需要 GPU 训练。我的问题是,当我尝试使用 GPU 进行训练时,我不断收到此错误:
OSError: [WinError 1455] The paging file is too small for this operation to complete
Run Code Online (Sandbox Code Playgroud)
这是我正在执行的命令:
train.py --img 640 --batch 4 --epochs 100 --data myyaml.yaml --weights yolov5l.pt
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
num_workers = 8我在网上发现其他人也有类似的问题,并通过将 更改为 来修复它num_workers = 1。当我尝试这个时,训练开始了,似乎已经过了出现错误的点the paging file is too small,但几个小时后崩溃了。我还根据此视频 ( https://www.youtube.com/watch?v=Oh6dga-Oy10 ) 增加了 GPU 上可用的虚拟内存,但这也不起作用。我认为这是一个内存问题,因为有时它崩溃时我会从计算机收到内存不足的警告。
任何帮助将非常感激。
因此,我设法解决了我的具体问题,并认为在这里发布答案可能会对其他人有所帮助。基本上,我认为我的内存不够。我之前用的是8GB,现在升级到32GB,运行良好。
正如我在上面的问题中所写的,我认为这是一个内存问题,我让它在另一台仅使用 CPU 的计算机上工作。我还注意到,当训练开始时,RAM 使用量会出现峰值。这家伙还解释了在大型数据集上训练深度学习模型时 RAM 的重要性: https ://timdettmers.com/2018/12/16/deep-learning-hardware-guide/
希望这可以帮助其他遇到同样问题的人。