yolo环境安装就一句话!
pip install ultralytics
ultralytics 是一个统一的 Python 库,而非单一版本的 YOLO 模型。 执行 pip install ultralytics 安装的是整个工具框架,它内部集成并支持从 YOLOv3 到最新 YOLO11 等所有主流版本。
YOLOv8 起:Ultralytics 将全部模型整合到 ultralytics 单库Ultralytics YOLO。
现在:pip install ultralytics 是唯一官方安装方式Ultralytics YOLO。
yolo是干啥的?
只有一个核心功能:推理(前向传播)输入一张图 → 输出框、类别、置信度。
训练不是 YOLO 的功能,训练是 PyTorch 的功能。
ultralytics 是什么?
是官方写的一套 "训练 + 推理 + 导出" 工具箱,它:
帮你读数据集
帮你搭训练循环
帮你保存权重
帮你导出 ONNX / TensorRT / CoreML
帮你做预测、可视化
YOLO:模型结构(算法本身)
PyTorch:负责训练、反向传播、梯度下降
ultralytics:负责把它们打包成一键工具
Ultralytics 调用 YOLO
Ultralytics 调用 PyTorch
Ultralytics = 工具库(上层)
PyTorch = 深度学习框架(底层)
YOLO = 模型结构(图纸)
用你能秒懂的话总结
Ultralytics 不自己算,它只 "安排":它告诉 PyTorch 要跑一个叫 YOLO 的网络,PyTorch 负责真正去跑。
大白话:
Ultralytics 就是一个manager,Ultralytics 读取Yolo的逻辑,然后运行PyTorch的算法。

训练原理
目前所有的yolo版本都在Ultralytics 里,我们安装的时候也是一句话。
pip install ultralytics
那我们是如何区分yolov5,yolov7,yolov8等等呢?
文件名 = 版本号Ultralytics 内部自动识别,完全不用管。
model = YOLO("yolov8n.pt") # → 这就是 YOLOv8 model = YOLO("yolov10n.pt") # → 这就是 YOLOv10 model = YOLO("yolov11n.pt") # → 这就是 YOLO11
每个 YOLO 版本,内部都有一个专属配置:yolov8.yaml,yolov10.yaml,yolov11.yaml
这些文件里写死了:网络几层,用什么卷积,怎么检测,什么结构
你选哪个文件,就是用哪个 YOLO 训练!
所以训练的时候的指令就很重要:
python train.py --data coco128.yaml --weights yolov5s.pt --epochs 50 --batch 4
代表就是yolov5训练,它运行的时候偷偷自己调用了yolov5.yaml
所以吧,yolo这个东西只有训练的时候是有区别的,部署的时候是没有区别的,我个人的总结就是,yolo就是一个训练模型的工具。
然后说为什么训练的时候要加 -->yolov5s.pt?
它 = 官方预训练权重 = 已经学会了识别万物的 "学霸底子"它见过:人、车、狗、猫、杯子、键盘、飞机......80 类物体。
这里的 yolov5s.pt 作用:
不是让你识别它的东西,而是让它把 "视觉基础能力" 传给你的模型。
比如:边缘、纹理、形状、轮廓......
这叫迁移学习。没有它,你的模型训不出来,或者训得巨差、巨慢。
**训练完成:**你得到best.pt (你自己的模型!)
这个模型只认识你的产线零件
这才是你要拿去转 ONNX、部署 C++ 的文件!
用产线的比喻你瞬间明白
yolov5s.pt = 一个视力极好、学过视觉的老师傅
你的数据集 = 你们工厂的产品
训练 = 让老师傅教你的模型认你们的产品
best.pt = 学会你们产品的专属检测模型