With the burgeoning artificial intelligence (AI) scene extending its way into more and more markets and applications, a community project has been established to encourage industry collaboration to achieve greater interoperability between AI tools.
Initially conceived by Microsoft and Facebook (two names which one usually wouldn’t be comfortable associating with the phrase ‘open ecosystem’), the Open Neural Network Exchange (ONNX) format has nevertheless garnered support from other companies, from chip makers to web platforms. A list of the 27 companies that have come on board with the project is hard to come by, but it includes the likes of IBM, Huawei, Amazon, Intel, AMD, ARM, Qualcomm and NXP Semiconductors.
The project’s mission statement goes as follows: “Many people are working on great tools, but developers are often locked into one framework or ecosystem. ONNX is the first step in enabling more of these tools to work together by allowing them to share models. Our goal is to make it possible for developers to use the right combinations of tools for their project. We want everyone to be able to take AI from research to reality as quickly as possible without artificial friction from toolchains.”
Essentially, ONNX provides a definition of an extensible computation graph model, as well as definitions of built-in operators and standard data types. Each computation dataflow graph is structured as a list of nodes that form an acyclic graph.
Nodes have one or more inputs and one or more outputs, and each node is a call to an operator. The graph also has metadata to help document its purpose, author, and so on. Operators are implemented externally to the graph, but the set of built-in operators are portable across frameworks. Every framework supporting ONNX will provide implementations of these operators on the applicable data types.
Following its inception in September 2017, ONNX got its first production-ready release in December that same year, and received its latest update on 23 January 2019, so it has clearly gained enough traction that it is not being left to stagnate. 31 runtimes, converters, frameworks and other tools now officially support ONNX, including Caffe2, MATLAB, PyTorch, Chainer and Microsoft’s Cognitive Toolkit.
For more information visit https://onnx.ai
© Technews Publishing (Pty) Ltd | All Rights Reserved