onnx/onnx

Open standard for machine learning interoperability

ONNX – Open Neural Network Exchange

What it is – ONNX is an open‑source, framework‑agnostic format for representing AI models (both deep‑learning and traditional machine‑learning). It defines a portable computation‑graph IR, a catalog of standard operators, and data‑type specifications. The repository hosts the reference implementation, the model‑specification docs, and tooling for working with ONNX files.

Why it matters – By providing a common model interchange format, ONNX lets developers move a model from the framework where it was created (e.g., PyTorch, TensorFlow, scikit‑learn) to the runtime or hardware that best fits production needs. This interoperability shortens the research‑to‑deployment cycle and enables a vibrant ecosystem of tools, optimizers, and accelerators that all understand the same file format.

How to get started

  1. Install the Python package:
    pip install onnx            # basic package
    pip install onnx[reference]  # with optional reference implementation deps
    
  2. Create or load a model using the Python API (see the Documentation of ONNX Python Package link).
  3. Run shape/type inference or optimize the graph with the provided utilities.
  4. Export the model to a file (model.onnx) and feed it to any ONNX‑compatible runtime (e.g., ONNX Runtime, TensorRT, OpenVINO).

Key resources

  • Spec & docs – Overview, IR spec, versioning, operators, and Python API overview are all in the docs/ folder.
  • Tutorials – Step‑by‑step guides for building ONNX models are in the separate onnx/tutorials repo.
  • Pre‑trained models – A growing collection is hosted on Hugging Face under the onnx-community organization.
  • Graph utilities – Shape inference, graph optimization, and opset conversion tools are bundled or linked from the repo.

Community & governance

  • Open governance model with Special Interest Groups (SIGs) and Working Groups; see the community/ directory for details.
  • Regular community meetings (Steering Committee, SIGs, Working Groups) are listed on the ONNX calendar.
  • Contributions are welcomed via pull requests; a full contribution guide and code of conduct are provided.

License – Apache License 2.0 (permissive, commercial‑friendly).


All information above is taken directly from the repository’s README.

Related

  • Project
  • Project
  • Project
  • Project
  • Project