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

Posted

技术标签:

【中文标题】即使使用 AWS P8 实例,Yolov5 模型训练也因 CUDA 内存不足而失败【英文标题】:Yolo5 model training fails with CUDA out of memory even with an AWS P8 instance 【发布时间】:2021-05-22 06:34:00 【问题描述】:

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

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

RuntimeError: CUDA 内存不足。尝试分配 16.00 MiB(GPU 0;11.17 GiB 总容量;10.66 GiB 已分配;2.31 MiB 空闲;PyTorch 总共保留 10.72 GiB

谢谢 象头神

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

以上是关于即使使用 AWS P8 实例,Yolov5 模型训练也因 CUDA 内存不足而失败的主要内容,如果未能解决你的问题,请参考以下文章

Python实例分割 YOLOv5 segment使用教程(完善中)

深度学习yolov5 tag7.0 实例分割 从0到1的体会,从模型训练,到量化完成

即使使用新的 EC2 实例,AWS SSH 登录仍会继续失败 [权限被拒绝 (PublicKey)]

GitHub YOLOv5 开源代码项目系列讲解------使用云端GPU训练Yolov5模型

目标检测YOLOv5-7.0:加入实例分割

即使配置了过滤器,AWS Lambda 函数也会停止所有实例