模型基准Ultralytics YOLO
基准可视化
刷新浏览器
由于潜在的 cookie 问题,您可能需要刷新页面才能正确查看图表。
导言
一旦您的模型经过训练和验证,下一个合理的步骤就是评估其在各种实际场景中的性能。Ultralytics YOLO11 中的 "基准 "模式可实现这一目的,它提供了一个强大的框架,用于评估模型在各种导出格式下的速度和准确性。
观看: Ultralytics 模式教程:基准测试
基准测试为何至关重要?
- 明智决策:深入了解速度与准确性之间的权衡。
- 资源分配:了解不同导出格式在不同硬件上的性能。
- 优化:了解哪种导出格式能为您的特定用例提供最佳性能。
- 成本效益:根据基准测试结果,更有效地利用硬件资源。
基准模式下的关键指标
支持的导出格式
- ONNX: CPU 最佳性能
- TensorRT: GPU
- OpenVINO:用于Intel 硬件优化
- CoreML,TensorFlow SavedModel , 以及更多:满足各种部署需求。
提示
- 导出到ONNX 或OpenVINO ,可将CPU 的速度提高 3 倍。
- 导出到TensorRT ,可将GPU 的速度提高 5 倍。
使用示例
在所有支持的导出格式(包括ONNX,TensorRT 等)上运行 YOLO11n 基准。有关导出参数的完整列表,请参阅下面的参数部分。
示例
论据
诸如 model
, data
, imgsz
, half
, device
和 verbose
用户可以灵活地根据自己的具体需求对基准进行微调,并轻松比较不同导出格式的性能。
钥匙 | 默认值 | 说明 |
---|---|---|
model | None | 指定模型文件的路径。同时接受 .pt 和 .yaml 格式,例如 "yolo11n.pt" 预训练模型或配置文件。 |
data | None | 定义基准测试数据集的 YAML 文件的路径,通常包括以下内容的路径和设置 验证数据.例如 "coco8.yaml" . |
imgsz | 640 | 模型的输入图像大小。对于正方形图像,可以是单个整数,也可以是一个元组 (width, height) 为非正方形,例如 (640, 480) . |
half | False | 启用 FP16(半精度)推理,在兼容硬件上可减少内存使用量并提高速度。使用 half=True 以启用。 |
int8 | False | 激活 INT8 量化,进一步优化受支持设备的性能,尤其适用于边缘设备。设置 int8=True 使用。 |
device | None | 定义用于基准测试的计算设备,例如 "cpu" 或 "cuda:0" . |
verbose | False | 控制日志输出的详细程度。布尔值;设置 verbose=True 查看详细日志,或使用浮点数查看阈值错误。 |
导出格式
基准测试将尝试自动运行以下所有可能的导出格式。
格式 | format 论据 | 模型 | 元数据 | 论据 |
---|---|---|---|---|
PyTorch | - | yolo11n.pt | ✅ | - |
TorchScript | torchscript | yolo11n.torchscript | ✅ | imgsz , optimize , batch |
ONNX | onnx | yolo11n.onnx | ✅ | imgsz , half , dynamic , simplify , opset , batch |
OpenVINO | openvino | yolo11n_openvino_model/ | ✅ | imgsz , half , int8 , batch |
TensorRT | engine | yolo11n.engine | ✅ | imgsz , half , dynamic , simplify , workspace , int8 , batch |
CoreML | coreml | yolo11n.mlpackage | ✅ | imgsz , half , int8 , nms , batch |
TF SavedModel | saved_model | yolo11n_saved_model/ | ✅ | imgsz , keras , int8 , batch |
TF GraphDef | pb | yolo11n.pb | ❌ | imgsz , batch |
TF 轻型 | tflite | yolo11n.tflite | ✅ | imgsz , half , int8 , batch |
TF 边缘TPU | edgetpu | yolo11n_edgetpu.tflite | ✅ | imgsz |
TF.js | tfjs | yolo11n_web_model/ | ✅ | imgsz , half , int8 , batch |
PaddlePaddle | paddle | yolo11n_paddle_model/ | ✅ | imgsz , batch |
MNN | mnn | yolo11n.mnn | ✅ | imgsz , batch , int8 , half |
NCNN | ncnn | yolo11n_ncnn_model/ | ✅ | imgsz , half , batch |
IMX500 | imx | yolo11n_imx_model/ | ✅ | imgsz , int8 |
查看全文 export
中的详细信息 出口 page.
常见问题
如何使用Ultralytics 对 YOLO11 型号的性能进行基准测试?
Ultralytics YOLO11 提供基准模式,用于评估模型在不同导出格式下的性能。该模式可让您深入了解平均精度(mAP50-95)、准确度和以毫秒为单位的推理时间等关键指标。要运行基准,可以使用Python 或CLI 命令。例如,要在GPU :
示例
有关基准参数的详细信息,请访问参数部分。
将 YOLO11 模型导出为不同格式有什么好处?
将 YOLO11 模型导出为ONNX 、TensorRT 和OpenVINO 等不同格式,可以根据部署环境优化性能。例如
- ONNX:提供高达 3 倍的CPU 速度。
- TensorRT:提供高达 5 倍的GPU 速度。
- OpenVINO:专门针对Intel 硬件进行了优化。这些格式提高了模型的速度和精度,使其在各种实际应用中更加高效。请访问导出页面了解完整详情。
为什么基准测试对评估 YOLO11 型号至关重要?
出于几个原因,对 YOLO11 型号进行基准测试至关重要:
- 知情决策:了解速度与准确性之间的权衡。
- 资源分配:衡量不同硬件选项的性能。
- 优化:确定哪种导出格式能为特定用例提供最佳性能。
- 成本效益:根据基准结果优化硬件使用。mAP50-95、Top-5 精确度和推理时间等关键指标有助于进行这些评估。更多信息,请参阅关键指标部分。
YOLO11 支持哪些导出格式,它们有哪些优势?
YOLO11 支持多种导出格式,每种格式都是为特定硬件和使用情况量身定制的:
- ONNX: CPU 性能最佳。
- TensorRT: GPU 效率的理想选择。
- OpenVINO:针对Intel 硬件进行了优化。
- CoreML &TensorFlow:适用于iOS 和一般 ML 应用程序。有关支持格式的完整列表及其各自优势,请查看 "支持的导出格式"部分。
我可以使用哪些参数来微调 YOLO11 基准?
在运行基准测试时,有几个参数可以根据具体需要进行定制:
- 模型:模型文件的路径(如 "yolo11n.pt")。
- 数据:定义数据集的 YAML 文件的路径(如 "coco8.yml")。
- imgsz:输入图像的大小,可以是一个整数,也可以是一个元组。
- 一半:启用 FP16 推理,提高性能。
- int8:为边缘设备激活 INT8 量化。
- 设备:指定计算设备(例如,"cpu"、"cuda:0")。
- verbose:控制日志记录的详细程度。有关参数的完整列表,请参阅参数部分。
📅创建于 1 年前 ✏️已更新 1 天前