4、YOLO框架选型与安装:对比YOLOv5/v8/v10/nas,选择适合版本、安装ultralytics库、验证YOLO推理
好,咱们进入第四章。
这一章,我打算聊聊YOLO的版本选择问题。
你可能会问:「YOLO这么多版本,我到底该用哪个?」
嗯,这个问题我当年也纠结过。记得2020年那会儿,YOLOv4刚出来,大家都在吹它多快多准。结果没过多久,YOLOv5又杀出来了。再到现在的v8、v10,甚至还有NAS版本……说实话,有点眼花缭乱。
但别慌。今天我就带你捋清楚,顺便把环境搭好。
4.1 YOLO版本对比:v5、v8、v10、NAS
先说说这几个版本的核心区别。
| 版本 | 特点 | 适用场景 | 我个人看法 |
|---|---|---|---|
| YOLOv5 | 经典稳定,社区庞大 | 工业落地、边缘设备 | 老将,但依然能打 |
| YOLOv8 | 官方维护,支持分类/分割/检测 | 通用项目、快速原型 | 我目前的主力版本 |
| YOLOv10 | 无NMS后处理,端到端推理 | 追求极致速度的场景 | 新秀,但生态还不够成熟 |
| YOLO-NAS | 神经架构搜索自动优化 | 学术研究、精度优先 | 适合做对比实验 |
你想想看,选版本其实就是在「稳定」和「新特性」之间做权衡。
我个人习惯是:生产环境用v5或v8,研究探索用v10或NAS。
核心建议:如果你是初学者,或者要做项目落地,直接选YOLOv8。原因很简单——Ultralytics官方维护,文档齐全,API统一,踩坑少。
4.2 安装ultralytics库
好,版本选完了。接下来就是安装。
这里我要强调一点:千万别直接pip install ultralytics完事。我见过太多人因为环境冲突,折腾一整天。
我的标准流程是这样的:
- 创建虚拟环境(推荐Python 3.8-3.11)
- 安装PyTorch(根据你的CUDA版本选)
- 安装ultralytics
具体命令如下:
# 第一步:创建虚拟环境
conda create -n yolov8_env python=3.9 -y
conda activate yolov8_env
# 第二步:安装PyTorch(以CUDA 11.8为例)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
# 第三步:安装ultralytics
pip install ultralytics
小技巧:如果你不确定CUDA版本,可以用 nvidia-smi 查看。我曾经在服务器上装错了CUDA版本,结果训练速度慢了一半……后来才发现是PyTorch和CUDA没对齐。
安装完成后,验证一下:
python -c "import ultralytics; print(ultralytics.__version__)"
如果输出版本号,比如 8.2.0,那就说明装好了。
4.3 验证YOLO推理
环境搭好了,咱们跑个推理试试。
Ultralytics官方提供了一个非常轻量的模型——YOLOv8n。n代表nano,也就是最小版本。用它来验证最合适不过了。
from ultralytics import YOLO
# 加载预训练模型(会自动下载)
model = YOLO('yolov8n.pt')
# 推理一张图片
results = model('https://ultralytics.com/images/bus.jpg')
# 显示结果
results[0].show()
跑完这段代码,你应该能看到一张公交车图片,上面画着检测框。
嗯,到这里,你的YOLO环境就算正式搭好了。
注意:第一次运行会自动下载模型文件(大约6MB),请确保网络畅通。如果下载失败,可以手动去GitHub Releases下载,放到当前目录下。
4.4 避坑指南
最后,分享几个我踩过的坑:
- 版本冲突:不要同时装多个YOLO版本。我曾经在同一个环境里装了v5和v8,结果导入时各种报错。后来老老实实分开建虚拟环境。
- GPU显存不足:如果你用v8x或v8l这种大模型,记得调小batch size。我刚开始做项目时,直接用了默认batch=16,结果显存爆了……
- 模型下载慢:建议提前下载好.pt文件,或者配置镜像源。
好了,这一章就到这里。下一章,咱们开始准备数据集,进入真正的训练环节。