跳至内容

模型基准Ultralytics YOLO

Ultralytics YOLO 生态系统和集成

基准可视化

刷新浏览器

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











导言

一旦您的模型经过训练和验证,下一个合理的步骤就是评估其在各种实际场景中的性能。Ultralytics YOLO11 中的 "基准 "模式可实现这一目的,它提供了一个强大的框架,用于评估模型在各种导出格式下的速度和准确性



观看: Ultralytics 模式教程:基准测试

基准测试为何至关重要?

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

基准模式下的关键指标

  • mAP50-95:用于物体检测、分割和姿态估计。
  • accuracy_top5:用于图像分类
  • 推理时间:每个图像所需的时间,以毫秒为单位。

支持的导出格式

  • ONNX: CPU 最佳性能
  • TensorRT: GPU
  • OpenVINO:用于Intel 硬件优化
  • CoreML,TensorFlow SavedModel , 以及更多:满足各种部署需求。

提示

  • 导出到ONNX 或OpenVINO ,可将CPU 的速度提高 3 倍。
  • 导出到TensorRT ,可将GPU 的速度提高 5 倍。

使用示例

在所有支持的导出格式(包括ONNX,TensorRT 等)上运行 YOLO11n 基准。有关导出参数的完整列表,请参阅下面的参数部分。

示例

from ultralytics.utils.benchmarks import benchmark

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

论据

诸如 model, data, imgsz, half, deviceverbose 用户可以灵活地根据自己的具体需求对基准进行微调,并轻松比较不同导出格式的性能。

钥匙默认值说明
modelNone指定模型文件的路径。同时接受 .pt.yaml 格式,例如 "yolo11n.pt" 预训练模型或配置文件。
dataNone定义基准测试数据集的 YAML 文件的路径,通常包括以下内容的路径和设置 验证数据.例如 "coco8.yaml".
imgsz640模型的输入图像大小。对于正方形图像,可以是单个整数,也可以是一个元组 (width, height) 为非正方形,例如 (640, 480).
halfFalse启用 FP16(半精度)推理,在兼容硬件上可减少内存使用量并提高速度。使用 half=True 以启用。
int8False激活 INT8 量化,进一步优化受支持设备的性能,尤其适用于边缘设备。设置 int8=True 使用。
deviceNone定义用于基准测试的计算设备,例如 "cpu""cuda:0".
verboseFalse控制日志输出的详细程度。布尔值;设置 verbose=True 查看详细日志,或使用浮点数查看阈值错误。

导出格式

基准测试将尝试自动运行以下所有可能的导出格式。

格式format 论据模型元数据论据
PyTorch-yolo11n.pt-
TorchScripttorchscriptyolo11n.torchscriptimgsz, optimize, batch
ONNXonnxyolo11n.onnximgsz, half, dynamic, simplify, opset, batch
OpenVINOopenvinoyolo11n_openvino_model/imgsz, half, int8, batch
TensorRTengineyolo11n.engineimgsz, half, dynamic, simplify, workspace, int8, batch
CoreMLcoremlyolo11n.mlpackageimgsz, half, int8, nms, batch
TF SavedModelsaved_modelyolo11n_saved_model/imgsz, keras, int8, batch
TF GraphDefpbyolo11n.pbimgsz, batch
TF 轻型tfliteyolo11n.tfliteimgsz, half, int8, batch
TF 边缘TPUedgetpuyolo11n_edgetpu.tfliteimgsz
TF.jstfjsyolo11n_web_model/imgsz, half, int8, batch
PaddlePaddlepaddleyolo11n_paddle_model/imgsz, batch
MNNmnnyolo11n.mnnimgsz, batch, int8, half
NCNNncnnyolo11n_ncnn_model/imgsz, half, batch
IMX500imxyolo11n_imx_model/imgsz, int8

查看全文 export 中的详细信息 出口 page.

常见问题

如何使用Ultralytics 对 YOLO11 型号的性能进行基准测试?

Ultralytics YOLO11 提供基准模式,用于评估模型在不同导出格式下的性能。该模式可让您深入了解平均精度(mAP50-95)、准确度和以毫秒为单位的推理时间等关键指标。要运行基准,可以使用Python 或CLI 命令。例如,要在GPU :

示例

from ultralytics.utils.benchmarks import benchmark

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

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

将 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 天前

评论