ONNX 生态系统



ONNX(开放神经网络交换)生态系统是一个工具、平台和服务的集合,旨在促进使用 ONNX 作为标准格式的机器学习模型的开发、部署和优化。ONNX 提供了一种表示机器学习模型的开放格式,从而实现了不同框架和工具之间的互操作性。

一般来说,生态系统是指在一个特定环境中相互作用的组件的复杂网络或互连系统。ONNX 生态系统旨在增强互操作性、优化性能并简化机器学习模型在各种环境和应用程序中的部署。

ONNX 生态系统的关键组件

以下是 ONNX 生态系统的关键组件:

ONNX 运行时

ONNX 运行时是一个高性能引擎,旨在高效运行 ONNX 模型。它是一个帮助更快、更高效地运行机器学习模型的工具。ONNX 运行时支持来自 PyTorch、TensorFlow 和 scikit-learn 等流行框架的模型,从而可以轻松地在不同环境之间移动模型。

模型转换和导出工具

ONNX 提供各种可用的工具:

  • ONNX 导出器:将模型从流行框架(如 PyTorch、TensorFlow 和 scikit-learn)转换为 ONNX 格式的工具,从而实现模型互操作性和部署。
  • ONNX 导入器:支持将 ONNX 模型导入到不同框架或环境中以进行进一步处理或部署的工具。

集成平台

我们可以将 ONNX 与各种平台集成,其中一些列在下面:

  • Azure 机器学习:提供在云中训练、部署和管理 ONNX 模型的服务,并与各种 Azure 服务集成以增强可扩展性和性能。
  • Azure 自定义视觉:允许用户将其自定义视觉模型导出为 ONNX 格式,使其可以随时在不同平台上部署。
  • Azure SQL Edge:支持在边缘设备上使用 ONNX 模型进行机器学习预测,从而能够在 Azure SQL Edge 中进行机器学习模型的推理。
  • Azure Synapse Analytics:在 Synapse SQL 中集成 ONNX 模型。

推理服务器

NVIDIA Triton 推理服务器:一个支持 ONNX 运行时作为后端的服务器,可以在 NVIDIA GPU 上实现高效且可扩展的模型推理。Triton 提供高性能推理并支持多种模型格式,包括 ONNX。

自动化机器学习

ML.NET:这是一个开源的跨平台框架,用于在 .NET 生态系统中构建机器学习模型。ML.NET 支持用于推理的 ONNX 模型,允许 .NET 开发人员将其高级 ML 功能集成到他们的应用程序中。

这是一个使用ML.NET 在 C# 控制台应用程序中进行预测的自动化机器学习 (AutoML) 开放神经网络交换 (ONNX) 模型。

广告