Open Neural Network Exchange


The Open Neural Network Exchange is an open-source artificial intelligence ecosystem. ONNX is available on GitHub.

History

In September 2017 Facebook and Microsoft introduced a system for switching between machine learning frameworks such as PyTorch and Caffe2. Later, IBM, Huawei, Intel, AMD, ARM and Qualcomm announced support for the initiative.
In October 2017, Microsoft announced that it would add its Cognitive Toolkit and Project Brainwave platform to the initiative.
In November 2019 ONNX was accepted as graduate project in Linux Foundation AI.

Intent

The initiative targets:

Framework interoperability

Allow developers to more easily move between frameworks, some of which may be more desirable for specific phases of the development process, such as fast training, network architecture flexibility or inferencing on mobile devices.

Shared optimization

Allow hardware vendors and others to improve the performance of artificial neural networks of multiple frameworks at once by targeting the ONNX representation.

Contents

ONNX provides definitions of an extensible computation graph model, built-in operators and standard data types, focused on inferencing.
Each computation dataflow graph is a list of nodes that form an acyclic graph. Nodes have inputs and outputs. Each node is a call to an operator. Metadata documents the graph. Built-in operators are to be available on each ONNX-supporting framework.

Other partnerships

Microsoft and Facebook are part of the Partnership on AI along with Apple, Amazon, Google and IBM that works to increase public awareness and boost research.