了解如何使用Ultralytics YOLO 模型进行训练、验证、预测、输出和基准测试!
让我们深入Ultralytics 的世界,探索不同YOLO 模型的不同模式。无论您是在训练自定义对象检测模型还是在进行分割,了解这些模式都是至关重要的一步。让我们直接进入主题!
通过Ultralytics 文档,您会发现有几种模式可以用于您的模型,无论是训练、验证、 预测、导出、基准还是跟踪。每种模式都有其独特的用途,可帮助您优化模型的性能和部署。
首先让我们来看看火车模式。这是您构建和完善模型的地方。您可以在文档中找到详细的说明和视频指南,从而轻松开始训练您的自定义模型。
模型训练包括为模型提供新的数据集,让它学习各种模式。训练完成后,模型就可以实时用于检测它所训练过的新对象。在开始训练过程之前,必须以YOLO 格式注释数据集。
接下来,让我们进入验证模式。Ultralytics 提供了多种验证选项,包括自动设置、多指标支持以及与Python API 的兼容性。您甚至可以使用下面的命令直接通过命令行界面 (CLI) 运行验证。
验证对于以下方面至关重要
Ultralytics 还提供了用户示例,您可以复制并粘贴到您的Python 脚本中。这些示例包括图像大小、批量大小、设备 (CPU 或GPU) 和联合交叉 (IoU) 等参数。
一旦模型经过训练和验证,就可以进行预测了。预测模式允许您在新数据上运行推理,并查看模型的运行情况。该模式非常适合在真实数据上测试模型的性能。
通过下面的python 代码片段,您就可以在图像上运行预测!
验证和预测之后,您可能希望部署模型。通过导出模式,您可以将模型转换成各种格式,如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 毫秒。
基准测试展示了不同硬件和导出格式对模型性能的影响。对模型进行基准测试至关重要,尤其是当您计划在定制硬件或边缘设备上部署模型时。这一过程可确保您的模型针对目标环境进行优化,尽可能提供最佳性能。
总之,Ultralytics 文档中的模式是对YOLO 模型进行训练、验证、预测、输出和基准测试的强大工具。每种模式都在优化模型和准备部署模型方面发挥着重要作用。
不要忘记探索和加入我们的社区,并在您的项目中试用所提供的代码片段。有了这些工具,您就可以创建高性能的模型,并确保它们在任何环境下都能高效运行。