摘要:本文演示如何使用 conda 创建隔离的 Python 环境,安装 Ultralytics YOLO11,准备自定义数据集(YOLO 格式),并在 CPU 环境下完成训练,生成权重文件 best.pt。
示例采用轻量级模型 yolo11n(nano 版本),便于在 CPU 上运行验证。
💡 适用场景:
- 无 GPU 的笔记本或台式机用户
- 想了解 YOLO 训练流程的初学者
- 用 CPU 进行小样本验证 / 教学演示
一、准备工作
1. 安装 Anaconda 或 Miniconda
如果尚未安装,可从官网下载:
安装完成后,打开 终端(Linux/macOS) 或 Anaconda Prompt(Windows)。
二、创建并激活 conda 虚拟环境
# 1. 创建新环境(推荐 Python 3.10 或更高)
conda create -n yolo11 python=3.10 -y
# 2. 激活环境
conda activate yolo11
三、安装 Ultralytics YOLO11
# 更新基础工具
pip install -U pip setuptools wheel
# 安装 YOLO (Ultralytics 官方)
pip install -U ultralytics
安装完成后可以测试:
python -c "import ultralytics; print('Ultralytics YOLO 版本:', ultralytics.__version__)"
或使用命令行查看帮助:
yolo help
四、准备数据集(YOLO 格式)
YOLO 模型要求的数据目录结构如下:
my_dataset/
├─ images/
│ ├─ train/
│ │ ├─ img001.jpg
│ └─ val/
│ ├─ img101.jpg
├─ labels/
│ ├─ train/
│ │ ├─ img001.txt
│ └─ val/
│ ├─ img101.txt
└─ dataset.yaml
每个标签文件(labels/train/img001.txt)格式如下:
<class_id> <x_center> <y_center> <width> <height>
坐标值均为相对比例(0~1 之间)。
示例 dataset.yaml
path: ./my_dataset
train: images/train
val: images/val
names:
0: cat
1: dog
测试官方内置数据集:
yolo detect train data=coco8.yaml model=yolo11n.pt device=cpu
五、在 CPU 上训练 YOLO11
yolo detect train data=dataset.yaml model=yolo11n.pt epochs=50 imgsz=640 batch=1 device=cpu
或使用 Python API:
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
results = model.train(
data="dataset.yaml",
epochs=50,
imgsz=640,
batch=1,
device="cpu"
)
六、查看训练结果与权重文件
默认输出路径:
runs/detect/train/exp/
├─ weights/
│ ├─ best.pt
│ ├─ last.pt
├─ results.png
使用生成的权重进行预测
from ultralytics import YOLO
model = YOLO("runs/detect/train/exp/weights/best.pt")
model.predict("test.jpg", imgsz=640)
命令行方式:
yolo predict model=runs/detect/train/exp/weights/best.pt source=test.jpg device=cpu
七、常见问题与优化建议
| 问题 | 原因 | 解决方案 |
|---|---|---|
| 训练非常慢 | CPU 无法并行加速 | 减少 epochs、降低 imgsz、batch=1 |
| 内存占用高 | 图片尺寸过大 | 使用 imgsz=320 或 480 |
| 结果精度差 | 训练样本少 | 增加样本或增强数据 |
| 恢复训练 | 中断训练 | yolo detect train resume=True 或加载 last.pt |
八、完整脚本(可直接复制运行)
# 创建并激活环境
conda create -n yolo11 python=3.10 -y
conda activate yolo11
# 安装 YOLO
pip install -U pip setuptools wheel
pip install -U ultralytics
# 训练(CPU)
yolo detect train data=dataset.yaml model=yolo11n.pt epochs=50 imgsz=640 batch=1 device=cpu

6363

被折叠的 条评论
为什么被折叠?



