🍀要在 GPU 利用率低的问题下提高 YOLOv8 模型训练速度,以下是一些可能有帮助的提示:
参数设置
- Batch Size(批量大小):在 GPU 内存允许的范围内尽可能增加批量大小。这通常可以提高 GPU 利用率.
- Worker:增加 DataLoader 的工作线程数(workers)可以加快数据加载速度,尤其是在数据集较大时。尝试将其设置为 CPU 内核数的 2 倍。
- 命令行查cpu内核数:
wmic cpu get NumberOfLogicalProcessors
- 命令行查cpu内核数:
- 混合精度训练:使用混合精度训练(AMP)可以显著减少内存使用和加快计算速度,同时保持模型的准确性。可以通过 --amp 参数来启用。
- 图像大小:训练时使用较小的图像可以加快训练速度。确保大小可被 64 整除(例如,640、320)
- Optimizer:不同的优化器可能会影响训练速度和收敛效果。可以尝试使用 Adam、SGD 等,找出最适合你模型的优化器。
- 使用GPU进行训练: 设置 device 0
运行代码
混合精度训练命令的代码片段示例:
python train.py --img 640 --batch 16 --epochs 100 --data your_dataset.yaml --weights yolov5s.pt --device 0 --amp