Microsoft and Facebook have deployed an open source platform to facilitate AI model interoperability. The Open Neural Network Exchange (ONNX) format provides a shared model representation for interoperability and innovation in the AI framework ecosystem.
Cognitive Toolkit, Microsoft’s open source framework for building deep neural networks, Caffe2, and PyTorch will all support ONNX, according to Microsoft. Cognitive Toolkit and other frameworks provide interfaces that make it easier for developers to construct and run computation graphs that represent neural networks.
Though they provide similar capabilities, each framework today has its own format for representing these graphs. The ONNX representation allows for framework interoperability by allowing developers move easily between frameworks and use the best tool for the task at hand.
It also allows for shared optimization by allowing hardware vendors and others with optimizations for improving the performance of neural networks to impact multiple frameworks at once by targeting the ONNX representation.
ONNX does not provide support for some more complex networks, including those created in PyTorch with dynamic flow control. Facebook plans to add this feature in the future.