ONNX - 神经网络开发框架互通生态


MIT
跨平台
C/C++

软件简介

ONNX,即 Open Neural Network Exchange ,是微软和 Facebook 发布的一个深度学习开发工具生态系统,旨在让 AI
开发人员能够随着项目发展而选择正确的工具。

ONNX
所针对的是深度学习开发生态中最关键的问题之一,在任意一个框架上训练的神经网络模型,无法直接在另一个框架上用。开发者需要耗费大量时间精力把模型从一个开发平台移植到另一个。因此,如何实现不同框架之间的互操作性,简化从研究到生产的路径,成为了重中之重。

ONNX 的工作原理是:

实时跟踪某个神经网络是如何在这些框架上生成的,接着,使用这些信息创建一个通用的计算图,即符合ONNX
标准的计算图。这样做行得通,是因为在计算方面,这些框架产生的最终结果都非常接近,虽然更高级的表达不同。

ONNX 目前支持 Caffe2、PyTorch、Microsoft Cognitive Toolkit、Apache MXNet 等工具。