命令行界面
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 , 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 |
查看完整 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
。每个解决方案都有特定的参数,可以自定义以满足您的需求。