Meet YOLO26: next-gen vision AI.

Link to this section使用 Ultralytics YOLO 进行模型基准测试#

Ultralytics YOLO ecosystem and integrations

Link to this section基准测试可视化#

刷新浏览器

由于潜在的 cookie 问题,你可能需要刷新页面才能正确查看图表。

Link to this section简介#

在模型完成训练和验证后,接下来的逻辑步骤是评估其在各种现实场景中的表现。Ultralytics YOLO26 中的基准测试模式通过提供一个强大的框架,旨在评估模型在多种导出格式下的速度和 准确率



Watch: Benchmark Ultralytics YOLO26 Models | How to Compare Model Performance on Different Hardware?

Link to this section为什么基准测试至关重要?#

  • 明智决策: 深入了解速度与准确率之间的权衡。
  • 资源分配: 了解不同的导出格式在不同硬件上的性能表现。
  • 优化: 学习哪种导出格式最适合你的特定使用场景。
  • 成本效益: 根据基准测试结果更高效地使用硬件资源。

Link to this section基准测试模式中的关键指标#

  • mAP50-95: 适用于 目标检测、分割和姿态估计。
  • accuracy_top1: 针对 image classification
  • 推理时间: 每张图片所用的时间(毫秒)。

Link to this section支持的导出格式#

  • ONNX: 实现最佳 CPU 性能
  • TensorRT: 实现最大 GPU 效率
  • OpenVINO: 针对 Intel 硬件优化
  • CoreML、TensorFlow SavedModel 等: 满足多样化的部署需求。
提示
  • 导出至 ONNX 或 OpenVINO 可实现高达 3 倍的 CPU 加速。
  • 导出至 TensorRT 可实现高达 5 倍的 GPU 加速。

Link to this section使用示例#

推荐安装

在进行基准测试前,请安装带有导出依赖项的 Ultralytics,以避免缺少包。

pip install ultralytics[export]

运行 YOLO26n 在所有支持的导出格式(ONNX、TensorRT 等)上的基准测试。请查看下方的参数部分以获取完整的导出选项列表。

示例
from ultralytics.utils.benchmarks import benchmark

# Benchmark on GPU
benchmark(model="yolo26n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)

# Benchmark specific export format
benchmark(model="yolo26n.pt", data="coco8.yaml", imgsz=640, format="onnx")

Link to this section参数#

modeldataimgszhalfdeviceverboseformat 等参数为用户提供了灵活性,使其能够根据具体需求微调基准测试,并轻松比较不同导出格式的性能。

默认值描述
modelNone指定模型文件的路径。接受 .pt.yaml 格式,例如用于预训练模型或配置文件的 "yolo26n.pt"
dataNone定义基准测试数据集的 YAML 文件路径,通常包含 验证数据 的路径和设置。示例:"coco8.yaml"
imgsz640模型的输入图像大小。正方形图像必须为单个整数(例如 640);benchmark() 仅支持正方形图像大小。
halfFalse启用 FP16(半精度)推理,减少内存使用,并可能在兼容硬件上提高速度。使用 half=True 启用。
int8False激活 INT8 量化以在支持的设备上获得进一步优化的性能,特别适用于边缘设备。设置 int8=True 使用。
device'cpu'定义用于基准测试的计算设备,例如 "cpu""cuda:0"
verboseFalse控制日志输出的详细程度。设置 verbose=True 以获取详细日志。
format''仅对指定的导出格式进行基准测试(例如 format=onnx)。留空则自动测试每个受支持的格式。

Link to this section导出格式#

基准测试将尝试自动在下方列出的所有可能的导出格式上运行。此外,你可以使用 format 参数运行特定格式的基准测试,该参数接受下述任何格式。

格式format 参数模型元数据参数
PyTorch-yolo26n.pt-
TorchScripttorchscriptyolo26n.torchscriptimgsz, half, dynamic, optimize, nms, batch, device
ONNXonnxyolo26n.onnximgsz, half, int8, dynamic, simplify, opset, nms, batch, data, fraction, device
OpenVINOopenvinoyolo26n_openvino_model/imgsz, half, dynamic, int8, nms, batch, data, fraction, device
TensorRTengineyolo26n.engineimgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device
CoreMLcoremlyolo26n.mlpackageimgsz, dynamic, half, int8, nms, batch, device
TF SavedModelsaved_modelyolo26n_saved_model/imgsz, keras, int8, nms, batch, data, fraction, device
TF GraphDefpbyolo26n.pbimgsz, batch, device
TF Litetfliteyolo26n.tfliteimgsz, half, int8, nms, batch, data, fraction, device
TF Edge TPUedgetpuyolo26n_edgetpu.tfliteimgsz, int8, data, fraction, device
TF.jstfjsyolo26n_web_model/imgsz, half, int8, nms, batch, data, fraction, device
PaddlePaddlepaddleyolo26n_paddle_model/imgsz, batch, device
MNNmnnyolo26n.mnnimgsz, batch, int8, half, device
NCNNncnnyolo26n_ncnn_model/imgsz, half, batch, device
IMX500imxyolo26n_imx_model/imgsz, int8, data, fraction, nms, device
RKNNrknnyolo26n_rknn_model/imgsz, batch, name, int8, data, fraction, device
ExecuTorchexecutorchyolo26n_executorch_model/imgsz, batch, device
Axeleraaxelerayolo26n_axelera_model/imgsz, batch, int8, data, fraction, device
DEEPXdeepxyolo26n_deepx_model/imgsz, int8, data, optimize, device
Qualcomm QNNqnnyolo26n_qnn_model/imgsz, batch, name, int8, data, fraction, device

See full export details in the Export page.

Link to this section常见问题解答#

Link to this section我该如何使用 Ultralytics 对我的 YOLO26 模型进行性能基准测试?#

Ultralytics YOLO26 提供了一种基准测试模式,用于评估你的模型在不同导出格式下的性能。此模式提供了关键指标的深入分析,例如 平均精度均值 (mAP50-95)、准确率以及毫秒级的推理时间。你可以使用 Python 或 CLI 命令来运行基准测试。例如,在 GPU 上进行基准测试:

示例
from ultralytics.utils.benchmarks import benchmark

# Benchmark on GPU
benchmark(model="yolo26n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)

有关基准测试参数的更多详细信息,请访问 Arguments 部分。

Link to this section将 YOLO26 模型导出为不同格式有什么好处?#

将 YOLO26 模型导出为 ONNXTensorRTOpenVINO 等不同格式,能让你根据部署环境优化性能。例如:

  • ONNX: 提供高达 3 倍的 CPU 速度提升。
  • TensorRT: 提供高达 5 倍的 GPU 速度提升。
  • OpenVINO: 专为 Intel 硬件优化。

这些格式可以提高你模型的速度和准确性,使其在各种现实应用中更加高效。访问 Export 页面获取完整详情。

Link to this section为什么在评估 YOLO26 模型时基准测试至关重要?#

对你的 YOLO26 模型进行基准测试至关重要,原因如下:

  • 知情决策: 了解速度与准确性之间的权衡。
  • 资源分配: 评估不同硬件选项的性能。
  • 优化: 确定哪种导出格式为特定用例提供最佳性能。
  • 成本效益: 根据基准测试结果优化硬件使用。

mAP50-95、Top-1 准确率和推理时间等关键指标有助于进行这些评估。请参考 Key Metrics 部分以了解更多信息。

Link to this sectionYOLO26 支持哪些导出格式,它们各自的优势是什么?#

YOLO26 支持多种导出格式,每种格式都针对特定的硬件和用例进行了定制:

  • ONNX: CPU 性能表现最佳。
  • TensorRT: GPU 效率理想之选。
  • OpenVINO: 针对 Intel 硬件优化。
  • CoreML 和 TensorFlow 适用于 iOS 和通用 ML 应用。

如需支持格式的完整列表及其各自的优势,请查看 Supported Export Formats 部分。

Link to this section我可以使用哪些参数来微调我的 YOLO26 基准测试?#

在运行基准测试时,可以自定义多个参数以满足特定需求:

  • model: 模型文件的路径(例如 "yolo26n.pt")。
  • data: 定义数据集的 YAML 文件路径(例如 "coco8.yaml")。
  • imgsz: 输入图像大小,可以是单个整数或元组。
  • half: 启用 FP16 推理以获得更好的性能。
  • int8: 激活 INT8 量化以适应边缘设备。
  • device: 指定计算设备(例如 "cpu", "cuda:0")。
  • verbose: 控制日志记录的详细程度。

有关参数的完整列表,请参阅 Arguments 部分。

评论