绿色检查
链接复制到剪贴板

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

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

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

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

列车模式

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

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

验证模式

接下来,让我们进入验证模式。Ultralytics 提供了多种验证选项,包括自动设置、多指标支持以及与Python API 的兼容性。您甚至可以使用下面的命令直接通过命令行界面 (CLI) 运行验证。


yolo detect val model=yolov8n.pt # val official model

为什么要验证?

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

  • 精度:确保模型准确检测到物体。
  • 方便:简化验证过程。
  • 灵活性:提供多种验证方法。
  • 超参数调整:优化模型,提高性能

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

预测模式

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

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


from ultralytics import YOLO

# Load a pretrained YOLOv8n model
model = YOLO("yolov8n.pt")

# Run inference on 'bus.jpg' with arguments
model.predict("bus.jpg", save=True, imgsz=320, conf=0.5)

导出模式

验证和预测之后,您可能希望部署模型。通过导出模式,您可以将模型转换成各种格式,如ONNX 或TensorRT ,使其更易于在不同平台上部署。

基准模式

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

如何制定基准

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

真实世界基准示例

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

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

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

制定基准的重要性

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

结论

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

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

Facebook 徽标Twitter 徽标LinkedIn 徽标复制链接符号

在此类别中阅读更多内容

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

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