YOLO视觉检测应用入门篇(二)

YOLO视觉检测应用入门篇(二)
上一篇,我们介绍了YOLO最基础的训练和预测。
这一篇,我们稍微进阶一些。

device =

上一篇中,我们使用官方的sample模型,显然速度不算快。
因为我们使用的是device = cpu,即仅使用cpu进行训练。
事实上,使用GPU训练才是主流。因为GPU对于卷积神经网络的计算是非常擅长的,比cpu擅长得多。
具体的原因,在了解YOLO的原理时,我们可以了解。
这里,我们只需要知道即可。
Yolo支持的device参数如下列所示:

1
2
3
4
5
# 设备选择参数说明
device = 'cpu' # 设备类型:CPU | 使用场景:推理/训练(低性能场景)
device = 'mps' # 设备类型:Apple Silicon GPU | 使用场景:推理(需macOS 12.3+)
device = 0 # 设备类型:NVIDIA GPU | 参数格式:单卡索引 | 示例:第1块显卡(索引0)
device = [0,1] # 设备类型:NVIDIA GPU | 参数格式:多卡索引 | 示例:第1-2块显卡(索引0,1)

MPS

Apple的Silicon芯片设备可以使用device = mps来调用内存进行训练。
但是只有较小的数据集可以使用mps参数,因为数据集较大或者训练轮次过多,因为内存泄露的问题,训练过程会崩溃。
现象就是每一个轮次都会不断增加占用的内存,直至内存耗尽而报错。

WARN
截至2025年4月8日,YOLO对于MPS设备(Apple Silicon Chip)依然存在内存泄漏问题没有解决。
详情查看Github Issue

CUDA

INFO
仅支持NVIDIA GPU

这个内容请在网上查找最新的安装CUDA教程,这里仅简单举例说明
运行以下命令,会提示可以安装的CUDA版本(向下兼容)

1
nvidia-smi

下面是网上找的一个示例,可见其支持的是CUDA 12.2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
nvidia-smi.exe
Tue Jan 16 22:43:00 2024
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 537.70 Driver Version: 537.70 CUDA Version: 12.2 |
|-----------------------------------------+----------------------+----------------------+
| GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+======================+======================|
| 0 NVIDIA GeForce RTX 4060 Ti WDDM | 00000000:01:00.0 On | N/A |
| 32% 30C P8 7W / 160W | 990MiB / 8188MiB | 27% Default |
| | | N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=======================================================================================|
| 0 N/A N/A 3200 C+G ...ekyb3d8bbwe\StoreExperienceHost.exe N/A |

NVIDIA官方下载CUDA
安装完成后,命令行输入以下命令验证

1
nvcc --version

然后,将我们上一篇的sample再运行一次,是不是快多了?

AMD(ATI) GPU

YOLO官方并没有支持AMD的GPU,因此我们不做详细的介绍。
如果需要使用AMD的GPU,可以参考WSL环境下的ROCm方案或者DirectML加速方案‌
刚入门的就简单使用CPU吧~

小结

这一篇主要介绍了训练中的device参数,使得训练能够更加的高效。
下一篇,我们将更加进阶一些。


YOLO视觉检测应用入门篇(二)
http://kevin.zone.id/2025/04/09/yolobegin2/
作者
Kevin
发布于
2025年4月9日
许可协议