在现实世界的应用场景中,评估模型的性能是至关重要的。Ultralytics YOLO11的基准测试模式提供了一个强大的框架,用于评估模型在各种导出格式下的速度和准确性。通过观看Ultralytics模式教程:基准测试,可以更好地理解这一过程。基准测试对于做出明智的决策、合理分配资源、优化模型以及提高成本效率都至关重要。它可以帮助了解不同导出格式在不同硬件上的表现,从而为特定用例选择最佳的导出格式。
在基准测试模式中,有几个关键指标需要关注,包括mAP50-95(用于目标检测、分割和姿态估计)、Top-5准确率(用于图像分类)以及每张图片的推理时间(以毫秒为单位)。这些指标有助于评估模型的性能,并为实际应用提供有价值的参考。
YOLO11支持多种导出格式,包括ONNX、TensorRT和OpenVINO等,每种格式都有其特定的优势。例如,ONNX可以为CPU提供最佳的性能,TensorRT可以为GPU提供最大的效率,而OpenVINO则专门针对Intel硬件进行了优化。此外,还支持CoreML、TensorFlow SavedModel等多种格式,以满足不同的部署需求。
要运行YOLO11n的基准测试,可以在所有支持的导出格式上进行,包括ONNX、TensorRT等。下面是一个使用Python和CLI进行基准测试的示例。
from ultralytics.utils.benchmarks import benchmark
# 在GPU上进行基准测试
benchmark(
model="yolo11n.pt",
data="coco8.yaml",
imgsz=640,
half=False,
device=0
)
在CLI中,可以使用类似的命令来执行基准测试。这些示例展示了如何使用不同的参数来微调基准测试,以满足特定的需求。
在运行基准测试时,可以通过一些参数来调整测试,例如model、data、imgsz、half、device和verbose等。这些参数允许用户根据具体需求来定制基准测试,并轻松比较不同导出格式的性能。例如,model参数指定模型文件的路径,data参数指向定义数据集的YAML文件,imgsz参数设置输入图像的大小,half参数启用FP16推理以提高性能,int8参数激活INT8量化以优化边缘设备的性能,device参数定义用于基准测试的计算设备,verbose参数控制日志输出的详细程度。
将YOLO11模型导出到不同的格式,如ONNX、TensorRT和OpenVINO,可以根据不同部署环境优化性能。例如,ONNX可以提供高达3倍的CPU加速,TensorRT可以提供高达5倍的GPU加速,而OpenVINO则专门针对Intel硬件进行了优化。这些格式不仅提高了模型的速度和准确性,还使它们更适合各种实际应用。
基准测试YOLO11模型至关重要,原因有多个:首先,它可以帮助了解速度和准确性之间的权衡;其次,它可以评估不同硬件选项的性能;再次,它可以确定哪种导出格式为特定用例提供最佳性能;最后,它可以根据基准测试结果优化硬件使用。关键指标如mAP50-95、Top-5准确率和推理时间有助于进行这些评估。
YOLO11支持多种导出格式,每种格式都针对特定的硬件和用例进行了优化。例如,ONNX最适合CPU性能,TensorRT最适合GPU效率,OpenVINO专门针对Intel硬件进行了优化,CoreML和TensorFlow适用于iOS和一般的机器学习应用。有关支持的格式及其优势的完整列表,请查看“支持的导出格式”部分。
在运行基准测试时,可以自定义多个参数以满足特定需求,例如:
有关参数的完整列表,请参考“参数”部分。