术语表

ONNX (开放神经网络交流)

了解ONNX 如何增强人工智能模型的可移植性和互操作性,实现在不同平台上无缝部署Ultralytics YOLO 模型。

使用Ultralytics HUB 对YOLO 模型进行简单培训

了解更多

在人工智能和机器学习领域,互操作性是利用最佳工具和在不同环境中部署模型的关键。ONNX (开放神经网络交换(Open Neural Network Exchange)是一种开放格式,用于表示机器学习模型,确保人工智能开发人员不会被锁定在单一框架内,并能简化在不同工具间移动模型的过程。它为模型提供了一种统一的表示方法,而不管训练时使用的是哪种框架,这使得在各种推理引擎、硬件平台和环境中部署这些模型变得更加简单。

相关性ONNX

ONNX 的主要意义在于它能够促进人工智能生态系统的可移植性和互操作性。通过为机器学习模型定义一套通用的运算符和标准格式,ONNX 允许在诸如 PyTorch或TensorFlow 等框架中训练出来的模型可以轻松地转移到不同的推理引擎中运行,如 TensorRTOpenVINO.Ultralytics 这对使用Ultralytics YOLO 模型的开发人员尤其有利,因为ONNX 的导出简化了从云服务器到边缘设备等各种平台上的模型部署YOLOv8模型导出为ONNX 格式,使用户能够利用优化的推理引擎来提高性能和加快实时推理

应用ONNX

ONNX的跨框架兼容性使其在众多人工智能应用中发挥了重要作用。两个具体的例子是

  • 边缘部署:在边缘设备上部署人工智能模型通常需要优化性能并与特定硬件兼容。ONNX 允许开发人员使用PyTorch 等高级框架训练模型,然后将其导出到ONNX ,以便在边缘设备上使用推理引擎高效运行,如 TensorRT在NVIDIA Jetson 或 OpenVINOIntel 设备上运行。这就确保了智能相机或机器人等应用能够利用Ultralytics YOLO 模型实时有效地执行物体检测任务。
  • 跨平台推理:在人工智能解决方案需要跨不同操作系统和硬件运行的情况下,ONNX 可提供一致的模型格式。例如,医疗图像分析应用可能是在功能强大的服务器上训练的,但需要在医院或诊所的低功耗机器上执行推理。ONNX 可实现同一模型在不同环境中的无缝转换和执行,无论部署平台如何,都能确保性能的一致性和可靠性。

相关概念

要了解ONNX ,还需要认识在模型部署和优化中发挥作用的相关概念:

  • 推理引擎:ONNX 模型通常与推理引擎配合使用,如 TensorRTOpenVINO等推理引擎,以提高推理速度和效率。
  • 出口型号:将训练有素的模型从其原始框架格式(如......)转换为.....、PyTorch .pt 文件)转换成ONNX 格式。Ultralytics 提供了直接的工具,用于 导出YOLO 模型 ONNX 和其他格式。
  • 框架互操作性:ONNX 允许在不同框架中使用模型,从而解决了框架锁定的难题。虽然每个框架都有自己的优势,但ONNX 可确保开发人员在没有兼容性障碍的情况下,为人工智能生命周期的每个阶段选择最佳工具。

通过采用ONNX ,开发人员可以大大简化他们的人工智能工作流程,降低部署的复杂性,并确保他们的模型在广泛的应用和平台上具有通用性和性能。

阅读全部