如何使用 Ultralytics YOLO 模型进行训练、验证、预测、输出和基准测试

努沃拉-拉迪

3 分钟阅读

2024年7月24日

了解如何使用 Ultralytics YOLO 模型进行训练、验证、预测、输出和基准测试!

让我们进入 Ultralytics 的世界,探索不同 YOLO 模型的不同模式。无论您是在训练自定义对象检测模型还是在进行分割,了解这些模式都是至关重要的一步。让我们直接进入主题!

通过 Ultralytics文档,你会发现有几种模式可以用于你的模型,无论是训练验证 预测输出基准还是跟踪。每种模式都有其独特的作用,可以帮助你优化模型的性能和部署。

列车模式

首先让我们来看看火车模式。这是您构建和完善模型的地方。您可以在文档中找到详细的说明和视频指南,从而轻松开始训练您的自定义模型。

模型训练包括为模型提供新的数据集,让它学习各种模式。一旦训练完成,模型就可以实时用于检测它所训练过的新对象。在开始训练过程之前,必须以 YOLO 格式注释数据集。

验证模式

接下来,让我们进入验证模式。验证对于调整超参数和确保模型运行良好至关重要。Ultralytics 提供了多种验证选项,包括自动设置、多参数支持以及与 Python API 的兼容性。你甚至可以通过下面的命令行界面(CLI)直接运行验证。

为什么要验证?

验证对于以下方面至关重要

  • 精度
  • 方便
  • 灵活性
  • 超参数调整:优化模型,提高性能

Ultralytics 还提供了用户示例,用户可以将其复制并粘贴到 Python 脚本中。这些示例包括图像大小、批量大小、设备(CPU 或 GPU)和联合交叉(IoU)等参数。

预测模式

一旦模型经过训练和验证,就可以进行预测了。预测模式允许您在新数据上运行推理,并查看模型的运行情况。该模式非常适合在实际数据上测试模型的性能。

通过下面的 python 代码片段,您就可以在图像上运行预测!

导出模式

验证和预测之后,您可能想要部署模型。通过导出模式,您可以将模型转换成 ONNX 或 TensorRT 等各种格式,从而更方便地在不同平台上部署。

基准模式

最后,我们还有基准模式。基准模式对于评估模型在各种情况下的性能至关重要。该模式可帮助您在资源分配、优化和成本效益方面做出明智的决策。

如何设定基准

要运行基准测试,可以使用文档中提供的用户示例。这些示例涵盖了关键指标和导出格式,包括 ONNX 和 TensorRT。您还可以指定整数量化 (INT8) 或浮点量化 (FP16) 等参数,了解不同设置对性能的影响。

真实世界基准范例

让我们来看一个实际的基准测试例子。当我们对 PyTorch 模型进行基准测试时,我们发现在 RTX 3070 GPU 上的推理速度为 68 毫秒。导出到 TorchScript 后,推理速度下降到 4 毫秒,显示了显著的改进。

对于 ONNX 模型,我们的推理速度为 21 毫秒。在 CPU(英特尔 i9 第 13 代处理器)上测试这些模型时,我们看到了不同的结果。TorchScript 的运行速度为 115 毫秒,而 ONNX 的运行速度更快,为 84 毫秒。最后,针对英特尔硬件优化的 OpenVINO 的运行速度达到了 23 毫秒。

__wf_保留继承
图 1.Nicolai Nielsen演示如何使用 Ultralytics YOLO 模型进行基准测试。

制定基准的重要性

基准测试展示了不同硬件和导出格式对模型性能的影响。对模型进行基准测试至关重要,尤其是当您计划在定制硬件或边缘设备上部署模型时。这一过程可确保您的模型针对目标环境进行优化,尽可能提供最佳性能。

结论

总之,Ultralytics 文档中的模式是训练、验证、预测、输出和基准测试 YOLO 模型的强大工具。每种模式都在优化模型和准备部署模型方面发挥着重要作用。

不要忘记探索和加入我们的社区,并在您的项目中试用所提供的代码片段。有了这些工具,您就可以创建高性能的模型,并确保它们在任何环境下都能高效运行。

让我们共同打造人工智能的未来

开始您的未来机器学习之旅

免费开始
链接复制到剪贴板