This article uses bare URLs, which are uninformative and vulnerable to link rot. Please consider converting them to full citations to ensure the article remains verifiable and maintains a consistent citation style. Several templates and tools are available to assist in formatting, such as Reflinks (documentation), reFill (documentation) and Citation bot (documentation). (August 2022) (Learn how and when to remove this template message)
Open Neural Network Exchange (ONNX)
Original author(s)Facebook, Microsoft
Developer(s)Linux Foundation
Initial releaseSeptember 2017; 5 years ago (2017-09)
Stable release
1.12.0[1] / 18 June 2022; 3 months ago (18 June 2022)
Repository
Written inC++, Python
Operating systemWindows, Linux
TypeArtificial intelligence ecosystem
Licenseinitially MIT License;
later changed to Apache License 2.0
Websiteonnx.ai Edit this on Wikidata

The Open Neural Network Exchange (ONNX) [ˈɒnɪks][2] is an open-source artificial intelligence ecosystem[3] of technology companies and research organizations that establish open standards for representing machine learning algorithms and software tools to promote innovation and collaboration in the AI sector.[4] ONNX is available on GitHub.

History

ONNX was originally named Toffee[5] and was developed by the PyTorch team at Facebook.[6] In September 2017 it was renamed to ONNX and announced by Facebook and Microsoft.[7] Later, IBM, Huawei, Intel, AMD, Arm and Qualcomm announced support for the initiative.[3]

In October 2017, Microsoft announced that it would add its Cognitive Toolkit and Project Brainwave platform to the initiative.[3]

In November 2019 ONNX was accepted as graduate project in Linux Foundation AI.

In October 2020 Zetane Systems became a member of the ONNX ecosystem.[8]

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.[7]

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.[7]

Contents

ONNX provides definitions of an extensible computation graph model, built-in operators and standard data types, focused on inferencing (evaluation).[7]

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.[7]

See also

References

  1. ^ https://github.com/onnx/onnx/releases/tag/v1.12.0; retrieved: 6 July 2022; publication date: 18 June 2022.
  2. ^ @onnxai (March 13, 2018). "Hi Hu, it's not spelled the same, but pronounced the same as Onyx" (Tweet) – via Twitter.
  3. ^ a b c "Microsoft and Facebook's open AI ecosystem gains more support". Engadget. Retrieved 2017-10-11.
  4. ^ https://onnx.ai/
  5. ^ "Codemod Toffee -> ONNX, toffee -> onnx. Change file names to match · pytorch/pytorch@6d8d5ba". GitHub. Retrieved 2021-10-12.
  6. ^ "A model exporter for PyTorch by ezyang · Pull Request #2565 · pytorch/pytorch". GitHub. Retrieved 2021-10-12.
  7. ^ a b c d e "Microsoft and Facebook create open ecosystem for AI model interoperability - Microsoft Cognitive Toolkit". Microsoft Cognitive Toolkit. 2017-09-07. Retrieved 2017-10-11.
  8. ^ "Zetane Systems Joins the ONNX Community to Accelerate Open-Source Innovation and Universal…". 14 October 2020.