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完事。我见过太多人因为环境冲突,折腾一整天。

我的标准流程是这样的:

  1. 创建虚拟环境(推荐Python 3.8-3.11)
  2. 安装PyTorch(根据你的CUDA版本选)
  3. 安装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文件,或者配置镜像源。

好了,这一章就到这里。下一章,咱们开始准备数据集,进入真正的训练环节。