bash install_yolo_env.sh
简化写法:
yolo export model=/workspace/yolo_project/runs/detect/train/weights/best.pt format=onnx
部分参数写法:
yolo export model=/workspace/yolo_project/runs/detect/train/weights/best.pt \
format=onnx \
imgsz=640 \
half=True \
simplify=True \
opset=12 \
project=/workspace/yolo_project/exports
常用参数说明:
imgsz: 输入尺寸,默认 640
half: 使用 FP16 精度,可减小模型大小
simplify: 简化模型,移除冗余操作
opset: ONNX 算子集版本,建议 12-17
dynamic: 启用动态维度
batch: 指定批次大小
workspace: GPU 内存限制(GB)
project:ONNX存放目录
apt update apt install -y \ build-essential \ python3 \ python3-venv \ python3-pip \ libgl1 \ libglib2.0-0
python3 -m venv yolo
source yolo/bin/activate
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
验证 PyTorch 与 CUDA:
python3 - << 'EOF'
import torch
print(torch.__version__)
print(torch.cuda.is_available())
print(torch.cuda.get_device_name(0))
EOF
期望输出示例:
True NVIDIA L40
pip install -U pip pip install ultralytics
验证安装:
yolo version
labelImg(官方项目):
Roboflow(Web):适合快速转换与增强
CVAT / Label Studio:适合团队与大规模数据
工程建议:
dataset/ ├── images/ │ ├── train/ │ └── val/ ├── labels/ │ ├── train/ │ └── val/ └── data.yaml
path: /workspace/yolo_project/dataset
train: images/train
val: images/val
names:
0: girl
yolo detect train \ data=/workspace/yolo_project/dataset/data.yaml \ project=/workspace/yolo_project/runs/detect \ name=train \ model=yolov8n.pt \ epochs=100 \ imgsz=640 \ batch=64 \ device=0 \ workers=8
训练完成后输出:
100 epochs completed Results saved to /.../runs/detect/trainX
/.../runs/detecXt/train/weights/best.ptresults.pngCUDA:0 (NVIDIA L40)
yolo detect predict \
model=/workspace/yolo_project/runs/detect/train/weights/best.pt \
source=/workspace/yolo_project/dataset/images/val \
conf=0.25 \
save=True
输出结果:
/.../runs/detect/predictX/
其中包含:
yolo detect predict \
model=/workspace/yolo_project/runs/detect/train/weights/best.pt \
source=demo.jpg
yolo detect predict \
model=/workspace/yolo_project/runs/detect/train/weights/best.pt \
source=/data/test_images
# 视频文件
yolo detect predict \
model=/workspace/yolo_project/runs/detect/train/weights/best.pt \
source=video.mp4
# 摄像头(本地环境)
yolo detect predict \
model=/workspace/yolo_project/runs/detect/train/weights/best.pt \
source=0
注意:服务器环境通常 无摄像头 / 无 GUI,不建议直接使用
source=0
yolo_project/ ├── dataset/ │ ├── images/ │ │ ├── train/ │ │ └── val/ │ ├── labels/ │ │ ├── train/ │ │ └── val/ │ └── data.yaml ├── runs/ ├── tools/ # 数据检查 / 转换脚本 ├── README.md # ← 本文档 └── train.sh
| 参数 | 作用 | 建议 |
|---|---|---|
| conf | 置信度阈值 | 0.25~0.5 |
| imgsz | 推理尺寸 | 与训练一致 |
| device | 推理设备 | 0 或 cpu |
| save | 是否保存结果 | 生产环境可关闭 |
**最终标准只有一个:**预测结果是否符合业务直觉
| 问题 | 原因 | 解决 |
|---|---|---|
| 检测不到目标 | conf 太高 | 调低 conf |
| 框很乱 | 过拟合 | 增加数据 |
| 类别错误 | 标注不一致 | 统一 label |