命令行界面
Ultralytics 命令行界面 (CLI) 提供了一种直接使用 Ultralytics YOLO 模型的方法,而无需 Python 环境。CLI 支持使用以下命令直接从终端运行各种任务 yolo 命令,无需定制或 python 代码。
观看: 精通 Ultralytics YOLO:CLI
示例
Ultralytics yolo 命令使用以下语法:
yolo TASK MODE ARGS
哪里:
- TASK (可选)是 [detect, segment, classify, pose, obb] 之一
- MODE (必需)为 [train, val, predict, export, track, benchmark] 之一
- ARGS (可选)是任意数量的自定义 arg=value 键值对,例如 imgsz=320 用于覆盖默认值。
在完整版中查看所有 ARGS 配置指南 或使用 yolo cfg.
使用预训练的分割模型在YouTube视频上以320的图像尺寸进行预测:
yolo predict model=yolo11n-seg.pt source='https://youtu.be/LNwODJXcvt4' imgsz=320
使用 1 的 batch size 和 640 的图像大小验证预训练的检测模型:
yolo val model=yolo11n.pt data=coco8.yaml batch=1 imgsz=640
将 YOLO 分类模型导出为 ONNX 格式,图像大小为 224x128(无需 TASK):
yolo export model=yolo11n-cls.pt format=onnx imgsz=224,128
运行特殊命令以查看版本、设置、运行检查等:
yolo help
yolo checks
yolo version
yolo settings
yolo copy-cfg
yolo cfg
其中:
TASK(可选)是以下之一[detect, segment, classify, pose, obb]。如果未明确传递,YOLO 将尝试推断TASK。MODE(必需)是以下之一[train, val, predict, export, track, benchmark]ARGS(可选)是任意数量的自定义arg=value键值对,例如imgsz=320,用于覆盖默认值。 有关可用ARGS,请参阅 配置 页面和defaults.yaml.
警告
参数必须以 arg=val 对,用等号分隔 = 签名,并用空格分隔对。不要使用 -- 参数前缀或逗号 , 在参数之间。
yolo predict model=yolo11n.pt imgsz=640 conf=0.25✅yolo predict model yolo11n.pt imgsz 640 conf 0.25❌yolo predict --model yolo11n.pt --imgsz 640 --conf 0.25❌
训练
在 COCO8 数据集上训练 YOLO,图像大小为 640,训练 100 个 epoch。有关可用参数的完整列表,请参见配置页面。
示例
开始在 COCO8 数据集上训练 YOLO11n,图像大小为 640,训练 100 个 epoch:
yolo detect train data=coco8.yaml model=yolo11n.pt epochs=100 imgsz=640
恢复中断的训练会话:
yolo detect train resume model=last.pt
验证
验证 准确性 在 COCO8 数据集上训练模型的。由于 model 保留其训练 data 和参数作为模型属性,因此无需任何参数。
示例
验证官方 YOLO11n 模型:
yolo detect val model=yolo11n.pt
验证自定义训练的模型:
yolo detect val model=path/to/best.pt
预测
使用训练好的模型来运行图像预测。
示例
使用官方YOLO11n模型进行预测:
yolo detect predict model=yolo11n.pt source='https://ultralytics.com/images/bus.jpg'
使用自定义模型进行预测:
yolo detect predict model=path/to/best.pt source='https://ultralytics.com/images/bus.jpg'
导出
将模型导出为其他格式,如 ONNX 或 CoreML。
示例
将官方 YOLO11n 模型导出为 ONNX 格式:
yolo export model=yolo11n.pt format=onnx
将自定义训练的模型导出为 ONNX 格式:
yolo export model=path/to/best.pt format=onnx
下表列出了可用的 Ultralytics 导出格式。您可以使用以下命令导出为任何格式: format 参数,即 format='onnx' 或 format='engine'.
| 格式 | format 参数 |
模型 | 元数据 | 参数 |
|---|---|---|---|---|
| PyTorch | - | yolo11n.pt |
✅ | - |
| TorchScript | torchscript |
yolo11n.torchscript |
✅ | imgsz, half, dynamic, optimize, nms, batch, device |
| ONNX | onnx |
yolo11n.onnx |
✅ | imgsz, half, dynamic, simplify, opset, nms, batch, device |
| OpenVINO | openvino |
yolo11n_openvino_model/ |
✅ | imgsz, half, dynamic, int8, nms, batch, data, fraction, device |
| TensorRT | engine |
yolo11n.engine |
✅ | imgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device |
| CoreML | coreml |
yolo11n.mlpackage |
✅ | imgsz, dynamic, half, int8, nms, batch, device |
| TF SavedModel | saved_model |
yolo11n_saved_model/ |
✅ | imgsz, keras, int8, nms, batch, device |
| TF GraphDef | pb |
yolo11n.pb |
❌ | imgsz, batch, device |
| TF Lite | tflite |
yolo11n.tflite |
✅ | imgsz, half, int8, nms, batch, data, fraction, device |
| TF Edge TPU | edgetpu |
yolo11n_edgetpu.tflite |
✅ | imgsz, device |
| TF.js | tfjs |
yolo11n_web_model/ |
✅ | imgsz, half, int8, nms, batch, device |
| PaddlePaddle | paddle |
yolo11n_paddle_model/ |
✅ | imgsz, batch, device |
| MNN | mnn |
yolo11n.mnn |
✅ | imgsz, batch, int8, half, device |
| NCNN | ncnn |
yolo11n_ncnn_model/ |
✅ | imgsz, half, batch, device |
| IMX500 | imx |
yolo11n_imx_model/ |
✅ | imgsz, int8, data, fraction, device |
| RKNN | rknn |
yolo11n_rknn_model/ |
✅ | imgsz, batch, name, device |
| ExecuTorch | executorch |
yolo11n_executorch_model/ |
✅ | imgsz, device |
查看完整 export 有关的详细信息 导出 页面。
覆盖默认参数
通过在 CLI 中传递参数来覆盖默认参数,例如 arg=value 键值对的形式传递参数来覆盖默认参数。
提示
训练一个检测模型 10 个 epochs,学习率为 0.01:
yolo detect train data=coco8.yaml model=yolo11n.pt epochs=10 lr0=0.01
使用预训练的分割模型在YouTube视频上以320的图像尺寸进行预测:
yolo segment predict model=yolo11n-seg.pt source='https://youtu.be/LNwODJXcvt4' imgsz=320
使用 1 的批量大小和 640 的图像大小验证预训练的检测模型:
yolo detect val model=yolo11n.pt data=coco8.yaml batch=1 imgsz=640
覆盖默认配置文件
覆盖 default.yaml 通过传递一个新文件来完全替换配置文件。 cfg 参数,例如 cfg=custom.yaml.
为此,首先创建一份副本 default.yaml 在您当前的工作目录中使用 yolo copy-cfg 命令,它会创建一个 default_copy.yaml 文件。
然后,您可以将此文件作为以下内容传递: cfg=default_copy.yaml 以及任何其他参数,例如 imgsz=320 在此示例中:
示例
yolo copy-cfg
yolo cfg=default_copy.yaml imgsz=320
解决方案命令
Ultralytics 通过 CLI 为常见的计算机视觉应用提供即用型解决方案。这些解决方案简化了对象计数、锻炼监控和队列管理等复杂任务的实施。
示例
统计视频或直播流中的物体数量:
yolo solutions count show=True
yolo solutions count source="path/to/video.mp4" # specify video file path
使用姿势模型监控锻炼练习:
yolo solutions workout show=True
yolo solutions workout source="path/to/video.mp4" # specify video file path
# Use keypoints for ab-workouts
yolo solutions workout kpts=[5, 11, 13] # left side
yolo solutions workout kpts=[6, 12, 14] # right side
统计指定队列或区域中的物体数量:
yolo solutions queue show=True
yolo solutions queue source="path/to/video.mp4" # specify video file path
yolo solutions queue region="[(20, 400), (1080, 400), (1080, 360), (20, 360)]" # configure queue coordinates
使用 Streamlit 在 Web 浏览器中执行对象检测、实例分割或姿势估计:
yolo solutions inference
yolo solutions inference model="path/to/model.pt" # use custom model
查看可用的解决方案及其选项:
yolo solutions help
有关 Ultralytics 解决方案的更多信息,请访问解决方案页面。
常见问题
如何使用 Ultralytics YOLO 命令行界面 (CLI) 进行模型训练?
要使用 CLI 训练模型,请在终端中执行单行命令。例如,要训练一个检测模型 10 个 epoch,学习率为 0.01,请运行:
yolo train data=coco8.yaml model=yolo11n.pt epochs=10 lr0=0.01
此命令使用 train 具有特定参数的模式。有关可用参数的完整列表,请参阅 配置指南.
我可以使用 Ultralytics YOLO CLI 执行哪些任务?
Ultralytics YOLO CLI 支持各种任务,包括检测、分割、分类、姿势估计和旋转框检测。您还可以执行以下操作:
- 训练模型:运行
yolo train data=<data.yaml> model=<model.pt> epochs=<num>. - 运行预测:使用
yolo predict model=<model.pt> source=<data_source> imgsz=<image_size>. - 导出模型:执行
yolo export model=<model.pt> format=<export_format>. - 使用解决方案:运行
yolo solutions <solution_name>用于现成的应用程序。
使用各种参数自定义每个任务。有关详细的语法和示例,请参阅相应的章节,如 Train、Predict 和 Export。
如何使用 CLI 验证已训练 YOLO 模型的准确性?
要验证模型的 准确性,使用 val 模式。例如,要验证具有批处理大小为 1 和图像大小为 640 的预训练检测模型,请运行: 批次大小 为 1,图像大小为 640,运行:
yolo val model=yolo11n.pt data=coco8.yaml batch=1 imgsz=640
此命令在指定的数据集上评估模型,并提供性能指标,如 mAP、精度 和 召回率。有关更多详细信息,请参阅 Val 部分。
我可以使用 CLI 将我的 YOLO 模型导出为什么格式?
您可以将 YOLO 模型导出为各种格式,包括 ONNX、TensorRT、CoreML、TensorFlow 等。例如,要将模型导出为 ONNX 格式,请运行:
yolo export model=yolo11n.pt format=onnx
export 命令支持许多选项,可以针对特定的部署环境优化您的模型。有关所有可用导出格式及其特定参数的完整详细信息,请访问导出页面。
如何在 Ultralytics CLI 中使用预构建的解决方案?
Ultralytics 通过以下方式提供即用型解决方案 solutions 命令。例如,要计算视频中的对象:
yolo solutions count source="path/to/video.mp4"
这些解决方案只需要最少的配置,并为常见的计算机视觉任务提供即时功能。要查看所有可用的解决方案,请运行 yolo solutions help。每个解决方案都有特定的参数,可以自定义以满足您的需求。