onnx

Open standard for machine learning interoperability

https://github.com/onnx/onnx

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    5 of 357 committers (1.4%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.5%) to scientific vocabulary

Keywords

deep-learning deep-neural-networks dnn keras machine-learning ml neural-network onnx pytorch scikit-learn tensorflow

Keywords from Contributors

ai-framework hardware-acceleration tensor autograd distributed transformer audio speech-recognition vlms cryptocurrencies
Last synced: 6 months ago · JSON representation

Repository

Open standard for machine learning interoperability

Basic Info
  • Host: GitHub
  • Owner: onnx
  • License: apache-2.0
  • Language: Python
  • Default Branch: main
  • Homepage: https://onnx.ai/
  • Size: 54.1 MB
Statistics
  • Stars: 19,563
  • Watchers: 436
  • Forks: 3,792
  • Open Issues: 293
  • Releases: 33
Topics
deep-learning deep-neural-networks dnn keras machine-learning ml neural-network onnx pytorch scikit-learn tensorflow
Created over 8 years ago · Last pushed 6 months ago
Metadata Files
Readme Contributing License Code of conduct Codeowners Security

README.md

PyPI - Version CI CII Best Practices OpenSSF Scorecard REUSE compliant Ruff Black abi3 compatible

Open Neural Network Exchange (ONNX) is an open ecosystem that empowers AI developers to choose the right tools as their project evolves. ONNX provides an open source format for AI models, both deep learning and traditional ML. It defines an extensible computation graph model, as well as definitions of built-in operators and standard data types. Currently we focus on the capabilities needed for inferencing (scoring).

ONNX is widely supported and can be found in many frameworks, tools, and hardware. Enabling interoperability between different frameworks and streamlining the path from research to production helps increase the speed of innovation in the AI community. We invite the community to join us and further evolve ONNX.

Use ONNX

Learn about the ONNX spec

Programming utilities for working with ONNX Graphs

Contribute

ONNX is a community project and the open governance model is described here. We encourage you to join the effort and contribute feedback, ideas, and code. You can participate in the Special Interest Groups and Working Groups to shape the future of ONNX.

Check out our contribution guide to get started.

If you think some operator should be added to ONNX specification, please read this document.

Community meetings

The schedules of the regular meetings of the Steering Committee, the working groups and the SIGs can be found here

Community Meetups are held at least once a year. Content from previous community meetups are at:

Discuss

We encourage you to open Issues, or use Slack (If you have not joined yet, please use this link to join the group) for more real-time discussion.

Follow Us

Stay up to date with the latest ONNX news. [Facebook] [Twitter/X]

Roadmap

A roadmap process takes place every year. More details can be found here

Installation

ONNX released packages are published in PyPi.

sh pip install onnx # or pip install onnx[reference] for optional reference implementation dependencies

ONNX weekly packages are published in PyPI to enable experimentation and early testing.

Detailed install instructions, including Common Build Options and Common Errors can be found here

Python ABI3 Compatibility

This package provides abi3-compatible wheels, allowing a single binary wheel to work across multiple Python versions (from 3.12 onwards).

Testing

ONNX uses pytest as test driver. In order to run tests, you will first need to install pytest:

sh pip install pytest

After installing pytest, use the following command to run tests.

sh pytest

Development

Check out the contributor guide for instructions.

Reproducible Builds (Linux)

This project provides reproducible builds for Linux.

A reproducible build means that the same source code will always produce identical binary outputs, no matter who builds it or where it is built.

To achieve this, we use the SOURCE_DATE_EPOCH standard. This ensures that build timestamps and other time-dependent information are fixed, making the output bit-for-bit identical across different environments.

Why this matters

  • Transparency: Anyone can verify that the distributed binaries were created from the published source code.
  • Security: Prevents tampering or hidden changes in the build process.
  • Trust: Users can be confident that the binaries they download are exactly what the maintainers intended.

If you prefer, you can use the prebuilt reproducible binaries instead of building from source yourself.

License

Apache License v2.0

Trademark

Checkout https://trademarks.justia.com for the trademark.

General rules of the Linux Foundation on Trademark usage

Code of Conduct

ONNX Open Source Code of Conduct

Owner

  • Name: Open Neural Network Exchange
  • Login: onnx
  • Kind: organization

ONNX is an open ecosystem for interoperable AI models. It's a community project: we welcome your contributions!

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 3,217
  • Total Committers: 357
  • Avg Commits per committer: 9.011
  • Development Distribution Score (DDS): 0.917
Past Year
  • Commits: 524
  • Committers: 56
  • Avg Commits per committer: 9.357
  • Development Distribution Score (DDS): 0.712
Top Committers
Name Email Commits
Chun-Wei Chen j****6@g****m 268
dependabot[bot] 4****] 247
Andreas Fehlner f****r@a****e 194
bddppq b****i@i****e 174
Lu Fang 3****d 149
Justin Chu j****y 148
G. Ramalingam g****a@m****m 133
cyyever c****r@o****m 104
Ke Zhang k****n@m****m 102
Xavier Dupré x****e 87
liqun Fu l****u@m****m 62
Prasanth Pulavarthi p****p@m****m 55
Ashwini Khade a****e@m****m 48
Yuan Yu y****u@m****m 45
Sebastian Meßmer s****r 42
anderspapitto a****o@g****m 40
Edward Z. Yang e****g@f****m 35
daquexian d****6@g****m 33
Rui Zhu z****e@g****m 32
Marat Dukhan m****k@g****m 32
Wei-Sheng Chin w****n@o****m 31
Wenhao Hu f****h@g****m 28
Raymond Yang z****g@m****m 27
Changming Sun c****n@m****m 26
Negin Raoof n****r@u****u 25
Yuan Yao 9****v 24
Bowen Bao b****o@m****m 22
Gary Miguel g****l@m****m 21
Takeshi Watanabe t****e 21
Yinghai Lu y****i@f****m 20
and 327 more...

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 985
  • Total pull requests: 2,012
  • Average time to close issues: 10 months
  • Average time to close pull requests: about 1 month
  • Total issue authors: 598
  • Total pull request authors: 170
  • Average comments per issue: 2.57
  • Average comments per pull request: 1.99
  • Merged pull requests: 1,411
  • Bot issues: 1
  • Bot pull requests: 373
Past Year
  • Issues: 229
  • Pull requests: 1,130
  • Average time to close issues: 12 days
  • Average time to close pull requests: 6 days
  • Issue authors: 147
  • Pull request authors: 72
  • Average comments per issue: 1.21
  • Average comments per pull request: 1.73
  • Merged pull requests: 807
  • Bot issues: 1
  • Bot pull requests: 189
Top Authors
Issue Authors
  • justinchuby (136)
  • andife (45)
  • jcwchen (17)
  • gramalingam (14)
  • liqunfu (13)
  • mgehre-amd (8)
  • AlexandreEichenberger (7)
  • lucasjinreal (7)
  • adityagoel4512 (7)
  • galagam (7)
  • yuslepukhin (6)
  • xadupre (6)
  • cbourjau (6)
  • robertknight (6)
  • cjvolzka (6)
Pull Request Authors
  • andife (382)
  • dependabot[bot] (373)
  • cyyever (243)
  • justinchuby (175)
  • liqunfu (91)
  • xadupre (75)
  • gramalingam (68)
  • cjvolzka (63)
  • yuanyao-nv (36)
  • jcwchen (26)
  • tonypottera24 (25)
  • roborags (19)
  • Copilot (19)
  • shubhambhokare1 (16)
  • cbourjau (14)
Top Labels
Issue Labels
question (315) bug (292) stale (250) contributions welcome (102) enhancement (89) operator (51) no-issue-activity (50) topic: operator (39) topic: enhancement (35) topic: spec clarification (34) converters (33) build (31) good first issue (25) shape inference (24) runtime (18) spec clarification (16) tracking (14) documentation (14) topic: documentation (13) module: shape inference (13) topic: build (10) spec (9) onnx checker (8) version converter (7) utility (7) dependencies (6) CI pipelines (6) module: version converter (5) reference implementation (5) topic: runtime (5)
Pull Request Labels
run release CIs (685) dependencies (258) github_actions (226) python (148) operator (51) better engineering (37) release notes (37) review needed: operators approvers (35) auto update doc (35) topic: build (31) stale (30) topic: operator (23) build (22) shape inference (21) module: spec (21) documentation (20) do not merge (17) build pipelines (17) no-pr-activity (17) topic: better engineering (16) spec clarification (13) topic: spec clarification (12) module: utility (12) test (12) module: CI pipelines (11) module: reference implementation (10) topic: bc breaking (10) reference implementation (10) version converter (9) topic: bug fix (9)

Packages

  • Total packages: 10
  • Total downloads:
    • pypi 8,933,310 last-month
  • Total docker downloads: 27,151,225
  • Total dependent packages: 515
    (may contain duplicates)
  • Total dependent repositories: 8,734
    (may contain duplicates)
  • Total versions: 314
  • Total maintainers: 11
  • Total advisories: 5
pypi.org: onnx

Open Neural Network Exchange

  • Versions: 36
  • Dependent Packages: 483
  • Dependent Repositories: 8,716
  • Downloads: 8,885,995 Last month
  • Docker Downloads: 27,151,225
Rankings
Dependent packages count: 0.1%
Dependent repos count: 0.1%
Forks count: 0.1%
Stargazers count: 0.1%
Downloads: 0.1%
Average: 0.2%
Docker downloads count: 0.6%
Last synced: 6 months ago
spack.io: py-onnx

Open Neural Network Exchange (ONNX) is an open ecosystem that empowers AI developers to choose the right tools as their project evolves. ONNX provides an open source format for AI models, both deep learning and traditional ML. It defines an extensible computation graph model, as well as definitions of built-in operators and standard data types. Currently we focus on the capabilities needed for inferencing (scoring).

  • Versions: 15
  • Dependent Packages: 7
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Forks count: 0.4%
Stargazers count: 0.6%
Average: 2.4%
Dependent packages count: 8.4%
Maintainers (1)
Last synced: 6 months ago
pypi.org: onnx-weekly

Open Neural Network Exchange

  • Versions: 120
  • Dependent Packages: 1
  • Dependent Repositories: 2
  • Downloads: 44,164 Last month
Rankings
Forks count: 0.1%
Stargazers count: 0.1%
Downloads: 3.2%
Average: 4.5%
Dependent packages count: 7.3%
Dependent repos count: 11.8%
Last synced: 6 months ago
conda-forge.org: onnx

Open Neural Network Exchange (ONNX) is the first step toward an open ecosystem that empowers AI developers to choose the right tools as their project evolves. ONNX provides an open source format for AI models. It defines an extensible computation graph model, as well as definitions of built-in operators and standard data types. Initially we focus on the capabilities needed for inferencing (evaluation).

  • Versions: 18
  • Dependent Packages: 17
  • Dependent Repositories: 8
Rankings
Forks count: 1.8%
Stargazers count: 2.2%
Dependent packages count: 3.8%
Average: 5.0%
Dependent repos count: 12.1%
Last synced: 6 months ago
spack.io: onnx

Open Neural Network Exchange (ONNX). ONNX provides an open source format for AI models, both deep learning and traditional ML. It defines an extensible computation graph model, as well as definitions of built-in operators and standard data types.

  • Versions: 14
  • Dependent Packages: 2
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Forks count: 0.4%
Stargazers count: 0.6%
Average: 5.0%
Dependent packages count: 19.0%
Last synced: 6 months ago
proxy.golang.org: github.com/onnx/onnx
  • Versions: 31
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 7.0%
Average: 8.2%
Dependent repos count: 9.3%
Last synced: 6 months ago
anaconda.org: onnx

Open Neural Network Exchange (ONNX) is the first step toward an open ecosystem that empowers AI developers to choose the right tools as their project evolves. ONNX provides an open source format for AI models. It defines an extensible computation graph model, as well as definitions of built-in operators and standard data types. Initially we focus on the capabilities needed for inferencing (evaluation).

  • Homepage: https://onnx.ai
  • License: Apache-2.0
  • Latest release: 1.17.0
    published about 1 year ago
  • Versions: 6
  • Dependent Packages: 5
  • Dependent Repositories: 8
Rankings
Dependent packages count: 5.1%
Forks count: 5.6%
Stargazers count: 6.3%
Average: 14.0%
Dependent repos count: 39.2%
Last synced: 6 months ago
pypi.org: tenzro-serve

Open Neural Network Exchange

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Forks count: 0.3%
Stargazers count: 0.3%
Dependent packages count: 10.2%
Average: 17.0%
Dependent repos count: 57.3%
Maintainers (1)
Last synced: about 1 year ago
pypi.org: amd-onnx-weekly

Open Neural Network Exchange

  • Versions: 70
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 2,936 Last month
Rankings
Forks count: 0.3%
Stargazers count: 0.3%
Dependent packages count: 10.6%
Average: 17.8%
Dependent repos count: 59.9%
Maintainers (1)
Last synced: 6 months ago
pypi.org: amd-onnx

Open Neural Network Exchange

  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 215 Last month
Rankings
Dependent packages count: 10.6%
Average: 35.2%
Dependent repos count: 59.9%
Maintainers (1)
Last synced: 6 months ago

Dependencies

requirements-dev.txt pypi
  • clang-format ==13.0.0 development
  • flake8 * development
  • jupyter * development
  • mypy ==0.782 development
  • nbval * development
  • numpy * development
  • protobuf * development
  • pytest * development
  • pytest-cov * development
  • pyzmq * development
  • setuptools * development
  • twine * development
  • types-protobuf ==3.18.4 development
  • typing-extensions * development
  • wheel * development
requirements-release.txt pypi
  • ipython *
  • nbval *
  • numpy ==1.21.5
  • protobuf ==3.16.0
  • pytest *
  • setuptools *
  • twine *
  • wheel *
requirements.txt pypi
  • numpy >=1.16.6
  • protobuf >=3.12.2,<=3.20.1
  • typing-extensions >=3.6.2.1
.github/workflows/codeql.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • github/codeql-action/analyze v2 composite
  • github/codeql-action/init v2 composite
.github/workflows/pages.yml actions
  • actions/checkout v3 composite
  • actions/configure-pages v2 composite
  • actions/deploy-pages v1 composite
  • actions/setup-python v4 composite
  • actions/upload-pages-artifact v1 composite
.github/workflows/release_linux_aarch64.yml actions
  • actions/checkout v3 composite
  • actions/upload-artifact v1 composite
  • docker/setup-qemu-action v1 composite
.github/workflows/release_linux_x86_64.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • actions/upload-artifact v1 composite
  • docker://quay.io/pypa/manylinux2014_x86_64 * composite
.github/workflows/release_mac.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • actions/upload-artifact v1 composite
.github/workflows/stale.yml actions
  • actions/stale v5 composite
.github/workflows/weekly_mac_ci.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/win_no_exception_ci.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v4 composite
  • microsoft/setup-msbuild v1.1 composite
docs/docsgen/source/requirements.txt pypi
  • markupsafe *
  • matplotlib *
  • myst-parser *
  • onnx *
  • onnxruntime *
  • pillow *
  • pydata_sphinx_theme *
  • pydot *
  • sphinx *
  • sphinx-exec-code *
  • sphinx-gallery *
  • sphinx-tabs *
.github/workflows/auto_update_doc.yml actions
  • actions/checkout f43a0e5ff2bd294095638e18286ca9a3d1956744 composite
  • actions/setup-python 61a6322f88396a6271a6ee3565807d608ecaddd1 composite
  • stefanzweifel/git-auto-commit-action 3ea6ae190baf489ba007f7c92608f33ce20ef04a composite
.github/workflows/check_urls.yml actions
  • actions/checkout f43a0e5ff2bd294095638e18286ca9a3d1956744 composite
  • urlstechie/urlchecker-action b643b43e2ac605e1475331c7b67247d242b7dce4 composite
.github/workflows/clang_tidy_review.yml actions
  • ZedThree/clang-tidy-review f41163387a7680d93a25c1a9d24d71437c20e16f composite
  • ZedThree/clang-tidy-review/upload f41163387a7680d93a25c1a9d24d71437c20e16f composite
  • actions/checkout f43a0e5ff2bd294095638e18286ca9a3d1956744 composite
.github/workflows/clang_tidy_review_post.yml actions
  • ZedThree/clang-tidy-review/post f41163387a7680d93a25c1a9d24d71437c20e16f composite
.github/workflows/dco_merge_group.yml actions
.github/workflows/lint.yml actions
  • actions/checkout f43a0e5ff2bd294095638e18286ca9a3d1956744 composite
  • actions/setup-python 61a6322f88396a6271a6ee3565807d608ecaddd1 composite
  • github/codeql-action/upload-sarif cdcdbb579706841c47f7063dda365e292e5cad7a composite
  • reviewdog/action-cpplint d5ddf147384ab68e12432bf02815d0e49e5388b2 composite
  • reviewdog/action-misspell 9257f108197b44e37995c98bea6ee4a5b9ffc3b0 composite
  • reviewdog/action-shellcheck 50e5e1e2284575f23a1e409d9c0804cdfc4f6e31 composite
.github/workflows/reuse.yml actions
  • actions/checkout f43a0e5ff2bd294095638e18286ca9a3d1956744 composite
  • fsfe/reuse-action 4f2804894b54004c8ed4b8a62b7c649e54a3aa4b composite
.github/workflows/scorecard.yml actions
  • actions/checkout f43a0e5ff2bd294095638e18286ca9a3d1956744 composite
  • actions/upload-artifact 0b7f8abb1508181956e8e162db84b466c27e18ce composite
  • github/codeql-action/upload-sarif cdcdbb579706841c47f7063dda365e292e5cad7a composite
  • ossf/scorecard-action 08b4669551908b1024bb425080c797723083c031 composite
pyproject.toml pypi
requirements-lintrunner.txt pypi
  • black ==23.7.0
  • clang-format ==16.0.6
  • editorconfig-checker ==2.7.2
  • isort ==5.12.0
  • lintrunner-adapters >=0.8.0
  • mypy ==1.5.1
  • ruff ==0.0.289
  • types-protobuf ==4.24.0.1
requirements-reference.txt pypi
  • Pillow *
  • google-re2 *
setup.py pypi
requirements-min.txt pypi
  • numpy ==1.16.6
  • numpy ==1.26.0
  • numpy ==1.23.2
  • protobuf ==4.25.1
  • protobuf ==3.20.2
.github/workflows/main.yml actions
  • EnricoMi/publish-unit-test-result-action v2 composite
  • actions/checkout v4 composite
  • actions/download-artifact v3 composite
  • actions/setup-python v5 composite
  • actions/upload-artifact v3 composite
  • codecov/codecov-action v4 composite
  • microsoft/setup-msbuild 6fb02220983dee41ce7ae257b6f4d8f9bf5ed4ce composite
.github/workflows/create_release.yml actions
  • actions/download-artifact fa0a91b85d4f404e444e00e005971372dc801d16 composite
  • pypa/gh-action-pypi-publish 15c56dba361d8335944d31a2ecd17d700fc7bcbc composite
.github/workflows/pr_checks.yml actions
  • actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
  • actions/setup-python 0b93645e9fea7318ecaed2b359559ac225c90a2b composite
  • parkerbxyz/suggest-changes v2 composite
.github/workflows/release_sdist.yml actions
  • actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
  • actions/setup-python 0b93645e9fea7318ecaed2b359559ac225c90a2b composite
  • actions/upload-artifact b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 composite
.github/workflows/preview_source_dist_test.yml actions
  • actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
.github/workflows/release_win_freethreading.yml actions
  • actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
  • actions/setup-python 8d9ed9ac5c53483de85588cdf95a591a75ab9f55 composite
  • actions/upload-artifact ea165f8d65b6e75b540449e92b4886f43607fa02 composite
  • microsoft/setup-msbuild 6fb02220983dee41ce7ae257b6f4d8f9bf5ed4ce composite
.github/workflows/release_win_x86_64.yml actions
  • actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
  • actions/setup-python 8d9ed9ac5c53483de85588cdf95a591a75ab9f55 composite
  • actions/upload-artifact ea165f8d65b6e75b540449e92b4886f43607fa02 composite
  • microsoft/setup-msbuild 6fb02220983dee41ce7ae257b6f4d8f9bf5ed4ce composite
requirements-dev_freethreading.txt pypi
  • build * development
  • ml_dtypes * development
  • numpy * development
  • parameterized * development
  • protobuf * development
  • pytest * development
  • pytest-cov * development
  • pytest-xdist * development
  • setuptools * development
requirements-release_build.txt pypi
  • build *
  • ml_dtypes *
  • numpy ==2.0.0
  • numpy ==2.2.0
  • parameterized *
  • protobuf ==4.25.1
  • setuptools *
requirements-release_freethreading_win.txt pypi
  • build *
  • cmake *
  • ml_dtypes *
  • numpy ==2.2.0
  • parameterized *
  • protobuf ==4.25.1
  • pytest *
  • pytest-cov *
  • pytest-xdist *
  • setuptools *
requirements-release_test.txt pypi
  • ipython * test
  • ml_dtypes * test
  • nbval * test
  • parameterized * test
  • pytest * test
  • pytest-cov * test
  • pytest-xdist * test