即使使用 AWS P8 实例,Yolo5 模型训练也会因 CUDA 内存不足而失败

问题描述

我正在自定义数据集上训练 yolo5,但我的 GPU 内存一直不足,因为它只使用 8 个 GPU 中的一个。我应该如何运行它才能使用所有 GPU?

YOlov5 v4.0-83-gd2e754b 火炬 1.7.1 CUDA:0 (Tesla K80,11441.1875MB) CUDA:1 (Tesla K80,11441.1875MB) CUDA:2 (Tesla K80,11441.1875MB) CUDA:3 (Tesla K80,11441.1875MB) CUDA:4 (Tesla K80,11441.1875MB) CUDA:5 (Tesla K80,11441.1875MB) CUDA:6 (Tesla K80,11441.1875MB) CUDA:7(特斯拉 K80,11441.1875MB)

运行时错误:CUDA 内存不足。尝试分配 16.00 MiB(GPU 0;11.17 GiB 总容量;10.66 GiB 已分配;2.31 MiB 空闲;PyTorch 总共预留 10.72 GiB

谢谢 甘尼什

解决方法

https://github.com/ultralytics/yolov5/issues/475 找到答案。

该链接包含有关如何使用 PyTorch 和 yolo5 运行 DataParallel 和 Distributed 的所有详细信息