跳转至内容

使用 Ultralytics YOLO 进行模型基准测试

Ultralytics YOLO 生态系统和集成

基准测试可视化

刷新浏览器

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

简介

模型训练和验证完成后,下一步是评估其在各种实际场景中的性能。Ultralytics YOLO26中的基准测试模式通过提供一个强大的框架,用于评估模型在各种导出格式下的速度和准确性,从而实现这一目的。



观看: 对Ultralytics YOLO26模型进行基准测试 | 如何比较模型在不同硬件上的性能?

为什么基准测试至关重要?

  • 明智的决策: 深入了解速度和准确性之间的权衡。
  • 资源分配: 了解不同的导出格式在不同硬件上的表现。
  • 优化: 了解哪种导出格式为您的特定用例提供最佳性能。
  • 成本效益: 根据基准测试结果,更有效地利用硬件资源。

基准模式中的关键指标

  • mAP50-95: 用于目标检测、segmentation 和 姿势估计。
  • accuracy_top5: 适用于图像分类
  • 推理时间: 每张图像所花费的时间,以毫秒为单位。

支持的导出格式

  • ONNX: 实现最佳 CPU 性能
  • TensorRT: 实现最大 GPU 效率
  • OpenVINO: 针对 Intel 硬件优化
  • CoreML、TensorFlow SavedModel 及更多: 满足多样化的部署需求。

提示

  • 导出为 ONNX 或 OpenVINO 格式,CPU 速度提升高达 3 倍。
  • 导出为 TensorRT 格式,GPU 速度提升高达 5 倍。

使用示例

在所有支持的导出格式(ONNX、TensorRT等)上运行YOLO26n基准测试。有关导出选项的完整列表,请参阅下面的“参数”部分。

示例

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")
yolo benchmark model=yolo26n.pt data='coco8.yaml' imgsz=640 half=False device=0

# Benchmark specific export format
yolo benchmark model=yolo26n.pt data='coco8.yaml' imgsz=640 format=onnx

参数

诸如以下的参数: model, data, imgsz, half, device, verboseformat 使用户可以灵活地根据其特定需求微调基准测试,并轻松比较不同导出格式的性能。

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

导出格式

基准测试将尝试在下面列出的所有可能的导出格式上自动运行。或者,您可以使用以下命令为特定格式运行基准测试 format 参数,它接受以下提到的任何格式。

格式format 参数模型元数据参数
PyTorch-yolo26n.pt-
TorchScripttorchscriptyolo26n.torchscriptimgsz, half, dynamic, optimize, nms, batch, device
ONNXonnxyolo26n.onnximgsz, half, dynamic, simplify, opset, nms, batch, 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, device
TF GraphDefpbyolo26n.pbimgsz, batch, device
TF Litetfliteyolo26n.tfliteimgsz, half, int8, nms, batch, data, fraction, device
TF Edge TPUedgetpuyolo26n_edgetpu.tfliteimgsz, device
TF.jstfjsyolo26n_web_model/imgsz, half, int8, nms, batch, 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, device
RKNNrknnyolo26n_rknn_model/imgsz, batch, name, device
ExecuTorchexecutorchyolo26n_executorch_model/imgsz, device
Axeleraaxelerayolo26n_axelera_model/imgsz, int8, data, fraction, device

查看完整 export 详情请参见 导出 页面。

常见问题

如何使用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)
yolo benchmark model=yolo26n.pt data='coco8.yaml' imgsz=640 half=False device=0

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

将YOLO26模型导出为不同格式有什么好处?

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

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

这些格式提高了模型的速度和准确性,使其对于各种实际应用更加高效。请访问导出页面了解完整详细信息。

为什么基准测试在评估YOLO26模型中至关重要?

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

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

mAP50-95、Top-5 准确率和推理时间等关键指标有助于进行这些评估。有关更多信息,请参阅关键指标部分。

YOLO26支持哪些导出格式,它们各有什么优势?

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

  • ONNX: 最适合 CPU 性能。
  • TensorRT: 非常适合 GPU 效率。
  • OpenVINO: 针对 Intel 硬件进行了优化。
  • CoreML & TensorFlow: 适用于 iOS 和通用 ML 应用。

有关支持的格式及其各自优点的完整列表,请查看支持的导出格式部分。

我可以使用哪些参数来微调YOLO26的基准测试?

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

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

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



📅 创建于 2 年前 ✏️ 更新于 2 天前
glenn-jocherRizwanMunawarBurhan-Qambitious-octopuspderrengerlakshanthadY-T-GUltralyticsAssistantjk4eMatthewNoyceRizwanMunawar

评论