-
Notifications
You must be signed in to change notification settings - Fork 7
[Ecosystem] ONNX (Open Neural Network Exchange) #56
Description
Contact emails
Project summary
An open standard and ecosystem for interoperable machine learning models across frameworks and runtimes.
Project description
ONNX (Open Neural Network Exchange) is an open standard format for representing machine learning models that enables interoperability between frameworks, tools, and runtimes. It defines a common intermediate representation (IR), operator set, and model format that allows models trained in one framework—such as PyTorch—to be exported, shared, optimized, and executed in a wide variety of environments.
Within the PyTorch ecosystem, ONNX plays a critical role in deployment and production workflows. PyTorch provides native support for exporting models to ONNX via the torch.onnx module, enabling users to transition seamlessly from research and training in PyTorch to inference in optimized runtimes, on different hardware targets, or within heterogeneous production systems. This helps bridge the gap between model development and real-world deployment.
ONNX is needed to address challenges around framework lock-in, portability, and production readiness. By serving as a stable, framework-agnostic model representation, ONNX enables PyTorch users to leverage a broader ecosystem of tooling for inference, optimization, and hardware acceleration, significantly extending PyTorch’s reach and usability beyond training.
Are there any other projects in the PyTorch Ecosystem similar to yours? If, yes, what are they?
There are no direct equivalents within the PyTorch Ecosystem that serve the same role as ONNX. While there are deployment-focused projects and inference runtimes that integrate with PyTorch, ONNX uniquely focuses on defining a standardized, framework-agnostic model format and operator specification rather than being a runtime or training framework itself.
Some ecosystem projects may overlap in adjacent areas, such as model optimization, compilation, or inference acceleration, but these typically consume ONNX models rather than replace its functionality. As such, ONNX complements existing PyTorch Ecosystem projects by acting as a foundational interoperability layer rather than competing with them.
Project repo URL
Additional repos in scope of the application
(includes related tooling, specifications, and ecosystem repositories)
Project license
Apache-2.0
GitHub handles of the project maintainer(s)
andife, justinchuby, cbourjau
Is there a corporate or academic entity backing this project? If so, please provide the name and URL of the entity.
ONNX is governed and supported by the ONNX community, with contributions from multiple industry and academic organizations.
Website URL
onnx.ai
Documentation
ONNX provides comprehensive documentation including specifications, tutorials, and framework-specific guides.
Documentation is available at https://onnx.ai/, with additional PyTorch-specific guidance available through PyTorch’s torch.onnx documentation. The project includes getting-started guides, API references, and examples for exporting and consuming models.
How do you build and test the project today (continuous integration)? Please describe.
ONNX uses continuous integration workflows on GitHub to build and test the project across supported platforms and configurations. CI includes automated testing for model format validation, operator schemas, serialization/deserialization, and compatibility checks. Pull requests are validated through automated test suites to ensure correctness, stability, and backward compatibility.
Version of PyTorch
ONNX is built and tested against multiple stable releases of PyTorch. The PyTorch ONNX exporter is continuously validated against current and recent PyTorch versions to ensure compatibility, with ongoing updates as PyTorch evolves.
Components of PyTorch
ONNX integrates primarily with the torch.onnx export functionality within PyTorch. It leverages PyTorch’s model graph tracing, operator definitions, and tensor representations during export, but does not depend on PyTorch for runtime execution.
How long do you expect to maintain the project?
ONNX is intended to be maintained long-term. The project has been actively developed and maintained for multiple years and is expected to continue indefinitely, supported by a broad community of contributors and organizations.
Additional information
ONNX is already deeply integrated into PyTorch workflows and widely used by PyTorch users for model export and deployment. Formal inclusion in the PyTorch Ecosystem would better reflect its existing role and importance, improve discoverability, and strengthen coordination between PyTorch and the broader ONNX community.
Metadata
Metadata
Assignees
Type
Projects
Status
Status