如何使用 Ultralytics YOLO 模型进行训练、验证、预测、导出和基准测试
了解 Ultralytics YOLO 的 train、val、predict、export、track 和 benchmark 模式如何工作,并获取验证指标与真实基准测试结果方面的实用建议。
Nuvola Ladi3 分钟阅读
Ultralytics YOLO 模型提供多种模式,覆盖完整的模型生命周期。无论你是在训练定制的目标检测模型,还是在处理分割任务,了解这些模式都是关键一步。
通过 Ultralytics 文档,你可以找到多种模式,用于对模型进行训练、验证、预测、导出、跟踪或基准测试。每种模式都有独特用途,可帮助你优化模型性能和部署。
训练模式#
首先,我们来看看训练模式。你可以在这里构建和改进模型。文档中提供了详细说明和视频指南,让你轻松开始训练定制模型。
模型训练是指向模型提供新的数据集,让模型学习各种模式。训练完成后,模型可以实时检测它学过的新物体。开始训练之前,必须先按照 YOLO 格式标注数据集。
验证模式#
接下来,我们来看看验证模式。验证对于调整超参数和确保模型表现良好至关重要。Ultralytics 提供多种验证选项,包括自动化设置、多指标支持以及与 Python API 的兼容性。你甚至可以通过命令行界面 (CLI) 用一条命令直接运行验证。
为什么要进行验证?#
验证对于以下方面至关重要:
- 精确性:确保模型能够准确检测目标。
- 便捷性:简化验证流程。
- 灵活性:提供多种验证方法。
- 超参数调整:优化模型以获得更好的性能。
Ultralytics 还提供了可复制并粘贴到 Python 脚本中的示例。这些示例包含图像尺寸、批次大小、设备(CPU 或 GPU)以及交并比 (IoU) 等参数。
预测模式#
模型训练并验证完成后,就可以开始进行预测了。Predict 模式允许你对新数据运行推理,查看模型的实际表现。该模式非常适合用真实数据测试模型性能。只需几行 Python 代码,你就能对图像运行预测。
导出模式#
完成验证和预测后,你可能需要部署模型。导出模式可将模型转换为多种格式,例如 ONNX 或 TensorRT,从而更轻松地将模型部署到不同平台。
基准测试模式#
最后是基准测试模式。基准测试对于评估模型在各种场景中的性能至关重要。此模式有助于你就资源分配、优化和成本效益做出明智决策。
如何进行基准测试#
要运行基准测试,你可以使用文档中提供的用户示例。这些示例涵盖关键指标和导出格式,包括 ONNX 和 TensorRT。你还可以设置 quantize 参数,进行整数精度量化 (INT8) 或半精度 (FP16) 运算,看看不同设置会如何影响性能。
真实场景中的基准测试示例#
来看一个真实场景中的基准测试示例。对 PyTorch 模型进行基准测试时,我们发现它在 RTX 3070 GPU 上的推理速度为 68 毫秒。导出为 TorchScript 后,推理速度降至 4 毫秒,性能显著提升。
对于 ONNX 模型,我们实现了 21 毫秒的推理速度。在 CPU(第 13 代 Intel i9)上测试这些模型时,我们发现结果各不相同。TorchScript 的运行时间为 115 毫秒,而 ONNX 表现更好,运行时间为 84 毫秒。最后,针对 Intel 硬件优化的 OpenVINO 达到了 23 毫秒。

图 1:Nicolai Nielsen演示如何使用 Ultralytics YOLO 模型运行基准测试。
基准测试的重要性#
基准测试展示了不同硬件和导出格式对模型性能的影响。如果你计划将模型部署到定制硬件或边缘设备上,进行基准测试尤为重要。这个过程能确保模型针对目标环境完成优化,从而实现尽可能出色的性能。
结论#
总之,Ultralytics 文档中的各种模式是训练、验证、预测、导出和基准测试 YOLO 模型的强大工具。每种模式都对优化模型并为部署做好准备发挥着重要作用。
别忘了探索并加入我们的社区,并在项目中试用提供的代码片段。借助这些工具,你可以创建高性能模型,并确保模型在任何环境中都能高效运行。
作者
评论
提出问题、分享你的结果,或帮助其他人。










