Recent Releases of onnx

onnx - v1.19.0

ONNX v1.19.0 is now available with exciting new features! We would like to thank everyone who contributed to this release! Please visit onnx.ai to learn more about ONNX and associated projects.

Key Updates

IR Version 12

  • Added FLOAT8E8M0 type ## ai.onnx Opset 24
  • Added Swish op
  • Added TensorScatter op and updated Attention op for in-place KV cache updates
  • Enabled FLOAT8E8M0 for QuantizeLinear, DequantizeLinear, Cast, CastLike, Constant, ConstantOfShape, Identity, Reshape, Shape, Size, If, Loop, Scan, Flatten, Pad, Squeeze, Unsqueeze, and Transpose.
  • Enabled BF16 for TopK and SplitToSequence.
    • Other
  • Added dependency on ml-dtypes
  • BUILD_ONNX_PYTHON symbol is deprecated (we be removed for 1.20). Please, use ONNX_BUILD_PYTHON instead.

What's Changed

Breaking Changes and Deprecations

  • Deprecate printable_graph in helper by @justinchuby in https://github.com/onnx/onnx/pull/6803
  • Remove deprecated mapping constants by @justinchuby in https://github.com/onnx/onnx/pull/6914
  • Remove re2 dependency by @cbourjau in https://github.com/onnx/onnx/pull/7083
  • Use ml_dtypes everywhere by @justinchuby in https://github.com/onnx/onnx/pull/7089 ### Spec and Operator
  • Clarify the axes input of [un]Squeeze to be 1D tensors by @justinchuby in https://github.com/onnx/onnx/pull/6888
  • Clarify that variable shadowing is not allowed by @justinchuby in https://github.com/onnx/onnx/pull/6955
  • Clarify Mod operator by @cbourjau in https://github.com/onnx/onnx/pull/6973
  • Fix typo regarding Attention scale in the spec by @yuanyao-nv in https://github.com/onnx/onnx/pull/6984
  • Clarify default value for ratio input of Dropout operator by @robertknight in https://github.com/onnx/onnx/pull/7032
  • Correct dtype attribute docs for EyeLike operator by @robertknight in https://github.com/onnx/onnx/pull/7031
  • Update float8 table for the Cast op spec by @justinchuby in https://github.com/onnx/onnx/pull/7085
  • Document Multi-Device Configuration proto specifications in IR.md by @Copilot in https://github.com/onnx/onnx/pull/7056
  • Add FLOAT8E8M0 data type by @yuanyao-nv in https://github.com/onnx/onnx/pull/7030
  • Enable float8e8m0 for Q/DQ, and other ops by @yuanyao-nv in https://github.com/onnx/onnx/pull/7120
  • Update the saturating behavior for E4M3FNUZ/E5M2FNUZ in Cast and CastLike by @justinchuby in https://github.com/onnx/onnx/pull/7130
  • Fix ELU and Softplus operators to support tensors of any shape by @Copilot in https://github.com/onnx/onnx/pull/7136
  • Fix Shape operator specification: correct range bounds and document start > end behavior by @Copilot in https://github.com/onnx/onnx/pull/7132
  • Fix Attention 3D, reference implementation and c++ expansion by @xadupre in https://github.com/onnx/onnx/pull/7142
  • Fix RMS norm function definition by @justinchuby in https://github.com/onnx/onnx/pull/7135
  • Fix spec for ReduceSumSquare and other reduce ops when noopwithempty_axes is set by @Copilot in https://github.com/onnx/onnx/pull/7137
  • Add bf16 support to TopK and SplitToSequence by @gramalingam in https://github.com/onnx/onnx/pull/7158
  • Add Swish operator by @isdanni in https://github.com/onnx/onnx/pull/7172
  • Add TensorScatter op for in-place kv cache update by @yuanyao-nv in https://github.com/onnx/onnx/pull/7114
  • Fix Resize operator document by @kcvlex in https://github.com/onnx/onnx/pull/6686 ### Reference Implementation
  • Fix Resize reference operator by @xadupre in https://github.com/onnx/onnx/pull/7105
  • fixed erf for empty inputs by @konstantin-pueckler-qc in https://github.com/onnx/onnx/pull/7170
  • Fix Softmax reference for inputs of length 1 by @konstantin-pueckler-qc in https://github.com/onnx/onnx/pull/7169
  • Fix return type of HardSigmoid in reference implementation by @konstantin-pueckler-qc in https://github.com/onnx/onnx/pull/7168
  • Fix hardmax reference implementation by @konstantin-pueckler-qc in https://github.com/onnx/onnx/pull/7167
  • [Reference] Fix constant of shape when input value is 0d by @justinchuby in https://github.com/onnx/onnx/pull/7177 ### Utilities and Tools
  • Support set schema inference function in python by @OYCN in https://github.com/onnx/onnx/pull/5940
  • Improve model Extractor by @justinchuby in https://github.com/onnx/onnx/pull/6920
  • Fix: prefixing of graphs when rename_inputs=False/rename_outputs=False by @KarelZe in https://github.com/onnx/onnx/pull/6994
  • Fix Einsum shape inference segfault for scalar inputs by @Copilot in https://github.com/onnx/onnx/pull/7055
  • Add support for constructing functions with graph attributes by @Copilot in https://github.com/onnx/onnx/pull/7112
  • Make some op-level shape inference functions public by @titaiwangms in https://github.com/onnx/onnx/pull/7091
  • Implement saturate_cast in numpy helper by @justinchuby in https://github.com/onnx/onnx/pull/7143
  • Add .txtpb as a support text proto format in serialization by @justinchuby in https://github.com/onnx/onnx/pull/7161 ### Build, CI and Tests
  • Use ONNX_WERROR=ON in all jobs by @cyyever in https://github.com/onnx/onnx/pull/6825
  • Cleanup CMake scripts by @cyyever in https://github.com/onnx/onnx/pull/6828
  • Better support of sanitizers by @cyyever in https://github.com/onnx/onnx/pull/6826
  • Remove the pull trigger in source dist test by @justinchuby in https://github.com/onnx/onnx/pull/6861
  • Use CONFIG to find protobuf by @ktf in https://github.com/onnx/onnx/pull/6840
  • Update to checkout submodules properly by @justinchuby in https://github.com/onnx/onnx/pull/6884
  • Improve lint CI by @justinchuby in https://github.com/onnx/onnx/pull/6899
  • Remove win arm64 from main.yml by @andife in https://github.com/onnx/onnx/pull/6906
  • Enhance Build Process and CI Configuration (combine pipelines) by @andife in https://github.com/onnx/onnx/pull/6926
  • Update and rename Installtest.yml to installtest.yml by @andife in https://github.com/onnx/onnx/pull/6950
  • Update CMake to 3.24 and use LINKLIBRARY:WHOLEARCHIVE by @cyyever in https://github.com/onnx/onnx/pull/6934
  • replace requirementsrelease with requirementsrelease_build in codeql.yml by @andife in https://github.com/onnx/onnx/pull/6958
  • Add backend node testing for Lpnormalization op by @jagadeeshvx in https://github.com/onnx/onnx/pull/6997
  • Refine pybind11 integration by @cyyever in https://github.com/onnx/onnx/pull/7024
  • Use pybind11addmodule by @cyyever in https://github.com/onnx/onnx/pull/7034
  • Update input and output tensors in pb files to match the model by @amarin16 in https://github.com/onnx/onnx/pull/7074
  • Generate the test data that should be in the repo but was omitted by @justinchuby in https://github.com/onnx/onnx/pull/7099
  • Fix cast test cases by @justinchuby in https://github.com/onnx/onnx/pull/7102
  • Test ArgMax with multiple maximal values and select_last_index = 0 by @meilofveeningen-rl in https://github.com/onnx/onnx/pull/7104
  • Add more test cases with attention by @xadupre in https://github.com/onnx/onnx/pull/7117
  • Update CMakeLists.txt to prevent ICE protobuf failure by @justinchuby in https://github.com/onnx/onnx/pull/7121
  • Fix shared module name when cross-compiling by @zboszor in https://github.com/onnx/onnx/pull/7026
  • Add missing symbols for onnx-mlir by @Sunny-Anand in https://github.com/onnx/onnx/pull/7179
  • improve condition in create_release.yml by @andife in https://github.com/onnx/onnx/pull/7196 ### Documentation
  • Update CIPipelines.md by @justinchuby in https://github.com/onnx/onnx/pull/6885
  • Update IRv10 brief docs by @justinchuby in https://github.com/onnx/onnx/pull/6963
  • Fix some typos in documentation by @bentheiii in https://github.com/onnx/onnx/pull/7156
  • [Docs] Add tip blocks referencing ir-py project for Python APIs by @Copilot in https://github.com/onnx/onnx/pull/7109 ### Other Changes
  • Merge Windows CI jobs by @cyyever in https://github.com/onnx/onnx/pull/6827
  • Improve source build testing by @andife in https://github.com/onnx/onnx/pull/6831
  • use HEADSHA instead of HEADREF in autoupdatedoc.yml by @mshudrak in https://github.com/onnx/onnx/pull/6809
  • Fix clang-tidy warnings by @cyyever in https://github.com/onnx/onnx/pull/6832
  • Update pypa / manylinux2014x8664 in releaselinuxx86_64.yml to 2025.03.22-2 by @andife in https://github.com/onnx/onnx/pull/6833
  • Fix the ONNXBUILDCUSTOM_PROTOBUF bug introduced by PR#6495. by @cainbit in https://github.com/onnx/onnx/pull/6830
  • Bump protobuf to v30.1 by @cyyever in https://github.com/onnx/onnx/pull/6804
  • Remove onnx/onnx-data_pb.h by @cyyever in https://github.com/onnx/onnx/pull/6836
  • replace quansight-labs/setup-python with actions/setup-python by @ngoldbaum in https://github.com/onnx/onnx/pull/6837
  • integrate releasemacfreethreading into release_mac by @andife in https://github.com/onnx/onnx/pull/6841
  • Bump protobuf to v30.2 by @cyyever in https://github.com/onnx/onnx/pull/6839
  • Improve pyproject.toml and add py.typed by @cyyever in https://github.com/onnx/onnx/pull/6843
  • Bump ruff to 0.11 and types-protobuf to 5.29.1.20250315 by @cyyever in https://github.com/onnx/onnx/pull/6846
  • Bump actions/setup-python from 5.4.0 to 5.5.0 by @dependabot[bot] in https://github.com/onnx/onnx/pull/6853
  • Bump actions/upload-artifact from 4.6.1 to 4.6.2 by @dependabot[bot] in https://github.com/onnx/onnx/pull/6852
  • Bump actions/download-artifact from 4.1.9 to 4.2.1 by @dependabot[bot] in https://github.com/onnx/onnx/pull/6856
  • Bump clang-format to 20 by @cyyever in https://github.com/onnx/onnx/pull/6850
  • Fix external data bug in version converter by @yuanyao-nv in https://github.com/onnx/onnx/pull/6847
  • Bump github/codeql-action from 3.28.11 to 3.28.13 by @dependabot[bot] in https://github.com/onnx/onnx/pull/6858
  • Bump editorconfig-checker from 3.2.0 to 3.2.1 by @dependabot[bot] in https://github.com/onnx/onnx/pull/6860
  • Bump reviewdog/action-misspell from 1.26.1 to 1.26.3 by @dependabot[bot] in https://github.com/onnx/onnx/pull/6857
  • Bump reviewdog/action-shellcheck from 1.29.0 to 1.30.0 by @dependabot[bot] in https://github.com/onnx/onnx/pull/6854
  • Added selection option to enable both release and preview builds in the create_release.yml workflow by @andife in https://github.com/onnx/onnx/pull/6851
  • Add Publishing Workflow for onnx to Test PyPI (https://test.pypi.org/project/onnx/) by @andife in https://github.com/onnx/onnx/pull/6849
  • Bump reviewdog/action-cpplint from 1.8.0 to 1.9.2 by @dependabot[bot] in https://github.com/onnx/onnx/pull/6855
  • Remove pyi generators by @yadunand-kamath in https://github.com/onnx/onnx/pull/6863
  • Update winnoexception_ci.yml by @andife in https://github.com/onnx/onnx/pull/6872
  • remove not used condition in previewsourcedist_test.yml by @andife in https://github.com/onnx/onnx/pull/6873
  • Update OnnxReleases.md by @andife in https://github.com/onnx/onnx/pull/6871
  • Remove ipython, twine from requirements*.txt by @andife in https://github.com/onnx/onnx/pull/6874
  • Update releaselinuxaarch64.yml by @andife in https://github.com/onnx/onnx/pull/6876
  • Update and rename releasewin.yml to releasewinx8664.yml by @andife in https://github.com/onnx/onnx/pull/6875
  • remove jupyter from requirements-dev.txt by @andife in https://github.com/onnx/onnx/pull/6878
  • Remove outdated comments in clang-tidy config by @cyyever in https://github.com/onnx/onnx/pull/6882
  • Use std::filesystem to simplify code by @cyyever in https://github.com/onnx/onnx/pull/6402
  • Add support for Free-Threading in Linux Wheel Builds by @andife in https://github.com/onnx/onnx/pull/6835
  • Integrate freethreading parts from separate file into main by @andife in https://github.com/onnx/onnx/pull/6889
  • Update VERSION_NUMBER to 1.19 by @andife in https://github.com/onnx/onnx/pull/6890
  • Update versioning in the main branch after release branch cut by @andife in https://github.com/onnx/onnx/pull/6892
  • Link privately to protobuf static libraries by @cyyever in https://github.com/onnx/onnx/pull/6881
  • Update releaselinuxaarch64 to include 3.13t by @andife in https://github.com/onnx/onnx/pull/6893
  • Remove nbval dependency, replaces #6896 by @xadupre in https://github.com/onnx/onnx/pull/6897
  • Consolidate Freethreading Requirements into Main Requirements Files for Enhanced Tooling by @cyyever in https://github.com/onnx/onnx/pull/6844
  • Delete pyproject_pylint.toml by @justinchuby in https://github.com/onnx/onnx/pull/6903
  • Add native ARM64 Windows Builds by @andife in https://github.com/onnx/onnx/pull/6904
  • reduce length of names in create_release.yml by @andife in https://github.com/onnx/onnx/pull/6909
  • better condition and explanations in create_release.yml by @andife in https://github.com/onnx/onnx/pull/6910
  • Add workflow dispatch option to publish whl to pypi onnx by @andife in https://github.com/onnx/onnx/pull/6819
  • Update and rename releasewinfreethreading.yml to releasewinx64_fr… by @andife in https://github.com/onnx/onnx/pull/6911
  • Use Native Runner für linux Aarch64 whl (public preview runner available) by @andife in https://github.com/onnx/onnx/pull/6907
  • Export symbols used by PyTorch by @cyyever in https://github.com/onnx/onnx/pull/6915
  • Export more symbols used by PyTorch by @cyyever in https://github.com/onnx/onnx/pull/6916
  • Use Python3::Interpreter instead of Python3_EXECUTABLE by @cyyever in https://github.com/onnx/onnx/pull/6918
  • Simplify CMake code by @cyyever in https://github.com/onnx/onnx/pull/6927
  • Define PYBIND11DETAILEDERROR_MESSAGES by @justinchuby in https://github.com/onnx/onnx/pull/6929
  • Bump ruff from 0.11.2 to 0.11.8 by @dependabot[bot] in https://github.com/onnx/onnx/pull/6937
  • Bump actions/setup-python from 5.5.0 to 5.6.0 by @dependabot[bot] in https://github.com/onnx/onnx/pull/6940
  • Bump actions/download-artifact from 4.1.9 to 4.3.0 by @dependabot[bot] in https://github.com/onnx/onnx/pull/6939
  • Bump types-protobuf from 5.29.1.20250315 to 5.29.1.20250403 by @dependabot[bot] in https://github.com/onnx/onnx/pull/6938
  • Bump github/codeql-action from 3.28.13 to 3.28.16 by @dependabot[bot] in https://github.com/onnx/onnx/pull/6941
  • Bump codecov/codecov-action from 5.4.0 to 5.4.2 by @dependabot[bot] in https://github.com/onnx/onnx/pull/6944
  • Bump stefanzweifel/git-auto-commit-action from 5.1.0 to 5.2.0 by @dependabot[bot] in https://github.com/onnx/onnx/pull/6942
  • Bump ZedThree/clang-tidy-review from 0.20.1 to 0.21.0 by @dependabot[bot] in https://github.com/onnx/onnx/pull/6943
  • Use requirements-release_build in entrypoint.sh by @andife in https://github.com/onnx/onnx/pull/6945
  • Replace requirements-release.txt with requirements-release_build.txt by @andife in https://github.com/onnx/onnx/pull/6946
  • Update OnnxReleases.md (add remove of rc packages at test.pypi) by @andife in https://github.com/onnx/onnx/pull/6948
  • Bump clang-format from 20.1.0 to 20.1.3 by @dependabot[bot] in https://github.com/onnx/onnx/pull/6936
  • Fix typos in multiple files by @co63oc in https://github.com/onnx/onnx/pull/6953
  • Fix typos in multiple files by @co63oc in https://github.com/onnx/onnx/pull/6956
  • [feat] Introduce sourcedateepoch for reproducible builds (wheels, linux) by @andife in https://github.com/onnx/onnx/pull/6947
  • Add workflow to generate release notes by @ramkrishna2910 in https://github.com/onnx/onnx/pull/6961
  • Update testbackendreference.py by @andife in https://github.com/onnx/onnx/pull/6967
  • Display types on cast node test errors by @emmanuel-ferdman in https://github.com/onnx/onnx/pull/6970
  • Update protobuf to 6.31.0 by @cyyever in https://github.com/onnx/onnx/pull/6975
  • Privately link pybind11 by @cyyever in https://github.com/onnx/onnx/pull/6974
  • Fix CMake EXPORT by @cyyever in https://github.com/onnx/onnx/pull/6978
  • Extend function inliner to support schema-defined functions (redo) by @gramalingam in https://github.com/onnx/onnx/pull/6976
  • Update google test to v1.17.0 by @cyyever in https://github.com/onnx/onnx/pull/6977
  • Add Release Roadmap and deprecation policy to RELEASE-MANAGEMENT.md by @andife in https://github.com/onnx/onnx/pull/6969
  • Set eol in gitattributes by @cyyever in https://github.com/onnx/onnx/pull/6979
  • Simplify CMake code and fix some issues by @cyyever in https://github.com/onnx/onnx/pull/6968
  • Update stale workflow to not close issues that should stay open by @justinchuby in https://github.com/onnx/onnx/pull/6986
  • Removes one duplicated unit test by @xadupre in https://github.com/onnx/onnx/pull/6989
  • Use [[maybe_unused]] by @cyyever in https://github.com/onnx/onnx/pull/6988
  • Fix IR 11 release comment of onnx.in.proto by @take-cheeze in https://github.com/onnx/onnx/pull/7001
  • Update links to community meetups in README.md by @andife in https://github.com/onnx/onnx/pull/7004
  • Fix dubious ownership in repository at '/github/workspace' by @andife in https://github.com/onnx/onnx/pull/6949
  • Formatting: Update create_release.yml by @andife in https://github.com/onnx/onnx/pull/7005
  • Simplify proto source file generation by @cyyever in https://github.com/onnx/onnx/pull/6992
  • Fix symbol refinition in unity builds by @cyyever in https://github.com/onnx/onnx/pull/7006
  • Bump ossf/scorecard-action from 2.4.1 to 2.4.2 by @dependabot[bot] in https://github.com/onnx/onnx/pull/7015
  • Bump ruff from 0.11.8 to 0.11.12 by @dependabot[bot] in https://github.com/onnx/onnx/pull/7019
  • Bump mypy from 1.15.0 to 1.16.0 by @dependabot[bot] in https://github.com/onnx/onnx/pull/7016
  • Bump codecov/codecov-action from 5.4.2 to 5.4.3 by @dependabot[bot] in https://github.com/onnx/onnx/pull/7013
  • Bump clang-format from 20.1.3 to 20.1.5 by @dependabot[bot] in https://github.com/onnx/onnx/pull/7017
  • Bump github/codeql-action from 3.28.16 to 3.28.18 by @dependabot[bot] in https://github.com/onnx/onnx/pull/7014
  • [feat] linux wheels python 3.14-dev by @andife in https://github.com/onnx/onnx/pull/6951
  • fix broken links to automatic upgrade and downgrade tests in AddNewOp.md by @alx256 in https://github.com/onnx/onnx/pull/7023
  • [feat] mac wheels python 3.14-dev by @andife in https://github.com/onnx/onnx/pull/7021
  • Shorten names in createrelease/releaselinux for better UX in github ui by @andife in https://github.com/onnx/onnx/pull/7027
  • fix typo in Update RELEASE-MANAGEMENT.md by @andife in https://github.com/onnx/onnx/pull/7029
  • Update autoupdatedoc.yml by @andife in https://github.com/onnx/onnx/pull/7035
  • Add test of UNITY_BUILD in main.yml by @cyyever in https://github.com/onnx/onnx/pull/7007
  • use python 3.13.3 (instead of 3.13.4) in releasewinaarch64.yml by @andife in https://github.com/onnx/onnx/pull/7033
  • python 3.14-dev for releasewinaarch64.yml by @andife in https://github.com/onnx/onnx/pull/7028
  • Add ml_dtypes as a requirement by @justinchuby in https://github.com/onnx/onnx/pull/7045
  • Add Pixi development environment by @cbourjau in https://github.com/onnx/onnx/pull/7044
  • use newest python 3.13 version in releasewinaarch64.yml by @andife in https://github.com/onnx/onnx/pull/7046
  • Replace requirements-release with requirements-releasebuild in weeklymodelzoo.yml by @andife in https://github.com/onnx/onnx/pull/7039
  • Update and rename pixi-build.yml to pixi_build.yml by @andife in https://github.com/onnx/onnx/pull/7047
  • clean up unnecessary dependencies in entrypoint.sh by @andife in https://github.com/onnx/onnx/pull/7051
  • Fix extra-semi-stmt warnings by @cyyever in https://github.com/onnx/onnx/pull/6771
  • remove outdated comment in requirements-dev.txt by @andife in https://github.com/onnx/onnx/pull/7060
  • fix typo in RELEASE-MANAGEMENT.md by @andife in https://github.com/onnx/onnx/pull/7062
  • Create copilot-setup-steps.yml by @justinchuby in https://github.com/onnx/onnx/pull/7061
  • Restore ONNXVERIFYPROTO3 by @cyyever in https://github.com/onnx/onnx/pull/7064
  • weekly_modelzoo.yml (mac -> linux runner) by @andife in https://github.com/onnx/onnx/pull/7069
  • Cleanup onnx_proto CMake code by @cyyever in https://github.com/onnx/onnx/pull/7065
  • add fail-fast to release_mac.yml by @andife in https://github.com/onnx/onnx/pull/7077
  • run pixi_build.yml only weekly by @andife in https://github.com/onnx/onnx/pull/7078
  • Reduce macos runs in main.yml by @andife in https://github.com/onnx/onnx/pull/7076
  • Bump prefix-dev/setup-pixi from 0.8.8 to 0.8.10 by @dependabot[bot] in https://github.com/onnx/onnx/pull/7093
  • Bump mypy from 1.16.0 to 1.16.1 by @dependabot[bot] in https://github.com/onnx/onnx/pull/7097
  • Bump stefanzweifel/git-auto-commit-action from 5.2.0 to 6.0.1 by @dependabot[bot] in https://github.com/onnx/onnx/pull/7092
  • Bump github/codeql-action from 3.28.18 to 3.29.2 by @dependabot[bot] in https://github.com/onnx/onnx/pull/7094
  • Bump ruff from 0.11.12 to 0.12.1 and improve style by @dependabot[bot] in https://github.com/onnx/onnx/pull/7095
  • Bump clang-format from 20.1.5 to 20.1.7 by @dependabot[bot] in https://github.com/onnx/onnx/pull/7096
  • Bump protobuf to 6.31.1 by @cyyever in https://github.com/onnx/onnx/pull/7086
  • Bump types-protobuf from 5.29.1.20250403 to 6.30.2.20250516 by @dependabot[bot] in https://github.com/onnx/onnx/pull/7018
  • Use specific version for mac os runner by @andife in https://github.com/onnx/onnx/pull/7115
  • Switch order of steps in releasewinx86_64.yml by @andife in https://github.com/onnx/onnx/pull/7125
  • add top level permissions (Update pixi_build.yml) by @andife in https://github.com/onnx/onnx/pull/7126
  • define top level permission (Update copilot-setup-steps.yml) by @andife in https://github.com/onnx/onnx/pull/7127
  • add python 3.14-dev (releasewinx86_64.yml) by @andife in https://github.com/onnx/onnx/pull/7149
  • Add documentation for building and publishing whls to pypi (OnnxReleases.md) by @andife in https://github.com/onnx/onnx/pull/7147
  • no pytest for 3.13t (releasewinx86_64.yml) by @andife in https://github.com/onnx/onnx/pull/7150
  • Update release.yml module: CI pipelines by @justinchuby in https://github.com/onnx/onnx/pull/7171
  • Update RELEASE-MANAGEMENT.md by @andife in https://github.com/onnx/onnx/pull/7160
  • add missing call-winarm64 (Update createrelease.yml) by @andife in https://github.com/onnx/onnx/pull/7173
  • turn off some tests for 3.13t, 3.14-dev by @andife in https://github.com/onnx/onnx/pull/7162
  • Add kvnonpadseqlen input to Attention by @yuanyao-nv in https://github.com/onnx/onnx/pull/7164
  • Make stale bot ignore "contributions welcome" issues by @justinchuby in https://github.com/onnx/onnx/pull/7180
  • update versions for 1.19 release by @yuanyao-nv in https://github.com/onnx/onnx/pull/7182
  • Update version to 1.19.0rc1 by @yuanyao-nv in https://github.com/onnx/onnx/pull/7183
  • fix condition for publishing to release pypi by @andife in https://github.com/onnx/onnx/pull/7200
  • Cherrypick from main: Add markdown file and diagram for in-place KV cache (#7205) by @yuanyao-nv in https://github.com/onnx/onnx/pull/7210
  • [1.19] Revert "Use [maybe_unused]" by @titaiwangms in https://github.com/onnx/onnx/pull/7227
  • [1.19] Fix unreachable code by @titaiwangms in https://github.com/onnx/onnx/pull/7229
  • Update version number to 1.19.0rc2 by @yuanyao-nv in https://github.com/onnx/onnx/pull/7236
  • Cherry-pick Attention fix from main and upgrade version to 1.19.0rc3 by @yuanyao-nv in https://github.com/onnx/onnx/pull/7241
  • Update version to 1.19.0 for final release by @yuanyao-nv in https://github.com/onnx/onnx/pull/7247

New Contributors

  • @mshudrak made their first contribution in https://github.com/onnx/onnx/pull/6809
  • @cainbit made their first contribution in https://github.com/onnx/onnx/pull/6830
  • @ngoldbaum made their first contribution in https://github.com/onnx/onnx/pull/6837
  • @yadunand-kamath made their first contribution in https://github.com/onnx/onnx/pull/6863
  • @ktf made their first contribution in https://github.com/onnx/onnx/pull/6840
  • @co63oc made their first contribution in https://github.com/onnx/onnx/pull/6953
  • @jagadeeshvx made their first contribution in https://github.com/onnx/onnx/pull/6997
  • @alx256 made their first contribution in https://github.com/onnx/onnx/pull/7023
  • @robertknight made their first contribution in https://github.com/onnx/onnx/pull/7032
  • @amarin16 made their first contribution in https://github.com/onnx/onnx/pull/7074
  • @KarelZe made their first contribution in https://github.com/onnx/onnx/pull/6994
  • @Copilot made their first contribution in https://github.com/onnx/onnx/pull/7056
  • @meilofveeningen-rl made their first contribution in https://github.com/onnx/onnx/pull/7104
  • @bentheiii made their first contribution in https://github.com/onnx/onnx/pull/7156
  • @zboszor made their first contribution in https://github.com/onnx/onnx/pull/7026
  • @kcvlex made their first contribution in https://github.com/onnx/onnx/pull/6686
  • @Sunny-Anand made their first contribution in https://github.com/onnx/onnx/pull/7179

Full Changelog: https://github.com/onnx/onnx/compare/v1.18.0...v1.19.0

- Python
Published by yuanyao-nv 6 months ago

onnx - v1.18.0

ONNX v1.18.0 is now available with exciting new features! We would like to thank everyone who contributed to this release! Please visit onnx.ai to learn more about ONNX and associated projects.

Key Updates

ai.onnx Opset 23

Attention, Cast, CastLike, Constant, ConstantOfShape, DequantizeLinear, Flatten, Identity, If, Loop, Pad, QuantizeLinear, RMSNormalization, Reshape, RotaryEmbedding, Scan, Shape, Size, Squeeze, Transpose, Unsqueeze

IR Version 11

  • Added FLOAT4E2M1 and multi-device configuration support
  • Relaxed naming requirements (https://github.com/onnx/onnx/pull/6652)

Python support

  • Support Python 3.13
  • Experimental support for Python 3.13t (Windows, Mac)
  • Removed support for Python 3.8
  • wheels for Windows Arm64

Build

  • Minimum protobuf version is upgraded to v25.1
  • A new option ONNXBUILDCUSTOM_PROTOBUF is added for CMAKE (https://github.com/onnx/onnx/pull/6495)

What's Changed

Breaking Changes and Deprecations

  • Remove/raise exception when external file exists during onnx.save by @tonypottera24 in https://github.com/onnx/onnx/pull/6497
  • Remove python 3.8 workflows (python 3.8 is eol) by @cyyever in https://github.com/onnx/onnx/pull/6434
  • Deprecate all type casting functions by @justinchuby in https://github.com/onnx/onnx/pull/6639 => scheduled to remove in 1.20
  • GroupNormalization-18 is now deprecated and replaced by GroupNormalization-23 due to an incorrect definition (#6358)
  • helper.split_complex_to_pairs is now private. Users can consider duplicating the underlying logic for their own use.

Spec and Operator

  • Add FLOAT4E2M1 data type by @yuanyao-nv in https://github.com/onnx/onnx/pull/6318
  • Add FLOAT4E2M1 support to relevant operators by @yuanyao-nv in https://github.com/onnx/onnx/pull/6283
  • Fix typo in the GroupNorm description by @yuanyao-nv in https://github.com/onnx/onnx/pull/6358
  • clarify clip with min>max by @AlexandreEichenberger in https://github.com/onnx/onnx/pull/6395
  • Update IR spec to clarify optional input/output availability by @justinchuby in https://github.com/onnx/onnx/pull/6435
  • Fix GlobalLpPool input types by @justinchuby in https://github.com/onnx/onnx/pull/6503
  • Fix reference implementation for TopK by @neNasko1 in https://github.com/onnx/onnx/pull/6593
  • Clarify that FLOAT4E2M1 can be in int32_data by @justinchuby in https://github.com/onnx/onnx/pull/6640
  • Relax naming requirements in IR spec by @justinchuby in https://github.com/onnx/onnx/pull/6652
  • Add Rotary Embedding op to ONNX opset 23 by @shubhambhokare1 in https://github.com/onnx/onnx/pull/6461
  • Format rotary embedding documentation by @justinchuby in https://github.com/onnx/onnx/pull/6717
  • Add RMSNormalization to ONNX opset 23 by @shubhambhokare1 in https://github.com/onnx/onnx/pull/6443
  • Add Attention Op to ONNX Opset 23 by @shubhambhokare1 in https://github.com/onnx/onnx/pull/6501
  • Add multi-device execution support in ONNX by @kevinch-nv in https://github.com/onnx/onnx/pull/6641 ### Reference Implementation
  • Fix NonMaxSuppression default values in ReferenceEvaluator by @xadupre in https://github.com/onnx/onnx/pull/6354
  • Update oppoolcommon.py, add missing "| None" by @andife in https://github.com/onnx/onnx/pull/6421
  • Allow 1D vector for w_scale in QLinearConv by @mcollinswisc in https://github.com/onnx/onnx/pull/6460
  • Fix pooling pads issues by @titaiwangms in https://github.com/onnx/onnx/pull/6650 ### Utilities and Tools
  • Fix shape inference for Squeeze-1,11 with dynamic input shape by @Yosshi999 in https://github.com/onnx/onnx/pull/6314
  • Extend printer and parser to support invalid identifiers by @gramalingam in https://github.com/onnx/onnx/pull/6346
  • Support node labels in parser and printer by @gramalingam in https://github.com/onnx/onnx/pull/6349
  • Fix parser to handle empty optional parameters in edge cases by @gramalingam in https://github.com/onnx/onnx/pull/6427
  • Optimize DFS by @tonypottera24 in https://github.com/onnx/onnx/pull/6440
  • Separate the infershapes option from the checkmodel option by @tonypottera24 in https://github.com/onnx/onnx/pull/6441
  • Support models larger than 2GB by @tonypottera24 in https://github.com/onnx/onnx/pull/6438
  • Add missing CHECKPARSERSTATUS by @cyyever in https://github.com/onnx/onnx/pull/6448
  • Fix MAXIMUM_PROTOBUF size (2GiB, not 2GB) by @xenova in https://github.com/onnx/onnx/pull/6556
  • Fix numpyhelper toarray by @justinchuby in https://github.com/onnx/onnx/pull/6638
  • Add version converter softmax 13 -> 12 by @seungwoo-ji-03 in https://github.com/onnx/onnx/pull/6608 ### Build, CI and Tests
  • Update Protobuf to latest version (Win) by @liqunfu in https://github.com/onnx/onnx/pull/6362
  • Use CMake python module by @cyyever in https://github.com/onnx/onnx/pull/6381
  • Revert Python finding logic and some CMake fixes for Windows by @cyyever in https://github.com/onnx/onnx/pull/6382
  • Enable more compiler warnings by @cyyever in https://github.com/onnx/onnx/pull/6383
  • Remove pypi publishing inside "release_" by @andife in https://github.com/onnx/onnx/pull/6483
  • Fix g++-13 build errors by @cyyever in https://github.com/onnx/onnx/pull/6509
  • Move to using protogen's .pyi file generator by @justinchuby in https://github.com/onnx/onnx/pull/6462
  • Python 3.13: builds successful for all os by @andife in https://github.com/onnx/onnx/pull/6370
  • Simplify CMake argument handling in setup.py by @cyyever in https://github.com/onnx/onnx/pull/6545
  • Remove struct and leverage ml_dtypes in helper tests by @justinchuby in https://github.com/onnx/onnx/pull/6631
  • Add cmake dependency only when system cmake is not available (backend version) by @mgorny in https://github.com/onnx/onnx/pull/6643
  • Remove onnxruntime tests by @justinchuby in https://github.com/onnx/onnx/pull/6709
  • python313t builds in main_freethreading.yml by @andife in https://github.com/onnx/onnx/pull/6706
  • Improve CMake summary by @cyyever in https://github.com/onnx/onnx/pull/6704
  • Add protobuf local build option by @cyyever in https://github.com/onnx/onnx/pull/6495
  • Harmonize protobuf versions by upgrading to a minimum protobuf version of 25.1 and fix CI error by @cyyever in https://github.com/onnx/onnx/pull/6725
  • Include backend.py in source distribution by @mgorny in https://github.com/onnx/onnx/pull/6755 ### Documentation
  • Move INSTALL instruction to separate file by @andife in https://github.com/onnx/onnx/pull/6560
  • Fix Pad operator example in Python API docs (correct attribute usage) by @kolasaniv1996 in https://github.com/onnx/onnx/pull/6702 ### Other Changes
  • Remove unused variables by @cyyever in https://github.com/onnx/onnx/pull/6303
  • Fix main url checks by @roborags in https://github.com/onnx/onnx/pull/6312
  • Bumped main VERSION_NUMBER to 1.18.0 by @roborags in https://github.com/onnx/onnx/pull/6315
  • Bump ai.onnx opset to 23 by @roborags in https://github.com/onnx/onnx/pull/6316
  • Combine different release pipelines by the use of reusable workflows by @andife in https://github.com/onnx/onnx/pull/6277
  • Bump actions/upload-artifact from 3 to 4 by @andife in https://github.com/onnx/onnx/pull/6319
  • Fix missing secrets for publishing of onnxweekly by @andife in https://github.com/onnx/onnx/pull/6321
  • Update main.yml (upgrade github actions download/upload artifact) by @andife in https://github.com/onnx/onnx/pull/6320
  • BF: fix condition for publishing to testpypi (Update create_release.yml) by @andife in https://github.com/onnx/onnx/pull/6338
  • Fix OOB in data propagation of math ops when input is broadcasted to zero by @Yosshi999 in https://github.com/onnx/onnx/pull/6323
  • The latest protobuf pkg 5.28.0 is failing on Windows. use the one pre… by @liqunfu in https://github.com/onnx/onnx/pull/6342
  • Set up codecov test analysis by @justinchuby in https://github.com/onnx/onnx/pull/6345
  • Fix model extraction utility by @gramalingam in https://github.com/onnx/onnx/pull/6344
  • Add missing matrix.target-architecture ? (Update release_mac.yml) by @andife in https://github.com/onnx/onnx/pull/6350
  • Some performance fixes in C++ code, use of emplace instead of insert by @cyyever in https://github.com/onnx/onnx/pull/6304
  • Fix some clang-tidy warnings by @cyyever in https://github.com/onnx/onnx/pull/6353
  • BugFix: make sure that unique files names are used before uploading the wheels by @andife in https://github.com/onnx/onnx/pull/6355
  • Simplify create_release.yml by @andife in https://github.com/onnx/onnx/pull/6357
  • Fix more static analyser warnings by @cyyever in https://github.com/onnx/onnx/pull/6360
  • Fix more static analyzer warnings by @cyyever in https://github.com/onnx/onnx/pull/6363
  • Not all release runs have to be successul for publishing weekly to testpypi by @andife in https://github.com/onnx/onnx/pull/6372
  • CI: Restoring the possibility to initiate a run via labels by @andife in https://github.com/onnx/onnx/pull/6371
  • Fix wrong publishing target (onnx instead of onnx-weekly) by @andife in https://github.com/onnx/onnx/pull/6375
  • Trigger release pipeline when label "run release..." was added to PR by @andife in https://github.com/onnx/onnx/pull/6376
  • Fix clang-tidy warnings by @cyyever in https://github.com/onnx/onnx/pull/6378
  • Avoid returning const vectors by @cyyever in https://github.com/onnx/onnx/pull/6391
  • Fix more clang-tidy warnings by @cyyever in https://github.com/onnx/onnx/pull/6392
  • Use std::unordered_{map,set} by @cyyever in https://github.com/onnx/onnx/pull/6390
  • Set hidden visibility on onnx target by @cyyever in https://github.com/onnx/onnx/pull/6393
  • Fix more static analyser warnings by @cyyever in https://github.com/onnx/onnx/pull/6396
  • Add clang-tidy checks and fix warnings by @cyyever in https://github.com/onnx/onnx/pull/6398
  • Use -Wall -Wextra on APPLE platforms by @cyyever in https://github.com/onnx/onnx/pull/6399
  • Support official Python launcher on Windows by @petewarden in https://github.com/onnx/onnx/pull/6407
  • Add misc checks and turn some functions and variables into static by @cyyever in https://github.com/onnx/onnx/pull/6401
  • Enable more clang-tidy checks by @cyyever in https://github.com/onnx/onnx/pull/6429
  • Update DFS function to non-recursive version by @tonypottera24 in https://github.com/onnx/onnx/pull/6424
  • Refactor parser code by @cyyever in https://github.com/onnx/onnx/pull/6397
  • Create a workflow to suggest lintrunner fixes by @justinchuby in https://github.com/onnx/onnx/pull/6377
  • Fix ODR violations by @cyyever in https://github.com/onnx/onnx/pull/6439
  • Fix invalid use of const_cast by @cyyever in https://github.com/onnx/onnx/pull/6451
  • Use enum class for StatusCategory and StatusCode by @cyyever in https://github.com/onnx/onnx/pull/6450
  • Fix static analyzer warnings by @cyyever in https://github.com/onnx/onnx/pull/6449
  • Fix excpetion handling by @cyyever in https://github.com/onnx/onnx/pull/6453
  • Fix python linter warnings in setup.py by @cyyever in https://github.com/onnx/onnx/pull/6459
  • Move suggest fixes to a separate CI workflow by @justinchuby in https://github.com/onnx/onnx/pull/6455
  • Optimize collectnewiocore in extract_model by @tonypottera24 in https://github.com/onnx/onnx/pull/6466
  • Enhance CenterCropPad documentation by @jantonguirao in https://github.com/onnx/onnx/pull/6464
  • Simplify protobuf linking by @cyyever in https://github.com/onnx/onnx/pull/6444
  • Print correct Python version in CMake summary by @cyyever in https://github.com/onnx/onnx/pull/6467
  • Fix ODR violations by @cyyever in https://github.com/onnx/onnx/pull/6468
  • Migrate to ubuntu-24.04 runner by @andife in https://github.com/onnx/onnx/pull/6373
  • Add type annotations and fix some lint warnings in Python code by @cyyever in https://github.com/onnx/onnx/pull/6470
  • Optimize dfs in extract_model by dict by @tonypottera24 in https://github.com/onnx/onnx/pull/6472
  • More robust utf-8 string conversions on Windows by @cyyever in https://github.com/onnx/onnx/pull/6454
  • Optimize collectreferredlocalfunctions in extractmodel by @tonypottera24 in https://github.com/onnx/onnx/pull/6478
  • Move output map to a function in extract_model by @tonypottera24 in https://github.com/onnx/onnx/pull/6485
  • Add type annotations and fix some lint warnings in Python code by @cyyever in https://github.com/onnx/onnx/pull/6473
  • Update ruff to 0.7.0 by @cyyever in https://github.com/onnx/onnx/pull/6482
  • Add more type annotations and fix warnings in Python code by @cyyever in https://github.com/onnx/onnx/pull/6474
  • Remove _STDCFORMAT_MACROS by @cyyever in https://github.com/onnx/onnx/pull/6487
  • Fix clang -Weverything warnings by @cyyever in https://github.com/onnx/onnx/pull/6493
  • change onnx-weekly destination from test.pypi to pypi by @andife in https://github.com/onnx/onnx/pull/6491
  • Bump pybind11 to 2.13.6 by @cyyever in https://github.com/onnx/onnx/pull/6486
  • Bump protobuf to 5.28.3 by @cyyever in https://github.com/onnx/onnx/pull/6330
  • Fix protobuf version unmatch by @cyyever in https://github.com/onnx/onnx/pull/6498
  • Upload the srcdist to pypi as a separate step by @andife in https://github.com/onnx/onnx/pull/6488
  • Another attempt to fix protobuf version problem by @cyyever in https://github.com/onnx/onnx/pull/6508
  • Bugfix fix file name in create_release.yml by @andife in https://github.com/onnx/onnx/pull/6510
  • Fix pipeline, limit to onnxruntime <1.20 for docs build by @andife in https://github.com/onnx/onnx/pull/6524
  • Add LANGUAGE to CMake project by @cyyever in https://github.com/onnx/onnx/pull/6527
  • Fix reference implementation for ConcatFromSequence by @xadupre in https://github.com/onnx/onnx/pull/6369
  • Add publishing of devbuild to testpypi by @andife in https://github.com/onnx/onnx/pull/6535
  • Update page deployment CI to test building pages in PRs by @justinchuby in https://github.com/onnx/onnx/pull/6530
  • Use localy build protobuf in doc pages by @cyyever in https://github.com/onnx/onnx/pull/6539
  • Migration to FindPython3.cmake by @ilya-lavrenov in https://github.com/onnx/onnx/pull/6526
  • Fix upload endpoint (pypi) by @andife in https://github.com/onnx/onnx/pull/6541
  • Update calender link by @andife in https://github.com/onnx/onnx/pull/6528
  • Remove usage of Mac12-Runner by @andife in https://github.com/onnx/onnx/pull/6542
  • Add python 3.13 for release_* workflows by @andife in https://github.com/onnx/onnx/pull/6543
  • Fix getsize bug in extract_model by @tonypottera24 in https://github.com/onnx/onnx/pull/6496
  • Improving the environment name by @andife in https://github.com/onnx/onnx/pull/6544
  • Fix extra-semi warnings on public headers by @cyyever in https://github.com/onnx/onnx/pull/6538
  • Fix of the devbuild publish-workflow by @andife in https://github.com/onnx/onnx/pull/6546
  • Removing unit test involving onnxruntime by @andife in https://github.com/onnx/onnx/pull/6549
  • Publish to test.pypi only for testing (with workflow dispatch) by @andife in https://github.com/onnx/onnx/pull/6548
  • Use rank in data propagation by @gramalingam in https://github.com/onnx/onnx/pull/6557
  • Fix handling of tensor rank in concat data propagation by @gramalingam in https://github.com/onnx/onnx/pull/6570
  • Update gather doc by @gramalingam in https://github.com/onnx/onnx/pull/6585
  • Fix: skip empty input output names in Extractor by @wine99 in https://github.com/onnx/onnx/pull/6587
  • Upgrade to Python 3.9 by @cyyever in https://github.com/onnx/onnx/pull/6595
  • add grammatical corrections to documentation by @rudrOwO in https://github.com/onnx/onnx/pull/6599
  • Fix wrong comparison between numpy dtypes to None by @xadupre in https://github.com/onnx/onnx/pull/6588
  • Fix reference implementation for CumSum by @neNasko1 in https://github.com/onnx/onnx/pull/6597
  • Fix reference implementation for Unique by @neNasko1 in https://github.com/onnx/onnx/pull/6596
  • Bump Protobuf to 5.29.2 by @cyyever in https://github.com/onnx/onnx/pull/6600
  • Use ruff as the code formatter by @justinchuby in https://github.com/onnx/onnx/pull/6504
  • Install missing pytest; Update releasetestweekly_sdist.yml by @andife in https://github.com/onnx/onnx/pull/6617
  • Enable more readability checks by @cyyever in https://github.com/onnx/onnx/pull/6618
  • Allow scale type in QuantizeLinear and DequantizeLinear to be different from the high-precision type by @yuanyao-nv in https://github.com/onnx/onnx/pull/6531
  • Improve attribute checking in CategoryMapper by @neNasko1 in https://github.com/onnx/onnx/pull/6619
  • fix typo: Update README.md by @andife in https://github.com/onnx/onnx/pull/6620
  • Expose cxx standard by @ilya-lavrenov in https://github.com/onnx/onnx/pull/6625
  • Remove vscode settings by @justinchuby in https://github.com/onnx/onnx/pull/6628
  • Improve INSTALL.md by @cyyever in https://github.com/onnx/onnx/pull/6629
  • Enable isort rules in ruff formatter by @justinchuby in https://github.com/onnx/onnx/pull/6632
  • Fix the bfloat16 test in helper for min numpy version by @justinchuby in https://github.com/onnx/onnx/pull/6636
  • Fix link in readme by @andife in https://github.com/onnx/onnx/pull/6644
  • Fix literal operator in Clang17+ by @fs-eire in https://github.com/onnx/onnx/pull/6633
  • Unify names of github environments by @andife in https://github.com/onnx/onnx/pull/6651
  • Improve Names in CI pipeline by @andife in https://github.com/onnx/onnx/pull/6657
  • Improve name in CI-Pipeline by @andife in https://github.com/onnx/onnx/pull/6659
  • Remove unnecessary secrets in pipeline by @andife in https://github.com/onnx/onnx/pull/6661
  • Hardening of checkout by @andife in https://github.com/onnx/onnx/pull/6662
  • Use static dbg_count variables by @cyyever in https://github.com/onnx/onnx/pull/6494
  • Use DeprecationWarning by @justinchuby in https://github.com/onnx/onnx/pull/6667
  • Improve releaselinux*.yml by @andife in https://github.com/onnx/onnx/pull/6671
  • Check if wheels should be published before using a job with a deployment environment by @andife in https://github.com/onnx/onnx/pull/6688
  • Bump absl cpp to 20240722.1 by @cyyever in https://github.com/onnx/onnx/pull/6672
  • remove twine from requirements-dev-file by @andife in https://github.com/onnx/onnx/pull/6692
  • Correct protobuf install instructions on Windows by @natke in https://github.com/onnx/onnx/pull/6695
  • Update INSTALL.md to show build onnx on Windows by @natke in https://github.com/onnx/onnx/pull/6696
  • Check the input of ConstantOfShape to be non-negative by @sgjzfzzf in https://github.com/onnx/onnx/pull/6691
  • TypoFix in float8.md by @mehmetcanfarsak in https://github.com/onnx/onnx/pull/6699
  • Update recommended Protobuf version and other improvements in INSTALL.md by @cyyever in https://github.com/onnx/onnx/pull/6701
  • Use Python3addlibrary to simplify build code by @cyyever in https://github.com/onnx/onnx/pull/6705
  • Hardcoding the docker image version, adding the information which docker images are used by @andife in https://github.com/onnx/onnx/pull/6663
  • Fix a tensor type inaccuracy in the docs by @nenad1002 in https://github.com/onnx/onnx/pull/6707
  • Add dtype tests for various operators by @bili2002 in https://github.com/onnx/onnx/pull/6687
  • Improve names, add debug variables by @andife in https://github.com/onnx/onnx/pull/6714
  • Fix condition at download step for publishing manuel preview build by @andife in https://github.com/onnx/onnx/pull/6715
  • Fix mismatched parenthesis in ci by @andife in https://github.com/onnx/onnx/pull/6716
  • Fix condition in CI for sdist download by @andife in https://github.com/onnx/onnx/pull/6719
  • Update Jupyter notebook examples by @emmanuel-ferdman in https://github.com/onnx/onnx/pull/6729
  • checkforpublishpreviewbuildtotestpypi_weekly in CI should fail for PullRequests by @andife in https://github.com/onnx/onnx/pull/6727
  • Modify axis description for RMSNormalization op by @shubhambhokare1 in https://github.com/onnx/onnx/pull/6732
  • Set version 4.25.1 as min protobuf python version by @andife in https://github.com/onnx/onnx/pull/6722
  • update autoupdatedoc and create sdist_test.yml by @andife in https://github.com/onnx/onnx/pull/6723
  • Update previewsourcedist_test.yml by @andife in https://github.com/onnx/onnx/pull/6724
  • Publish to testpypi only for workflow_dispatch event by @andife in https://github.com/onnx/onnx/pull/6750
  • Update dependabot.yml by @andife in https://github.com/onnx/onnx/pull/6753
  • Add copyright header to pyproject.toml by @andife in https://github.com/onnx/onnx/pull/6752
  • define top-level permission by @andife in https://github.com/onnx/onnx/pull/6747
  • add windows 3.13t build to main_freethreading.yml (Updates of external dependencies now enable this) by @andife in https://github.com/onnx/onnx/pull/6749
  • Simplify checkout submodules by @andife in https://github.com/onnx/onnx/pull/6762
  • Integrate mac freethreading whl to release process by @andife in https://github.com/onnx/onnx/pull/6761
  • Clarify minimum Protobuf version in INSTALL.md by @cyyever in https://github.com/onnx/onnx/pull/6760
  • Improve condition in create_release.yml by @andife in https://github.com/onnx/onnx/pull/6765
  • Remove separate onnx-directory in release_win.yml by @andife in https://github.com/onnx/onnx/pull/6766
  • Update RotaryEmbedding 4D input shape dimension order by @shubhambhokare1 in https://github.com/onnx/onnx/pull/6767
  • chore(config): set persist credentials to false by @andife in https://github.com/onnx/onnx/pull/6774
  • Use CMAKECOMPILERIS_GNUCXX for g++ by @cyyever in https://github.com/onnx/onnx/pull/6770
  • fix: names of jobs in create_release.yml by @andife in https://github.com/onnx/onnx/pull/6769
  • Improve Python code typing by @cyyever in https://github.com/onnx/onnx/pull/6763
  • Enable flake8-type-checking by @cyyever in https://github.com/onnx/onnx/pull/6775
  • Merge requirements-release_freethreading into requirements-release by @cyyever in https://github.com/onnx/onnx/pull/6776
  • Bump ruff to 0.9.10 by @cyyever in https://github.com/onnx/onnx/pull/6780
  • Adapt requirements files as 3.9 is the minimal supported python version by @andife in https://github.com/onnx/onnx/pull/6777
  • feat: freethreading python wheels for windows by @andife in https://github.com/onnx/onnx/pull/6764
  • refactor: remove unnecessary x86 check in win freethreading by @andife in https://github.com/onnx/onnx/pull/6785
  • Update sdist_test.yml by @andife in https://github.com/onnx/onnx/pull/6786
  • fix: Use correct requirements file for releasemacfreethreading.yml by @andife in https://github.com/onnx/onnx/pull/6768
  • Update autoupdatedoc.yml by @andife in https://github.com/onnx/onnx/pull/6792
  • fix: dont' push wheels with the same filename to pypi twice by @andife in https://github.com/onnx/onnx/pull/6790
  • Remove dependabot configs for dockerfiles by @andife in https://github.com/onnx/onnx/pull/6789
  • fix non existing requirements-file by @andife in https://github.com/onnx/onnx/pull/6796
  • fix wrong use of always in releaselinuxx86_64.yml by @andife in https://github.com/onnx/onnx/pull/6797
  • Remove ignore_type suppression by @cyyever in https://github.com/onnx/onnx/pull/6788
  • Update gtest to version > v1.16.0 (commit of 8March25) by @andife in https://github.com/onnx/onnx/pull/6783
  • hard code docker image docker://quay.io/pypa/manylinux2014x8664:2025.02.28-1 in release pipeline by @andife in https://github.com/onnx/onnx/pull/6799
  • windows-latest -> windows-2022 by @andife in https://github.com/onnx/onnx/pull/6800
  • [2/N]Remove ignore_type suppression by @cyyever in https://github.com/onnx/onnx/pull/6798
  • Remove duplicates in test by @andife in https://github.com/onnx/onnx/pull/6791
  • Remove wrong usage of "always" in aarch64 release pipeline... by @andife in https://github.com/onnx/onnx/pull/6806
  • fix condition in pipeline by @andife in https://github.com/onnx/onnx/pull/6810
  • Bump minimum numpy to 1.22 by @andife in https://github.com/onnx/onnx/pull/6812
  • Improve condition in rotary embedding to control 3D/4D inputs/outputs by @shubhambhokare1 in https://github.com/onnx/onnx/pull/6815
  • Fix MSVC warnings by @cyyever in https://github.com/onnx/onnx/pull/6820
  • Fix pylint warnings by @cyyever in https://github.com/onnx/onnx/pull/6778
  • Update version to 1.18.0rc1 by @ramkrishna2910 in https://github.com/onnx/onnx/pull/6866
  • 1.18.0 cherry pick by @ramkrishna2910 in https://github.com/onnx/onnx/pull/6867
  • Fix missing inputs in create_release.yml by @andife in https://github.com/onnx/onnx/pull/6868
  • update versions by @ramkrishna2910 in https://github.com/onnx/onnx/pull/6880
  • Add wheel build for windows arm64 by @andife in https://github.com/onnx/onnx/pull/6912
  • Export symbols used by PyTorch by @cyyever in https://github.com/onnx/onnx/pull/6917
  • Pick CMake changes by @cyyever in https://github.com/onnx/onnx/pull/6922
  • Update VERSION_NUMBER to 1.18.0rc2 by @andife in https://github.com/onnx/onnx/pull/6921
  • update version to 1.18.0 by @ramkrishna2910 in https://github.com/onnx/onnx/pull/6954

Contributors

Andreas Fehlner, Atanas Dimitrov, Bilyana Indzheva, Emmanuel Ferdman, G. Ramalingam, Ilya Lavrenov, Joaquin Anton, Joshua Lochner, Justin Chu, Kevin Chen, Liu Jinjie, Mehmet Can Farsak, Michał Górny, Nat Kershaw (MSFT), Nenad Banfic, Pete Warden, Po-Chu Hsu, Ramakrishnan Sivakumar, Rudro, Shubham Bhokare, Ti-Tai Wang, Xavier Dupré, Yuan Yao, Yulong Wang, Zijun Yu, cyyever, dependabot[bot], kolasaniv1996, mcollinswisc, seungwoo-ji

New Contributors

  • @Yosshi999 made their first contribution in https://github.com/onnx/onnx/pull/6314
  • @petewarden made their first contribution in https://github.com/onnx/onnx/pull/6407
  • @tonypottera24 made their first contribution in https://github.com/onnx/onnx/pull/6424
  • @mcollinswisc made their first contribution in https://github.com/onnx/onnx/pull/6460
  • @xenova made their first contribution in https://github.com/onnx/onnx/pull/6556
  • @wine99 made their first contribution in https://github.com/onnx/onnx/pull/6587
  • @rudrOwO made their first contribution in https://github.com/onnx/onnx/pull/6599
  • @neNasko1 made their first contribution in https://github.com/onnx/onnx/pull/6597
  • @mgorny made their first contribution in https://github.com/onnx/onnx/pull/6643
  • @titaiwangms made their first contribution in https://github.com/onnx/onnx/pull/6650
  • @sgjzfzzf made their first contribution in https://github.com/onnx/onnx/pull/6691
  • @mehmetcanfarsak made their first contribution in https://github.com/onnx/onnx/pull/6699
  • @kolasaniv1996 made their first contribution in https://github.com/onnx/onnx/pull/6702
  • @nenad1002 made their first contribution in https://github.com/onnx/onnx/pull/6707
  • @bili2002 made their first contribution in https://github.com/onnx/onnx/pull/6687
  • @seungwoo-ji-03 made their first contribution in https://github.com/onnx/onnx/pull/6608
  • @emmanuel-ferdman made their first contribution in https://github.com/onnx/onnx/pull/6729

Full Changelog: https://github.com/onnx/onnx/compare/v1.17.0...v1.18.0

- Python
Published by ramkrishna2910 10 months ago

onnx - v1.17.0

ONNX v1.17.0 is now available with exciting new features! We would like to thank everyone who contributed to this release! Please visit onnx.ai to learn more about ONNX and associated projects.

Key Updates

ai.onnx Opset 22

Python Changes

  • Support for numpy >= 2.0

Bug fixes and infrastructure improvements

  • Fix Check URLs errors 5972
  • Use CMAKEPREFIXPATH in finding libprotobuf 5975
  • Bump main VERSION_NUMBER to 1.17.0 5968
  • Fix source and pip tar.gz builds on s390x systems 5984
  • Fix unique_name 5992
  • Fix SegFault bug in shape inference 5990
  • Fix onnx.compose when connecting subgraphs 5991
  • Fix conversion from split 11 to split 18 6020
  • Update error messages for NegativeLogLikelihoodLoss inference function 6021
  • Generalize input/output number check in shape inference 6005
  • Replace rank inference with shape inference for Einsum op 6010
  • build from source instruction with latest cmake change 6038
  • Handle OneHot's depth value during shape inference 5963
  • Not to install cmake in pyproject.toml on Windows 6045
  • fix a skipped shape infer code 6049
  • Include the ".onnxtext" extension in supported serialization format 6051
  • Allow ReferenceEvaluator to return intermediate results 6066
  • Fix 1 typo in numpy_helper.py 6041
  • Remove benchmarking code 6076
  • Prevent crash on import after GCC 8 builds 6048
  • Check graph outputs are defined 6083
  • Enable additional ruff rules 6032
  • Add missing shape inference check for DequantizeLinear 6080
  • Add bfloat16 to all relevant ops 6099
  • fix(ci): install python dependencies with --only-binary :all: in manylinux 6120
  • fix: install google-re2 with --only-binary option 6129
  • Specify axis parameter for DequantizeLinear when input rank is 1 6095
  • Pin onnxruntime to 1.17.3 for release CIs 6143
  • Fix INT4 TensorProto byte size is 5x larger than expected with negative values 6161
  • Mitigate tarball directory traversal risks 6164
  • Fix reference implementation for ScatterND with 4D tensors 6174
  • Addition of group > 1 in test and in backend for ConvTranspose 6175
  • Support for bfloat16 for binary, unary operators in reference implementation 6166
  • Refactor windows workflow to work on standard windows 6190
  • Fix a few crashes while running shape inference 6195
  • Update onnx to work with numpy>=2.0 6196
  • Use sets to improve performance of dfs search 6213
  • Upgrade reuse to v4.0.0 6216
  • Makes toarray, fromarray support custom numpy dtype, support float16 type in parser 6170
  • Handle functions in external data helper 6233
  • Refactor safe extract method to fix issue 6215 6222
  • move examples dir 6230
  • Use MACOSXDEPLOYMENTTARGET=12.0 for macOS wheels 6242
  • Handle the optional input in infernodeoutputs 6250
  • Add check on dimensions in Gemm opset 6 6217
  • Update broken URLs 6255
  • The latest protobuf pkg 5.28.0 is failing on Windows. use the one pre… 6342
  • Remove unused variables 6303

Test improvements

  • Migrate CI to use Github Actions 6075
  • Add shape inference test for custom op 6068
  • chore(ci): build and test macOS universal2 wheels on macOS arm64 6117
  • Fix input names for quantize/dequantize ONNX backend tests 6122
  • Verify model deletion after testing 6127
  • Better name for Github Action and fix Windows build on CI 6173
  • Fix CI on Windows 3.12 6179
  • Rename test name with duplicated names, add logic to check it does not happen again 6194

Documentation updates

  • Fix typos in the comments and documentation 5944
  • Add more partner projects to be notified about new releases 6042
  • Update release process documentation 6043
  • Update CI pipeline README 6086
  • Add/Format License/Copyright headers 6128
  • Add alternative approach in ONNX converter section 6188
  • Update minor reuse stuff 6221
  • Handle functions in external data helper
  • typo: Update OnnxReleases.md 6231
  • Add the missing python api docs 6237
  • ExternalData - On Windows document proper offset for memory mapping support 6247
  • Fix main url checks 6312

Security updates

  • a) add license/Copyright header, b) add missing TopLevel Security 6184

Installation

You can upgrade to the latest release using pip install onnx --upgrade or build from source following the README instructions.

Contributors

Thanks to these individuals for their contributions in this release since last 1.17.0 release: Aditya Goel, Adrian Lizarraga, Aman K. Shihab, Andreas Fehlner, Charles Volzka, Christian Bourjau, Danni, G. Ramalingam, Justin Chu, Kyle Sayers, Matthieu Darbois, Raghavan Naresh Sarangapani, Ramakrishnan Sivakumar, RoboSchmied, Thiago Crepaldi, Xavier Dupré, ivberg, liqun Fu, sunflowersxu, uint256_t, yancong

- Python
Published by roborags over 1 year ago

onnx - v1.16.2

ONNX v1.16.2 is a patch release based on v1.16.1.

Bug fixes

  • Mitigate tarball directory traversal risks #6164
  • Refactor safe extract method #6222
  • Add check on dimensions in Gemm opset 6 #6217
  • Update broken URLs #6255

Please visit onnx.ai to learn more about ONNX and associated projects.

- Python
Published by cjvolzka over 1 year ago

onnx - v1.16.1

ONNX v1.16.1 is a patch release based on v1.16.0.

Bug fixes

  • Prevent crash on import after GCC 8 builds #6048
  • Add missing shape inference check for DequantizeLinear #6080
  • Fix input names for quantize/dequantize ONNX backend tests #6122
  • fix a skipped shape infer code #6049

Please visit onnx.ai to learn more about ONNX and associated projects.

- Python
Published by cjvolzka almost 2 years ago

onnx - v1.16.0

ONNX v1.16.0 is now available with exciting new features! We would like to thank everyone who contributed to this release! Please visit onnx.ai to learn more about ONNX and associated projects.

Key Updates

ai.onnx Opset 21

ai.onnx.ml Opset 4

IR Version 10

  • Added support for UINT4, INT4 types
  • GraphProto, FunctionProto, NodeProto, TensorProto added metadata_props field
  • FunctionProto added value_info field
  • FunctionProto and NodeProto added overload field to support overloaded functions.

Python Changes

  • Support registering custom OpSchemas via Python interface
  • Support Python3.12

Security Updates

  • Fix path sanitization bypass leading to arbitrary read (CVE-2024-27318)
  • Fix Out of bounds read due to lack of string termination in assert (CVE-2024-27319)

Deprecation notice

Bug fixes and infrastructure improvements

  • Enable empty list of values as attribute (#5559)
  • Add backward conversions from 18->17 for reduce ops (#5606)
  • DFT-20 version converter (#5613)
  • Fix version-converter to generate valid identifiers (#5628)
  • Reserve removed proto fields (#5643)
  • Cleanup shape inference implementation (#5596)
  • Do not use LFS64 on non-glibc linux (#5669)
  • Drop "one of" default attribute check in LabelEncoder (#5673)
  • TreeEnsemble base values for the reference implementation (#5665)
  • Parser/printer support external data format (#5688)
  • [cmake] Place export target file in the correct directory (#5677)
  • Bump CMAKECXXSTANDARD as 17 globally (#5612)
  • Fix shape inference for DequantizeLinear (#5709)
  • Fix swapped version numbers in version converter (#5734)
  • Expose LexicalScopeContext in checker.py (#5693)
  • Create in-memory large models without serializing large initializers through protobuf (#5685)
  • Define all in onnx.reference (#5749)
  • Add default for checkfunction & Use lexicalscope_ctx for readability (#5757)
  • Make ReferenceEvaluator support ModelContainer (#5754)
  • Fix reference implementation for loops with optional number of iterations (#5752)
  • Print the actual and expected attribute types in checker (#5762)
  • Resurrect check function context logic (#5778)
  • Fix conversion to zero for E4M3FNUZ and E5M2FNUZ (#5764)
  • Support Unicode file paths when loading an ONNX file (#5806)
  • Removed unused string_view include (#5813)
  • Use mac-release 10.15 (#5820)
  • Process subgraphs in inliner (#5841)
  • Enable unity(Jumbo) builds (#5768)
  • Print tensor dtypes as strings in shape inference (#5856)
  • Bump up IR_VERSION to 10 (#5860)
  • Support Python 3.12 (#5743)
  • Fix corner case where output size need to reduce by one in MaxPool (#5741)
  • Bump Numpy minimal version to 1.20 (#5902)
  • Fix endianness conversion in numpyhelper.toarray() (#5904)
  • Add valueinfos field to FunctionProto (#5903)
  • Remove deprecated properties from FormalParameter (#5921)
  • Add proto support for overloaded functions (#5011)
  • Add parser support for int4 types (#5934)
  • Update proto to add metadata props (#5938)
  • The latest Cmake 3.28.3 is failing with "Could NOT find Protobuf (missing: Protobuf_LIBRARIES)". Use Cmake 3.27.9 (#5951)
  • Fix ReferenceEvaluator when run from a subclass (#5936)

Documentation updates

  • Update top-k documentation (#5948)
  • Updated docs for DynamicQuantizeLinear to be consistent with reference implementation (#5603)
  • Clarify cond to If must contain a single element (#5617)
  • Update README.md (#5630)
  • Fix affineGrid doc error - output shape shall has no 'C' in it (#5648)
  • Use absolute link in README.md entirely (#5663)
  • [Doc clarification] Added unidirectional text for LayerNorm (#5686)
  • Add documentation for inliner (#5712)
  • update release doc for tag creation (#5721)
  • Doc: Add exception checks in check_model (#5736)
  • Add perm length constraint in Transpose doc (#5857)
  • Fix label encoder definition in schema (#5863)
  • Update batchnorm documentation (number of outputs for training mode) (#5932)
  • Q/DQ docs readability + 4bit info in onnx.proto (#5937)

Installation

You can upgrade to the latest release using pip install onnx --upgrade or build from source following the README instructions.

Contributors

Thanks to these individuals for their contributions in this release since last 1.16.0 release: Aditya Goel, Adrian Lizarraga, Andreas Fehlner, Charles Volzka, Daniel Richard G, Danni, G. Ramalingam, Gal Hubara-Agam, Ilya Lavrenov, Justin Chu, Tabari Alexander, Takeshi Watanabe, WORLD PEACE, Wouter Deconinck, Xavier Dupré, Yuan Yao, dependabot[bot], galagam, jslap-ubi, liqun Fu

- Python
Published by cjvolzka almost 2 years ago

onnx - v1.15.0

ONNX v1.15.0 is now available with exciting new features! We would like to thank everyone who contributed to this release! Please visit onnx.ai to learn more about ONNX and associated projects.

Key Updates

  • Added new operators: ImageDecoderhttps://github.com/onnx/onnx/pull/5294 RegexFullMatchhttps://github.com/onnx/onnx/pull/5401 StringConcathttps://github.com/onnx/onnx/issues/5350 StringSplithttps://github.com/onnx/onnx/pull/5371 AffineGridhttps://github.com/onnx/onnx/issues/5225 Geluhttps://github.com/onnx/onnx/issues/5277

  • Updated existing operators: ConstantOfShapehttps://github.com/onnx/onnx/pull/5390 GridSamplehttps://github.com/onnx/onnx/pull/5010 ReduceMaxhttps://github.com/onnx/onnx/pull/5539 ReduceMinhttps://github.com/onnx/onnx/pull/5539 IsNanhttps://github.com/onnx/onnx/pull/5583 IsInfhttps://github.com/onnx/onnx/pull/5583 DFThttps://github.com/onnx/onnx/pull/5514 LabelEncoderhttps://github.com/onnx/onnx/pull/5453

  • New features, bug fixes, and document updates

ai.onnx opset version increased to 20 with following changes:

  • New Operators (ai.onnx):

    • ImageDecoder a new ImageDecoder operator to be used in preprocessing models
    • RegexFullMatch a new operator for regex matching that is commonly used in feature preprocessing
    • StringConcat takes two string tensors as input and returns the elementwise concatenation of the strings in each tensor
    • StringSplit takes a string tensor as input and splits each element based on a delimiter attribute and a maxsplit attribute
    • AffineGrid Generates a 2D or 3D flow field (sampling grid), given a batch of affine matrices theta
    • Gelu applies gaussian error linear unit function or its approximation to input
  • Operator Updates (ai.onnx):

ai.onnx.ml opset version increased to 4 with following changes:

  • Operator Updates (ai.onnx.ml):
    • LabelEncoder adds keysastensor and valuesastensor attributes

New functionality:

  • Enable empty list of values as attribute PR#5559
  • Update diff bakend node tests for auto update doc PR#5604
  • Enable pylint checks with Ruff and remove pylint from lintrunner PR#5589
  • Getting onnx to treat inf/-inf as float literals. PR#5528
  • Create the onnxtxt serialization format PR#5524
  • Support JSON as a serialization target PR#5523
  • Support for parsing and printing empty list value as attribute PR#5516
  • Add auto update doc pipeline to help developers update docs PR#5450
  • Implement GELU as function op PR#5277
  • Integrate function-inlining with version-conversion PR#5211
  • Extend function type inference to handle missing optional parameters PR#5169
  • Create repr functions for OpSchema PR#5117
  • Utility to inline model-local functions PR#5105
  • Faster reference implementation for operator Conv based on im2col PR#5069
  • Support textproto as a serialization format PR#5112

ONNX now supports serializing to JSON, Text Proto as well as the ONNX Text Representation

Users are now able to serialize the model proto to a text format by specifying supported file extensions or supplying the format= argument in save_model.

For example

```python

model: onnx.ModelProto

onnx.save_model(model, "model.json") ```

will save the model as a json file.

Shape inference enhancements

  • [Spec] output_shape for ConvTranspose should not have batch and channels PR#5400
  • Infer rank where reshape shape is inferred PR#5327

Bug fixes and infrastructure improvements

  • Do not use LFS64 on non-glibc linu PR#5669
  • [Web] Use tensordtypetonpdtype instead of deprecated function PR#5593
  • Reject absolute path when saving external data PR#5566
  • Support Python editable builds PR#5558
  • Test onnxruntime 1.15 with opset 19/IR 9 and fix test source distribution PR#5376
  • Supports float 8 initializers in ReferenceEvaluator PR#5295
  • Fix check_tensor to work with large models on UNIX PR#5286
  • Fix check_tensor to work with large models on Windows PR#5227
  • Transpose scalar shape inference PR#5204
  • Enable RUFF as a formatter PR#5176
  • correct averagepool kernel shape in dilation test case PR#5158
  • Fix type constraints of Reshape(19) PR#5146
  • Add github action to check urls are valid PR#5434 Y
  • Introduce optional cpplint in CI PR#5396 Y
  • Test the serialization API with custom serializers PR#5315 Y
  • [CI] Use ONNX Hub directly in testmodelzoo CI PR#5267 Y
  • Clean up setup.py in favor of pyproject.toml PR#4879 Y

Documentation updates

  • Merge the two contributing docs and create instructions for updating an op PR#5584
  • [Doc] Update README.md regarding Protobuf update and fix typo in Slice-13 spec PR#5435
  • Generate both onnx and onnx-ml operator docs when ONNX_ML=1 PR#5381
  • Publish md files under docs/ to the documentation site PR#5312
  • Update OpSchema docs to include new methods and classes PR#5297
  • Fix missing examples in documentation for ai.onnx.ml PR#5228
  • Modify OneHot operator explanation PR#5197
  • Update CIPipelines.md PR#5157
  • Extend python API documentation PR#5156
  • Update sphinx to create markdown pages for operators PR#5137

Installation

You can upgrade to the latest release using pip install onnx --upgrade or build from source following the README instructions.

python setup.py develop deprecation

Direct invocation of setup.py is deprecated following https://setuptools.pypa.io/en/latest/deprecated/commands.html. To build ONNX, users should switch to use

```

Editable installation

Before: python setup.py develop

Now

pip install -e .

Build wheel

Before: python setup.py bdist_wheel

Now

pip install --upgrade build python -m build . ```

Contributors

Thanks to these individuals for their contributions in this release since last 1.15.0 release: @adityagoel4512 @AlexandreEichenberger @andife @AtanasDimitrovQC @BowenBao @cbourjau @ClifHouck @guoyuhong @gramalingam @ilya-lavrenov @jantonguirao @jbachurski @jcwchen @justinchuby @leso-kn @linkerzhang @liqunfu @prasanthpul @slowlyideal @smk2007 @snnn @take-cheeze @xadupre @yuanyao-nv @zhenhuaw-me

- Python
Published by liqunfu over 2 years ago

onnx - v1.14.1

ONNX v1.14.1 is a patch release based on v1.14.1.

Bug fixes

  • Fix shape data propagation function to handle missing optional parameters #5219
  • Fix a couple of shape inference issues #5223
  • Extend function type inference to handle missing optional parameters #5169
  • Fix check_tensor to work with large models on Windows #5227
  • Fix check_tensor to work with large models on UNIX #5286

- Python
Published by yuanyao-nv over 2 years ago

onnx - v1.14.0

ONNX v1.14.0 is now available with exciting new features! We would like to thank everyone who contributed to this release! Please visit onnx.ai to learn more about ONNX and associated projects.

Opset 19 is released

New operators

DeformConv added in https://github.com/onnx/onnx/pull/4783

Operator extensions

Equal - Support for string data type added in https://github.com/onnx/onnx/pull/4828 AveragePool - New attribute dilations https://github.com/onnx/onnx/pull/4790 Pad - Added new wrap to the mode attribute to support circular padding https://github.com/onnx/onnx/pull/4793 Resize - Added half_pixel_symmetric to the coordinate_transformation_mode attribute https://github.com/onnx/onnx/pull/4862

IR updates (bump to 9)

  • Support attributes with default values: https://github.com/onnx/onnx/pull/4911
  • Added 4 new 8-bit floating point data types: https://github.com/onnx/onnx/pull/4805

Backend tests

Replaced real models with light models in backend tests. https://github.com/onnx/onnx/pull/4861 https://github.com/onnx/onnx/pull/4960

Support Protobuf v21

Now ONNX supports Protobuf v21: https://github.com/onnx/onnx/pull/4956

Deprecation notice

  • Python 3.7 support will be deprecated due to EOL in next release: https://github.com/onnx/onnx/pull/5191
  • onnx-weekly package will be deprecated in TestPyPI. Please use them from PyPI instead: https://github.com/onnx/onnx/issues/4930
  • Properties in FormalParameter will be deprecated in future release. Please use newer properties name: https://github.com/onnx/onnx/issues/5074
  • Variables from mapping.py will be deprecated and become private implementation details. Please use public functions to get corresponding types from helper.py instead: https://github.com/onnx/onnx/issues/4554

Installation notice

You can upgrade to the latest release using pip install onnx --upgrade or build from source following the README instructions.

Contributors

Thanks to these individuals for their contributions in this release since last 1.13.0 release: @jcwchen, @andife, @gramalingam, @xadupre, @justinchuby, @liqunfu, @yuanyao-nv, @jbachurski, @p-wysocki, @prasanthpul, @jantonguirao, @take-cheeze, @smk2007, @AlexandreEichenberger, @snnn, @daquexian, @linkerzhang.

- Python
Published by yuanyao-nv almost 3 years ago

onnx - v1.13.1

ONNX v1.13.1 is a patch release based on v1.13.0.

Bug fixes

  • Add missing f-string for DeprecatedWarningDict in mapping.py #4707
  • Fix types deprecated in numpy==1.24 #4721
  • Update URL for real models from ONNX Runtime #4865
  • Fix attribute substitution within subgraphs during function type/shape inference #4792
  • Handle variants of constant op in shape inference #4824
  • Fix parser bug in handling non-tensor types #4863
  • Fix function shape inference bug #4880

Announcement

  • Deprecate real model tests from onnx repo in next ONNX release #4885
  • Move onnx-weekly package from TestPyPI to PyPI and stop uploading onnx-weekly to TestPyPI after next ONNX release #4930

- Python
Published by jcwchen about 3 years ago

onnx - v1.13.0

ONNX v1.13.0 is now available with exciting new features! We would like to thank everyone who contributed to this release! Please visit onnx.ai to learn more about ONNX and associated projects.

New operators

Operator extensions

Function updates

Reference Python runtime

Reference Python runtime dependent on only Python and numpy has been added. #4483

Python 3.11 support

ONNX 1.13.0 supports Python 3.11. #4490

Apple Silicon support

Support for M1/M2 ARM processors has been added. #4642

More

ONNX 1.13.0 also comes with numerous: - bugfixes - infrastructure improvements - CI improvements - documentation updates - security updates

For full details see Logistics for ONNX Release 1.13.0.

Deprecation notice

  • TENSOR_TYPE_TO_STORAGE_TENSOR_TYPE has been deprecated #4270
  • ONNXIFI: ONNX Interface for Framework Integration has been deprecated #4431

Installation

You can upgrade to the latest release using pip install onnx --upgrade or build from source following the README instructions.

Contributors

Thanks to these individuals for their contributions in this release since last 1.12.0 release: @AnandKri, @cbourjau, @jcwchen, @gramalingam, @garymm, @GaetanLepage, @ilya-lavrenov, @jnovikov, @JackBoosY, @jbachurski, @tjich, @jantonguirao, @justinchuby, @natke, @philass, @prasanthpul, @p-wysocki, @SpaceIm, @stephenneuendorffer,@take-cheeze, @sechkova, @thiagocrepaldi, @xadupre, @mszhanyi, @yuanyao-nv, @andife, @daquexian, @kylesayrs, @liqunfu, @longlee0622, @HSQ79815, @williamberman, @YanBC

The list has been acquired with a script written by Aaron Bockover.

- Python
Published by p-wysocki about 3 years ago

onnx - v1.12.0

ONNX v1.12.0 is now available with exciting new features! We would like to thank everyone who contributed to this release! Please visit onnx.ai to learn more about ONNX and associated projects.

Key Updates

ai.onnx opset version increased to 17 with following changes:

  • New operators (ai.onnx): - LayerNormalization (#4076) - SequenceMap (#3892) - Signal Operators: DFT, HannWindow, HammingWindow, BlackmanWindow, MelWeightMatrix, STFT (#3741)
  • Operator Updates (ai.onnx):
    - [Scan] Remove unused type constraint I for newer Scan (opset 9+)(#4012)

Shape inference enhancements

  • Extend InferShapes to expose result of data propagation (#3879)
  • Update shape inference for constant of shape (#4141)
  • Catch missing input type in function shape inference (#4123)
  • Add shape inference for Expand using symbolic shape input (#3789)
  • Fix Expand shape inference: stop rank inference if the shape is symbolic (#4019)

Bug fixes and infrastructure improvements

  • Fix a bug in getinitializer_tensors() (#4118)
  • Fix bug of resizeShapeInference for Resize13 (#4140)
  • Fix bug in SCE function body (#4038)
  • Use correct pytest types in backend (#3990) (#3994)
  • Checker should validate the node's inputs/outputs have names when its formal parameter is Variadic (#3979)
  • Loose NumPy requirement to grant more flexibility (#4059)
  • Fix crash: Skip unused valueinfo for versionconverter (#4079)
  • Use %d for integer in version_converter (#4182)
  • Extend parser to handle other types (#4136)

Documentation updates

  • Add documentation about functions to IR.md (#4180)
  • Clarify add new op documentation (#4150)
  • Clarify NonZero behavior for scalar input in spec (#4113)
  • Update shape inference documentation (#4163)
  • Fix a minor typo in operator Gather documentation (#4125)
  • Fix typo in CIPipelines.md (#4157)
  • Fix typo in slice doc (#4117)
  • Fix grammar in documents (#4094)
  • Clearer description of Slice (#3908)
  • Add OperatorSetId definition in docs (#4039)
  • Clean up protocol buffer definitions (#4201)
  • Change the wrong words of second layer input (#4044)
  • Clarify that op_type is case sensitive (#4096)

Installation

You can upgrade to the latest release using pip install onnx --upgrade or build from source following the README instructions.

Notes

  • Beware of the protobuf version gap issue (building onnx with protobuf>=3.12 is not compatible with older protobuf)

Contributors

Thanks to these individuals for their contributions in this release since last 1.11.0 release. (Contributor list obtained with: https://github.com/onnx/onnx/graphs/contributors?from=2022-02-08&to=2022-05-24&type=c): @jcwchen, @gramalingam, @xuzijian629, @garymm, @diyessi, @liqunfu, @jantonguirao, @daquexian, @fdwr, @andife, @wschin, @xadupre, @xkszltl, @snnn

- Python
Published by etiotto over 3 years ago

onnx - v1.11.0

ONNX v1.11.0 is now available with exciting new features! We would like to thank everyone who contributed to this release! Please visit onnx.ai to learn more about ONNX and associated projects.

Key Updates

ai.onnx opset version increased to 16 with following changes:

  • New Operators (ai.onnx):
  • Operator Updates (ai.onnx):
    • Identity, add optional type support.
    • If, add optional data type support for output.
    • LeakyRelu, add bfloat16 type support.
    • Loop, add optional data type support for initial value and output.
    • PRelu, add bfloat16 type support.
    • RoiAlign, add an attribute coordinatetransformationmode, correct the default behavior.
    • Scan, add bfloat16 type support for output.
    • ScatterElements, add reduction attribute.
    • ScatterND, add reduction attribute.
    • Where, extend Where op to permit bfloat16 types.
    • GreaterOrEqual, add bfloat16 type support.
    • LessOrEqual, add bfloat16 type support.

ai.onnx.ml opset version increased to 3 with following changes:

New functionality:

  • A new Model Hub for users to get started with state-of-the-art pre-trained ONNX models from the ONNX Model Zoo or for researchers and model developers to share models. https://github.com/onnx/onnx/pull/3712
  • Add compose utility to help with creating and combining models out of several graphs. https://github.com/onnx/onnx/pull/3820
  • Add FunctionBuilder utility class to help construct function ops. https://github.com/onnx/onnx/pull/3882

Shape inference enhancements

  • Extend optional type inference. #3756
  • Make shape inference handle MapProto. #3772
  • Improve rank inference for Expand op. #3807
  • Enhance shape inference: ParseData/Transpose/QuantizeLinear. #3806
  • Honor existing dim_param in shape inference. #3896
  • Shape inference for functions. #3722
  • Use symbolic input for shape inference of ConstantOfShape. #3784

Bug fixes and infrastructure improvements

  • Use MSVC Runtime as dll for official ONNX Windows release. #3644
  • Simplify common version converter adapter design patterns. #3761
  • Use scalar for OneHot's depth to prevent confusion. #3774
  • Correct wrong subgraph test example for If operator. #3798
  • [Dup] Add SpaceToDepth test cases. #3786
  • Fix error in Pad op convert. #3778
  • Fix some examples for ArgMax. #3851
  • Shape inference should not propagate missing optional outputs. #3815
  • Check negative index for attributes of Slice-1. #3810
  • Cleanup type cast related warnings. #3801
  • Replace whitelist by safelist. #3900
  • Fix weekly/Linux CI failures: correct skip list and remove old numpy related code. #3916
  • Fix old ConvTranspose shape inference and softmax upgrader. #3893
  • Fix Linux i686 Release CI failure due to the latest NumPy. #3918
  • Simplify function definition of context-dependent functions. #3882
  • Migration to using main branch. #3925
  • Append dim even both dim value and param are not set. #3828
  • Bump to 10.15 in AzurePipeline because 10.14 was deprecated. #3941
  • Six: remove all references. #3926
  • For issue 3849 to confirm that type check is performed during checker. #3902
  • Remove testing ort-nightly for Mac Python 3.6 due to unsupported ort-nightly. #3953
  • Mypy: update to 0.760 and remove vendored protobuf stubs. #3939
  • Upgrade Windows version in AzurePipeline since 2017 was dep. #3957
  • Version converter for Softmax should not produce empty shape. #3861
  • Fix Cppcheck warning about memset on NULL backend_ids. #3970
  • Bug fix of extractor which misses local functions. #3954
  • Add bfloat16 type to a few ops missing it. #3960

Documentation updates

  • ONNX Hub Docs. #3712
  • Clarify definition of a tensor in IR docs. #3792
  • Document that Where supports multidirectional broadcasting. #3827
  • Sync build documentation in CONTRIBUTING.md. #3859
  • [CI][Doc] Add CI Pipelines doc/node tests verification. #3780
  • Remind release manager to remove old onnx-weekly packages after release. #3923
  • Fix the bug of shape in docs. #3927
  • Clean up README. #3961
  • Remove documentation about Python 2. #3963

Installation

You can upgrade to the latest release using pip install onnx --upgrade or build from source following the README instructions.

Notes

  • Beware of the protobuf version gap issue (building onnx with protobuf>=3.12 is not compatible with older protobuf)

Additional Notes

  • ONNX will drop Python 3.6 support in next release because it has reached EOL.
  • ONNX will upgrade its NumPy version to 1.21.5 before next release to resolve vulnerability issue for old NumPy 1.16.6.
  • There will be infrastructure change to Linux packaging system to replace manylinux2010 with manylinux2014 or manylinux2.

Contributors

Thanks to these individuals for their contributions in this release since last 1.10.0 release. (Contributor list obtained with: https://github.com/onnx/onnx/graphs/contributors?from=2021-07-30&to=2022-02-08&type=c): @jcwchen, @gramalingam, @garymm, @mhamilton723, @TomWildenhain-Microsoft, @neginraoof, @xuzijian629, @liqunfu, @gwang-msft, @chudegao, @AlexandreEichenberger, @rajeevsrao, @matteosal, @stillmatic, @askhade, @liuyu21, @jantonguirao, @shinh, @kevinch-nv, @shubhambhokare1, @hwangdeyu, @jiafatom, @postrational, @snnn, @jackwish

- Python
Published by liqunfu about 4 years ago

onnx - v1.10.2

ONNX v1.10.2 is a patch release based on v1.10.1.

Bug fixes:

  • Fix compilation error on older compilers (#3683)
  • Stricter check for Shape's input: check input type (#3757)

- Python
Published by jcwchen over 4 years ago

onnx - v1.10.1

This release is a patch release based on v1.10.0.

Bug fix: - Include requirements.txt in source distribution https://github.com/onnx/onnx/pull/3623

- Python
Published by rajeevsrao over 4 years ago

onnx - v1.10.0

ONNX v1.10.0 is now available with exciting new features! We would like to thank everyone who contributed to this release! Please visit onnx.ai to learn more about ONNX and associated projects.

Key Updates

  • Added new Optional and SparseTensor types. https://github.com/onnx/onnx/pull/3407 https://github.com/onnx/onnx/pull/3398
  • Added model local functions to ModelProto. https://github.com/onnx/onnx/pull/3532
  • Shape inference enhancements for Reshape, Squeeze, NonZero, DynamicQuantizeLinear.
  • Introduce symbolic shape inference support. https://github.com/onnx/onnx/issues/3506
  • New version converter tests. https://github.com/onnx/onnx/pull/3344
  • Add aarch64 wheel build support. https://github.com/onnx/onnx/pull/3414
  • Update ONNX IR version to 8 and opset version to 15. https://github.com/onnx/onnx/pull/3587

IR Updates

  • Added two new types to ONNX type system. Optional and SparseTensor https://github.com/onnx/onnx/pull/3407 https://github.com/onnx/onnx/pull/3398
  • Extend model proto to include model local functions. https://github.com/onnx/onnx/pull/3532

Opset version 15

  • New Function Operators:
    • Bernoulli https://github.com/onnx/onnx/pull/3431
    • CastLike https://github.com/onnx/onnx/pull/3558
  • New Operators:
  • Operator Updates:
    • Add additional type constraints in BatchNormalization. https://github.com/onnx/onnx/pull/3545
    • Add bfloat16 support for Pow. https://github.com/onnx/onnx/pull/3412
    • Extend Shape to return a slice using optional attributes start,end. https://github.com/onnx/onnx/pull/3580

API

  • Symbolic shape inference support. https://github.com/onnx/onnx/issues/3506
    • Symbol generation https://github.com/onnx/onnx/pull/3518
    • Data propagation https://github.com/onnx/onnx/pull/3551 https://github.com/onnx/onnx/pull/3593
  • Shape inference enhancements
    • Add shape inference for NonZero. https://github.com/onnx/onnx/pull/3364
    • Add shape inference for Dynamic QuantizeLinear. https://github.com/onnx/onnx/pull/3539
    • Update Reshape shape inference. https://github.com/onnx/onnx/pull/3592
    • Fix shape inference for Squeeze. https://github.com/onnx/onnx/pull/3516
      • Fix shape inference for Squeeze without axes. https://github.com/onnx/onnx/pull/3465
  • Expose model parser API in Python (onnx.parser). https://github.com/onnx/onnx/pull/3540
  • Extend model proto to include model local functions.

Infrastructure

  • Update protobuf version to 3.16. https://github.com/onnx/onnx/pull/3571
  • Add README contents to package description. https://github.com/onnx/onnx/pull/3376
  • Add requirements.txt to onnx repo. https://github.com/onnx/onnx/pull/3448
  • Add aarch64 wheel build support. https://github.com/onnx/onnx/pull/3414
  • Version converter support for recursion into subgraphs. https://github.com/onnx/onnx/pull/3474
  • Update ONNX examples to python3. https://github.com/onnx/onnx/pull/3450

Bug fixes

  • Spec clarification for MatMulInteger and QLinearMatMul. https://github.com/onnx/onnx/pull/3585
  • Extend strict_model for ONNX checker. https://github.com/onnx/onnx/pull/3348
  • Always set the output of Shape to be rank-1. https://github.com/onnx/onnx/pull/3394
  • BatchNormalization outputs updated for training mode. https://github.com/onnx/onnx/pull/3379
  • Bugfix for proto utils and update checker error messages. https://github.com/onnx/onnx/pull/3373
  • Fix compilation warnings. https://github.com/onnx/onnx/pull/3616

Installation

You can upgrade to the latest release using pip install onnx --upgrade or build from source following the README instructions.

Notes

  • Beware of the protobuf version gap issue (building onnx with protobuf>=3.12 is not compatible with older protobuf)

Contributors

Thanks to these individuals for their contributions in this release: @jcwchen, @askhade, @gramalingam, @neginraoof, @matteosal, @postrational, @garymm, @yuslepukhin, @fdwr, @jackwish, @manbearian, @etusien, @impactaky, @rajeevsrao, @prasanthpul, @take-cheeze, @chudegao, @mindest, @yufenglee, @annajung, @hwangdeyu, @calvinmccarter-at-lightmatter, @ashbhandare, @xuzijian629, @IceTDrinker, @mrry

- Python
Published by rajeevsrao over 4 years ago

onnx - v1.9.0

ONNX v1.9.0 is now available with exciting new features! We would like to thank everyone who contributed to this release! You may learn more about the project, who is involved and what tools are available at the onnx.ai site.

Key Updates

  • Removed Optimizers from ONNX packages https://github.com/onnx/onnx/pull/3288
  • Selective schema loading by specific opset_version https://github.com/onnx/onnx/pull/3266
  • Updates to external data helpers (more options to control which attributes are converted to external data and whether a model should be saved) https://github.com/onnx/onnx/pull/3280
  • New adapter for opset version converter https://github.com/onnx/onnx/pull/3343

Opset version 14

  • New operator:
    • HardSwish https://github.com/onnx/onnx/pull/3332
    • Trilu https://github.com/onnx/onnx/pull/3291
  • Extended supported types to include uint8, int8, uint16, and int16. https://github.com/onnx/onnx/pull/3334
  • Added allowzero attribute to Reshape operator https://github.com/onnx/onnx/pull/3113
  • Allowed recurrent operations to be batchwise https://github.com/onnx/onnx/pull/3217
  • Expanded CumSum to float16 and bfloat16 data types https://github.com/onnx/onnx/pull/3195
  • Expanded Relu to all signed data types https://github.com/onnx/onnx/pull/3141
  • Added training-mode support to BatchNorm https://github.com/onnx/onnx/pull/3333

API

  • onnx.OnnxParser Parser for a textual syntax of ONNX models https://github.com/onnx/onnx/pull/3194

Infrastructure

  • Removed Python 3.5 in all release pipelines https://github.com/onnx/onnx/pull/3353
  • Added Python 3.9 to all release pipelines https://github.com/onnx/onnx/pull/3352
  • Added weekly CI: provide ONNX TestPyPI packages for verification #3283
  • Reduced binary size for Linux and Mac package https://github.com/onnx/onnx/pull/3337
  • Added check for uploaded/generated backend test data in release CIs https://github.com/onnx/onnx/pull/3274
  • Enabled no exception build and updated exception handling for DataTypeUtils https://github.com/onnx/onnx/pull/3265

Bug fixes

  • Added missing test for ConvInteger without padding https://github.com/onnx/onnx/pull/3288
  • Updated Resize op test to opset 13 https://github.com/onnx/onnx/pull/3361
  • Expanded ir_pb_converter to empty shape https://github.com/onnx/onnx/pull/3279

Installation

You can simply pip upgrade using the pip install onnx --upgrade or build from source following the instructions on Github.

Notes

  • Be aware of protobuf version gap issue (like building onnx with protobuf>=3.12 is not compatible with older protobuf)

Contributors

Thanks to these individuals for their contributions in this release: @jcwchen, @askhade, @postrational, @etusien, @wschin, @prasanthpul, @gramalingam, @daquexian, @BowenBao, @pranav-prakash, @matteosal, @linkerzhang, @annajung, @neginraoof, @tianleiwu, @tomdol

- Python
Published by postrational almost 5 years ago

onnx - v1.8.1

This release is a patch release based on v1.8.0.

Bug fixes: - https://github.com/onnx/onnx/pull/3169 To resolve memory crash on Windows, register python exceptions and update exceptions handling
- https://github.com/onnx/onnx/pull/3171 Fix bugs in external data helpers and add add size thresholds for converting - https://github.com/onnx/onnx/pull/2961 Fix build issues on some distributions of linux due to hard dependency on python2 - https://github.com/onnx/onnx/pull/3221 Fix mypy wrapper error while using ONNX as a submodule - Solve protobuf error while import onnx on MacOS Catalina.

API change: onnx.shapeinference does not throw shapeinference error now. If you want to see the shapeinference errors, please use `onnx.shapeinference.infershapes(onnxmodel, strict_mode=True)`.

Release: - Mac: The minimum supported version of MacOS has been moved from 10.9 to 10.12. - Pipelines: Linux and Mac release pipelines have been moved from Travis-CI under onnx/wheel_builder to GitHub Action under onnx/onnx

- Python
Published by jcwchen about 5 years ago

onnx - v1.8.0

ONNX v1.8 is now available with exciting enhanced features! You may learn more about the project, who is involved and what tools are available at the onnx.ai site. We would like to thank every community member for contributing to the project!

Key Updates

  • Windows conda package is now available in v1.8.0 Release (last supported version was v1.1.1)
  • Training
    • Added Differentiable tags to make Gradient operator better defined https://github.com/onnx/onnx/pull/2723, https://github.com/onnx/onnx/pull/2893, https://github.com/onnx/onnx/pull/2911, https://github.com/onnx/onnx/pull/2954
    • Removed GraphCall; eliminated need to implement GraphCall https://github.com/onnx/onnx/pull/2964
    • Created a tool and example for users to use TrainingInfoProto for training https://github.com/onnx/onnx/pull/3008
  • Shape Inference and Checker
    • Large model (>2GB model) support added for checker and shape_inference https://github.com/onnx/onnx/pull/2744
    • Graph level shape inference fixes to patch the IR gap introduced since IR version 4 https://github.com/onnx/onnx/pull/3023
    • Node level shape inference fixes for operators
  • Version Converter
    • More operators supported https://github.com/onnx/onnx/pull/2664
  • General Features
    • Added serialization for inputs and outputs of Sequence and Map data types https://github.com/onnx/onnx/pull/2581
    • Added programmatic access to version-table and extend make-model https://github.com/onnx/onnx/pull/2918
    • Added size check to make_tensor https://github.com/onnx/onnx/pull/2987

Opset version 13

API

  • onnx.shape_inference now accepts model path and supports >2GB models for shape inference. https://github.com/onnx/onnx/pull/3012

Infrastructure

  • CI improvements for reliability
  • Moved to AzurePipelines to speed up runs
  • pybind11 updated to 2.6.0 to prevent segmentation fault on Windows

Bug fixes

  • https://github.com/onnx/onnx/pull/2888 Return empty string from ToDataTypeString() when tensordatatype not found
  • https://github.com/onnx/onnx/pull/2946 Resolve segfault on Input without tensor data in ConstantofShape
  • https://github.com/onnx/onnx/pull/2950 Add nullptr check to type inference mtds to avoid segfaults
  • https://github.com/onnx/onnx/pull/2983 Fix type inference issue (scalar initializers and Resize)
  • https://github.com/onnx/onnx/pull/3000 Fix ConvTranspose: enhance attribute check
  • https://github.com/onnx/onnx/pull/3005 Fix shape inference of scalar ConstantOfShape
  • https://github.com/onnx/onnx/pull/3014 Fix shape inference
  • https://github.com/onnx/onnx/pull/3023 IR gap issue has been fixed in checker and shape inference

Installation

You can simply pip upgrade using the pip install onnx --upgrade or build from source following the instructions on Github.

Notes

  • onnx.optimizer is moving to another repo: https://github.com/onnx/optimizer. It will be removed from onnx/onnx in ONNX 1.9.
  • onnx.version_converter has IR gap issue - cannot use input from initializer: https://github.com/onnx/onnx/pull/3007
  • onnx.shape_inference updates both output and value_info. It will only update the original output in future update: https://github.com/onnx/onnx/issues/3069

Contributors

Thanks to these individuals for their contributions in this release: jcwchen, askhade, wschin, vinitra, prasanthpul, gramalingam, daquexian, rajeevnalawadi, sveta-levitan, ashbhandare, chinhuang007, KsenijaS, shinh, BowenBao, shubhambhokare1, pranav-prakash, prabhat00155, pluradj, matteosal, jackwish, Yukigaru, H1Gdev, 462630221, natke, kevinch-nv, RandySheriffH, souptc, fdwr, HectorSVC, jspisak, codemzs, yuslepukhin, linkerzhang

- Python
Published by jcwchen over 5 years ago

onnx - v1.7.0

ONNX v1.7 is now available with exciting new features! We would like to thank everyone who contributed to this release! You may learn more about the project, who is involved and what tools are available at the onnx.ai site.

Change Log

Major changes and updates since the v1.6.0 release:

Training Support, as a tech preview * A set of new training features are introduced to represent neural network models in the process of model training. * A protobuf message TrainingInfoProto is added to store training information, including the algorithm and initializers, as well as new operators Gradient and GraphCall and new functions describing most commonly used Loss functions and Optimizers, all in the domain ai.onnx.preview.training. * The new spec allows one to create a model training task or a partially trained model in one framework, then export it in ONNX and load into a runtime or another framework where the training can proceed, with the expectation of theoretically similar outcome to the model trained in the original framework. * Note the converters do not support training yet. The goal of this tech preview is to test the new spec and to enable converters to add full support in future releases.

Operator changes * Opset has been updated to version 12. * Preview training opset has been added as version 1. * New operators: * ONNX * Celu (https://github.com/onnx/onnx/pull/2575) (https://github.com/onnx/onnx/pull/2573) * Einsum (https://github.com/onnx/onnx/pull/2504) * GreaterOrEqual (https://github.com/onnx/onnx/pull/2606) * LessOrEqual (https://github.com/onnx/onnx/pull/2606) * NegativeLogLikelihoodLoss (https://github.com/onnx/onnx/pull/2551) (https://github.com/onnx/onnx/pull/2573) (https://github.com/onnx/onnx/pull/2725) * SoftmaxCrossEntropyLoss (https://github.com/onnx/onnx/pull/2573) (https://github.com/onnx/onnx/pull/2667) (https://github.com/onnx/onnx/pull/2680) (https://github.com/onnx/onnx/pull/2690) (https://github.com/onnx/onnx/pull/2696) (https://github.com/onnx/onnx/pull/2700) (https://github.com/onnx/onnx/pull/2703) (https://github.com/onnx/onnx/pull/2725) * Pow (https://github.com/onnx/onnx/pull/2666) * ONNX preview training * Gradient (https://github.com/onnx/onnx/pull/2314) * GraphCall (https://github.com/onnx/onnx/pull/2314) * Adagrad (https://github.com/onnx/onnx/pull/1955) * Adam (https://github.com/onnx/onnx/pull/1970) * SG with Momentum (https://github.com/onnx/onnx/pull/1959)

  • Updated operators:

    • ONNX
    • ArgMax (https://github.com/onnx/onnx/pull/2461)
    • ArgMin (https://github.com/onnx/onnx/pull/2461)
    • Clip (https://github.com/onnx/onnx/pull/2532)
    • Constant (https://github.com/onnx/onnx/pull/2592)
    • Dropout (https://github.com/onnx/onnx/pull/2568) (https://github.com/onnx/onnx/pull/2725)
    • GatherND (https://github.com/onnx/onnx/pull/2585)
    • Max (https://github.com/onnx/onnx/pull/2608)
    • MaxPool (https://github.com/onnx/onnx/pull/2510)
    • Min (https://github.com/onnx/onnx/pull/2608)
    • ReduceMax (https://github.com/onnx/onnx/pull/2516)
    • ReduceMin (https://github.com/onnx/onnx/pull/2516)
  • General Features

    • Operator registration APIs are updated to support dynamic function body (sub-graph) registration. https://github.com/onnx/onnx/blob/d343755dfdfaae46ccdd1591076205e1bfaa67bf/onnx/defs/schema.h#L674
    • Functions’ body graph are extended to be able to rely on multiple external operator sets.https://github.com/onnx/onnx/blob/master/onnx/onnx-operators.proto#L77
    • Some of the operators (for example, all loss functions) added are actually “functions”, as it’s strongly advocated to add functions instead of (primitive) ops.
    • The model checker is enhanced (https://github.com/onnx/onnx/pull/2367)
    • Call shape-inference to do the extra-checking performed by the type-and-shape-inference methods of ops
    • Check that the typing constraints specified by the op schema are satisfied
    • Infer output types of nodes from the typing constraints specified by the op schema
    • Documentation enhancement
    • Add function description in IR.md (#2596)
    • Add external tensor data in IR.md (#2323)
    • Update documentation Split (#2544), QLinearConv (#2464), Loop (#2337), NonZero and Slice (#2429)

** Bug fixes ** * Fix the attribute types section in IR.md (#2590) * Fix a bug in ScatterND shape inference (#2577) * Copy sizes in some optimizers to remain shape information (#2574) * Fix the intermediate zero calculation for DynamicQuantizeLinear (#2556) * Fix Slice op’s shape inference logic (#2526) * Correct the order of arguments of InferShapes (#2500) * Fix the optimize pass of fuseconsecutivetransposes (#2471) * Fix fuseconsecutiveconcat order bug in onnx optimizer (#2447) * Keep symbolic dims in Concat with a single input (#2418) * Fix broken error message string formatting in softmax shape inferencing (#2403) * Fix bug in function body verifier (#2390) * Fix shape inference for Split with split attribute (#2328)

Installation

You can simply pip upgrade using the following command or build from source following the instructions on Github.

pip install onnx --upgrade

Commits and Pull Requests Since v1.6.

You can find all the commits and pull requests on Github, https://github.com/onnx/onnx/pulls?q=is%3Apr+milestone%3A1.7+

Additional Notes

Python 2.7 support will be deprecated in ONNX 1.8 release. Please plan accordingly.

- Python
Published by chinhuang007 almost 6 years ago

onnx - v1.6.0

ONNX v1.6 is now available! We would like to thank everybody who has contributed to this release! You may learn more about the project, who is involved and what tools are available at the onnx.ai site.

Changelog

Major changes and updates since the v1.5.0 release:

Graph representation * Sequence and map types are now available in ONNX (previously only available in ONNX-ML). (#2249) * Sparse tensor support has been added. It should significantly reduce the storage size for models with many zero weights. See here for example usage. (#2019) * ONNX IR version updated to version 6 to reflect support for new types.

Operators * Opset has been updated to version 11 * New operators: * BitShift (#1931) * CumSum (#2030) * Det (#2233) * DynamicQuantizeLinear (#2187) * GatherElements (#2143) * GatherND (#2106) * Range (#2242) * Round (#2053) * ScatterElements (#2143) * ScatterND (#2220) * Unique (#2141) * New sequence-based operators: (#2249) * ConcatFromSequence * SequenceAt * SequenceConstruct * SequenceEmpty * SequenceErase * SequenceInsert * SequenceLength * SplitToSequence * Negative axis support added for operators: (#2281) * Argmax * Argmin * Compress * Concat * Flatten * Hardmax * LogSoftmax * OneHot * ReduceL1 * ReduceL2 * ReduceLogSum * ReduceLogSumExp * ReduceMax * ReduceMean * ReduceMin * ReduceProd * ReduceSum * ReduceSumSquare * Scan * Slice * Softmax * Split * Squeeze * TopK * Unsqueeze * Updated documentation for default stride and dilation attributes for operators: (#2291) * AveragePool * Conv * ConvTranspose * LpPool * MaxPool * MaxUnpool * Pad * Updated operators: * Clip - min and max attributes changed to inputs (#2096) * Constant - added sparse tensor support (#2019) * DepthToSpace - added column-row-depth order mode (#2163) * Equal - expanded input tensor type to include all numerical types (#2176) * Gemm - marked input bias tensor C as optional (#2330) * Loop - allow zero variadic inputs (#1889) * Resize - added cubic interpolation mode, sizes input parameter, and coordinate_transformation, cubic_coeff_a and exclude_outside attributes. (#2057) * Deprecated operators: * Scatter has been deprecated in favor for ScatterElements (#2143) * Many reference implementations have been added to improve clarity of operator behaviour. For example, see here for the reference implementation of Reshape, and here for how to use the reference to generate test data. * The process of proposing and adding new operator is fully documented in #2172.

Bug Fixes * Fix resize shape inference issue in opset10 (#2294) * Fix extra collectsnippets warning (#2307) * Fix link to community docs in readme (#2261) * Fix segfault in tile shape inference (#2221) * Fix errors in RoiAlign shape inference code (#2167) * Fix globalpool output shape (#2147) * Fix inconsistency in describing graph's initializer (#2115) * Fix NN defs file (#2083) * Fix torchvision installation (#2054) * Fix torchvision installation (#2054) * Fix bug that kernelshape rather than effectivekernelshape is used in dilated conv (#2043) * Fix autopad shape inference bug (#2028) * fix macro ONNXDISALLOWCOPYAND_ASSIGN bug (#2017) * Fix shape inference logic for TopK operator (#2005) * Fix a shapeinference bug in upsample v9/10 (#1969)

Installation

You can simply pip upgrade using the following command or build from source following the instructions on Github.

pip install onnx --upgrade

Commits and Pull Requests Since v1.5.0

Fix spec and shape inference for Unsqueeze op (#2347) Bump NMS version for avoiding regression in existing models (#2348) Relax IF's shape inference rule (#2345) Clarify behavior in ConvTranspose (#2343) Fix node test case model for Gemm scalar bias case (#2342) Update pybind (#2340) Update gendoc script to validate proto3 files (#2122) Fix some backend tests (#2335) Gemm optional bias (#2330) Changes for AIX platform (#1913) Updated test cases for reshape (#2127) Replace is by == (#2326) Updated docs for strides and dilations attributes (#2291) Revamped test cases for Gemm (#2060) Add more shape inference tests for Logical operators to improve coverage (#2133) Change incorrect use of ValueError to TypeError (#2304) Support dynamic 'pads' and 'value' in Pad operator (#2031) Update IR doc to clarify initializers are permitted as node inputs (#2320) Avoid uses of special chars (#2315) Regenerate ONNX proto and add release date to ver 6 IR (#2316) Add description of default type about yzeropoint (#2110) Support makeattribute empty string (#2129) More unsqueeze tests (#2200) Fix resize shape inference issue in opset10 (#2294) Sequence related ops (#2249) Add helper function updateinputsoutputsdims to tools (#2148) Update documentation about required input output types (#2310) Shape inference for NMS (#2269) Fix extra collectsnippets warning (#2277) (#2307) Fix shapeinference function (#2296) fix the buffer overflow problem in shape inference logic of Squeeze op Support for negative indices in 'Gather' Fix collectsnippets warnings (#2277) Update printablegraph in helper.py to output details of initializers that do not have matching graph inputs. (#2135) test int64 input type for 'where' op (#2253) Supporting negative axes for all existing onnx ops (#2281) Update managingexperimentalops.md (#1981) Fix link to community docs in readme (#2261) move map and sequence types to onnx domain Improve compatiblity with proto3 and enable reading attributes (#2288) Remove type info for loop variadic input in Loop op used to compose the Range op (#2287) Add Foundation WG to working-groups.md (#2276) Fix testdata model for CumSum. Add exclusive attribute. (#2271) Support GatherND operator in ONNX (#2106) Support ScatterND operator in ONNX (#2220) Add Det to ONNX (#2233) Update the description of nearestmode of resize op (#2257) Adding sparse tensor to ONNX (#2019) Support Range operator in ONNX (#2242) Update resize op (#2057) Add function to fuse dynamic quantization graph into 1 node (#2187) Update logorequest.md (#2231) Update Clip in opset 11 to support min/max as inputs instead of attributes (#2096) Fix segfault in tile shape inference (#2221) update onehot shape inference to reflect the spec for depth input (#2224) Add GatherElements Op and Rename ScatterElements (#2143) Unique (#2141) Clarify dimension variable scoping (#2211) Liqun/topk sort (#2126) Update document for NMS (#2193) Handle negative 'axis' value in Split type and shape inferencing (#2177) depth to space shuffle order (#2163) minor updates to fix links in readme (#2189) Add check to disallow squeezing input axes which are not 1 (#2204) 2019-07-28 Clarify ambiguity in gather spec regarding indices expectation (#2202) Fix some minor issues in IR.md and Versioning.md (#2108) Skip install typing package for python >=3.5 (#2199) Member Company logo guidelines (#2196) remove link to outdated issue for contributions wanted (#2186) Create sigs.md (#2103) mintor format update (#2180) add more types support for Equal op (#2176) Update AddNewOP document. (#2172) Add missing space (#2150) python api example typo fix (#2155) Fix errors in RoiAlign shape inference code (#2167) TensorProto::INT8 & INT16 were missed here (#2164) Fix LabelEncoder's shape inference (#2170) Fixing a unit test in Cumsum Operator (#2157) [New Operator] CumSum (#2030) Fix globalpool output shape (#2147) Expose ONNXML build option to python (#2138) Missing newline fix (#2128) Avoid unnecessary copies of names by checker (#2098) update qlinear conv test (#2120) Add shape inference for LinearClassifier (#2077) Fix inconsistency in describing graph's initializer. The initializer (#2115) Update codeowners to have community folder changes assigned to steering committee (#2104) Fix Resize/Upsample Shape inference function (#2085) Clarify shape inference requirements for new operators (#2088) Fix NN defs file (#2083) Fix type s/depracted/deprecated/ (#2092) Add shape inference for Tile op (#2076) [New Operator] Round (#2053) Add dilations support in ConvTranspose shape inference and update docs (#2068) Fix typo (#2069) Add a missing step when upgrading an operator (#2071) Clarify the axis/size in pads Fix wrong condition and add --user in updatedoc.sh (#2050) Add bit-shift operators for supporting hashing (#1931) Add shape inference logic for Expand op (#2041) update qops tests (#2040) Fix torchvision installation (#2054) Fix bug that kernelshape rather than effectivekernelshape is used in dilated conv (#2043) Changes done internally at Facebook (#2035) Explicitly specify type of integers in the input tensor. (#2034) Version Conversion of Min Fix autopad shape inference bug (#2028) Version Conversion from opset 8 to 9 (#2007) fix macro ONNXDISALLOWCOPYANDASSIGN bug (#2017) fix array range bug (#2015) Relax constraint on subgraph input/output type and shape (#2009) Fix shape inference logic for TopK operator (#2005) Nullary variadic (#1889) Removed setting MD/MDd flags manually through cmake. The MTd/MT part is still necessary. Looks like CI fails without it. (#1995) Move NonMaxSupression to objectdetection folder (#2001) Prevent using invalid iterator Add shape inference for legacy autopad modes (#1988) Move Quantization working group to completed state (#1980) Define the IR acronym (#1985) fix shape inference (#1984) fixing some of Mod test cases (#1962) Lint the docs name (#1982) Fix a shapeinference bug in upsample v9/10 (#1969) Create managingexperimentalops (#1974) Create archivefileformat doc based on the wiki equivalent (#1973) Create NLPinONNXproposal (#1975) Create ONNXIFIproposal (#1976) Create onnxreleases (#1977) Create functionsproposal (#1978) Create typeannotations.md (#1979)

- Python
Published by kevinch-nv over 6 years ago

onnx - v1.5.0

ONNX v1.5 is now available! You may learn more about the project, who is involved and what tools are available at the onnx.ai site. We would like to thank every community member for contributing to the project!

TL;DR

The major changes/updates since v1.4 release: * Opset 10 adds operators to support object detection models such as Yolo v3, Faster RCNN, and SSD. Sample models will be added to the ONNX Model Zoo in upcoming weeks * ONNX file format is updated to version 5 * Quantization support (with first set of operators) * ONNX Function is promoted to an official feature to support composing operators, allowing for support of more operators from other frameworks while limiting the introduction of new operators in the ONNX spec * Updates to existing ops, including shape inference fixes * All experimental ops are removed, and the concept of experimental ops has been deprecated * Python 3.7 wheels are now shipped

How do I get the latest ONNX?

You can simply pip upgrade using the following command or of course build from source from the latest on Github: pip install onnx --upgrade

Commits since the v1.4 release:

  • Fix shape inference for slice (#1950)
  • Fix shape inference for ConstantOfShape op (#1951)
  • Add NonMaxSuppression operator (#1703)
  • add node tests for quantized ops (#1944)
  • Fix test stat coverage script (#1948)
  • Add IsInf to detect infinity values (#1884)
  • Fix shape inference for matmul (#1941)
  • Shape Inference Tests for QOps (#1929)
  • Prevent unused variables from generating warnings across all platforms.  (#1930)
  • add title (#1919)
  • add quantization ops in onnx (#1908)
  • Create working*groups.md (#1916)
  • use ONNXNAMESPACE::tostring instead of std::to_string (#1915)
  • Remove all the experimental ops (#1909)
  • opset converter backward compatibility support for opset versions 9 and 8 (#1847)
  • Create CODEOWNERS for automatic reviewer assignment for PRs (#1910)
  • Revert "quantization support in onnx (#1872)" (#1911)
  • quantization support in onnx (#1872)
  • Update LICENSE formatting and clarify # of WG chairs (#1907)
  • update the squeeze and unsqueeze doc (#1905)
  • fix the ir_version onnx*operators.proto (#1903)
  • fix testcase names of maxpool2dceil and averagepool2dceil (#1896)
  • Fix wrongly handled attribute in MVN and test generating scripts (#1877)
  • Add dilation attribute to MaxPool (#1864)
  • update copyright for open governance (#1885)
  • open governance (#1881)
  • Revert "Adding Reverse op (#1804)" (#1882)
  • Adding Reverse op (#1804)
  • update both core and ml docs (#1879)
  • fix the problems introduced in previous PRs in operator registration (#1878)
  • Skip the schema check on ops in non*standard domain (#1876)
  • Introduce Function Body Helper  (#1868)
  • Support down sampling for Upsample with scales < 1. (#1773)
  • Remove scaledtanh (#1866)
  • Add Ceil support for Max and Average Pooling (#1860)
  • Add testcase generator for functions (#1862)
  • Promote Thresholded Relu Op (#1856)
  • Update Slice with dynamic input & optional input steps (#1836)
  • Merge function into opschema (#1834)
  • Handle string comparision represented as np.objects (#1851)
  • remove global variable in header file (#1850)
  • fix the issue that the version was not bumped when changing its type constraint declaration. (#1848)
  • Change TopK operator to allow dynamic 'k' (#1829)
  • Remove exp op: Affine, ImageScaler,ParametricSoftplus, Crop. (#1832)
  • Fix shape inference when auto_pad is notset again (#1830)
  • More extendable Runner (#1809)
  • Infer shape of the second output of Dropout op (#1822)
  • Clarify dtype of Dropout's mask output (#1826)
  • Fix shape inference when auto_pad  is notset (#1824)
  • update test datat (#1825)
  • Add stringnormalizer operator to ONNX (#1745)
  • Support defined ONNX_ML in parent cmake files (#1821)
  • Delete OpsetVersionConverter.md which is a duplicate of VersionConverter.md (#1818)
  • [ONNXIFI]Add extension to be implementable (#1796)
  • Revert "Implement Op Annotation's for ONNX (#1648)" (#1812)
  • Enable ONNX_ML by default (#1810)
  • fix Greater and Less doc (#1811)
  • Implement Op Annotation's for ONNX (#1648)
  • Versioning doc update for Opset 9 (#1805)
  • add dilation case for ConvTranspose op (#1797)
  • allow removed experimental ops in the checker for now (#1792)
  • [ONNXIFI]Add extension of onnxSetIOAndRunGraph (#1781)
  • Bump docker image version from 230 to 238 (#1786)
  • Fix: setup.py is using wrong cmake build type (#1784)
  • Fix Cast testcase data (#1776)
  • Add ppc64le build (#1768)
  • Update Broadcasting.md (#1769)

- Python
Published by raymondxyang almost 7 years ago

onnx - v1.4.1

This is a patch release on v1.4.0, fixing line ending issue on Linux environment.

- Python
Published by raymondxyang about 7 years ago

onnx - v1.4.0

We are excited to announce the v1.4 release of ONNX is now available! For those who aren't aware of or know about the ONNX, you can learn more about the project, who is involved and what tools are available at the onnx.ai site.

TL;DR

  • The ONNX project now has more than 27 companies on board and 31 runtimes, converters, frameworks and other tools officially supporting ONNX.
  • This release added several big features including support for large models (larger than 2GB) and store the data externally, enhanced support for control flow operators, added a test driver for ONNXIFI enabling C++ tests.
  • IR version is bumped from 3 to 4 and the opset version from 8 to 9.
  • All told this release included 270+ commits since the last release

How do I get the latest ONNX?

You can simply pip upgrade using the following command or of course build from source from the latest on Github(our source of the truth):

pip install onnx --upgrade

Quick update on what's happened since our last release:

December 4, 2018 - ONNX Runtime for inferencing machine learning models open sourced by Microsoft ONNX Runtime, a high-performance inference engine for machine learning models in the ONNX format, is now open source. ONNX Runtime is the first publicly available inference engine that fully implements the ONNX specification, including the ONNX-ML profile. Python, C#, and C APIs are available for Linux, Windows, and Mac. ONNX Runtime can deliver an average performance gain of 2X for inferencing. Partners in the ONNX community including Intel and NVIDIA are actively integrating their technology with ONNX Runtime to enable more acceleration. READ MORE

November 29, 2018 - ONNX.js for running ONNX models on browsers and Node.js ONNX.js, an open source Javascript library for running ONNX models on browsers and on Node.js, is now available. It allows web developers to score pre-trained ONNX models directly on browsers, and has adopted WebAssembly and WebGL technologies for providing an optimized ONNX model inference runtime for both CPUs and GPUs. ONNX.js is the first solution to utilize multi-threading in a Javascript-based AI inference engine (via Web Workers), offering significant performance improvements over existing solutions on CPU. READ MORE

October 24, 2018 - CEVA Adds ONNX Support to CDNN Neural Network Compiler CEVA, Inc., the leading licensor of signal processing platforms and artificial intelligence processors for smarter, connected devices, today announced that the latest release of its award-winning CEVA Deep Neural Network (CDNN) compiler supports the Open Neural Network Exchange (ONNX) format. READ MORE

October 16, 2018 - ONNX Runtime for inferencing machine learning models now in preview We are excited to release the preview of ONNX Runtime, a high-performance inference engine for machine learning models in the Open Neural Network Exchange (ONNX) format. ONNX Runtime is compatible with ONNX version 1.2 and comes in Python packages that support both CPU and GPU to enable inferencing using Azure Machine Learning service and on any Linux machine running Ubuntu 16. READ MORE

September 6, 2018 - Synopsys Announces Support for the Open Neural Network Exchange Format in ARC MetaWare EV Development Toolkit Synopsys, Inc. today announced support for the Open Neural Network Exchange (ONNX) format in the upcoming release of its DesignWare® ARC® MetaWare EV Development Toolkit, a complete set of tools, runtime software and libraries to develop vision and artificial intelligence (AI) applications for ARC EV6x Embedded Vision Processor IP. READ MORE

Commits since the v1.3 release (by area):

New Operator and Operator Updates:
Adding generator op ConstantLike (#1406) Supporting int32 and int64 in Less and Greater (#1390)
fix AvgPool doc. add default value for countincludepad (#1391)
Add DynamicSlice experimental op (#1377)
fix the doc for softmax (#1374)
Fix the shape inference for concat (#1361)
Add several hyperbolic function ops. (#1499)
Add OneHot op to ONNX. (#1567)
Fix MaxUnpool shape inference when output_shape is provided as input (#… Add type shape inferencing for the If operator (#1571) fix ConvTranspose spec (#1566)
Change upsample operator to allow dynamic 'scales' (#1467)
Fix output type bug in MaxUnpool definition. (#1553)
Add Compress Op (#1454) Add MaxUnpool op to ONNX. (#1494) support more types for Gemm, Flatten and PRelu (#1472)
deprecate no-spatial mode of BN (#1637) Add Where op. (#1569)
Fix output_shape of a testcase for ConvTranspose (#1437)
Adding EyeLike generator op. (#1428)
Clarify the spec for convolution transpose input shape (#1413) Separate types of inputs 1 and 2 in OneHot op. (#1610)
make output shape clear enough for Softmax family (#1634)
fix batchnorm doc (#1633)
Add Scatter op to ONNX (#1517) Add Erf operator for computing error function (#1675) Add IsNaN operator. (#1656) Add Sign Op (#1658) Update scan (#1653) add isnan data (#1685)
Clarify some aspects of the Loop spec. (#1587) repaire convtranspose shape inference (#1660) Remove ConstantLike op. Updates to ConstantOfShape op. (#1716) add constantofshape (#1582) Add Shrink operator (#1622)
Scan test update (#1732) Scan output axes (#1737) Add NonZero op. (#1714)fix the test cases for constantofshape (#1746) Add sample implementation support (#1712)
Update definition of Cast Op to support casting to/from string (#1704)
Update ConstantOfShape op (#1744)
Add TfIdfVectorizer operator to ONNX (#1721)

ONNXIFI:
ONNXIFI cpp test driver (#1290)
Remove ONNXIFICHECKRESULT from onnxRelease* functions (#1397)
Change onnxifi test driver classname (#1396)
Silence usused result warning in ONNXIFI wrapper cleanup. Fix #1344 (#…
[ONNXIFI]Fix gtest assert (#1482)
[ONNXIFI]Reliable memory of shape in test driver (#1480) onnxifi test driver bugs fixed (#1462)
[ONNXIFI]gtest:expect to assert (#1456)[ONNXIFI]Fix the crash when weightCount = 0 (#1451)
[ONNXIFI]Make TEST_P be able to show the test case name directly (#1487)
[onnxifi] Make sure that backend handles run async. (#1599)
Fix onnxifi test (#1617)

Miscellaneous:
bump up the node test to opset 9 (#1431)
remove unindexed ConstantLike test case (#1432)
Add node name for error & Fix typo (#1426) Fix the typo in the doc (#1427)
Adding checker/typeshape inference logic for Function (#1423) [cmake] Allow adding extra source files to the onnx lib (#1439) Add the ability to deprecate an OpSchema (#1317)
[Anderspapitto patch] fix the shape inference for broadcasting (#1368) external_data: Store large tensor values in separate files (#678)
Add opaque type support (#1408) Fix checker logic (#1459)
Add version table to Versioning.md to provide a clear mapping (#1418)
serialized model data in test driver, ir version is now corrected (#1455 refresh onnx-ml.proto (#1448)
Fix ONNX_NAMESPACE definition (#1444) Add BFLOAT16 data type (FLOAT32 truncated to 16 bits) (#1421)
Use strings directly for casing as np.object w/o redundant StringHold
Remove default value for 'dtype' attribute in ConstantLike op. (#1461)
Fix TensorProto int32_data comment (#1509)
fix ninja external (#1507)
Shut up warnings about markers. (#1505) add the script (#1501)
Minor cleanup in circleci build scripts (#1498)
fix onnx checker to support proto3 models. (#1495)
Add config files for CircleCI (#1490) Change function ownership to ONNX (#1493) maintain the integration of gtest arguments (#1491)
Skip some warning for clang-cl (#1484)
Make ONNX compatible with gcc-8 (#1488)
Build with old version protobuf on Windows (#1486)
Clean memory when failed test (#1476) Change Function registry flow; Get rid of whole-archive in compile (#… fix the bug of loading model input/output proto (#1477)
Operator set versioning - tighten wording regarding breaking changes (#… add skip in gtest & update gtest version (#1473)
Opaque type ToString() does not wrap the result into the supplied (#1468 Fix compiler warnings on unhandled bfloat16 switch case (#1470)
Move the definition of the singleton DomainToVersionRange to .cc file (
fix some issue with namespace (#1533)
Remove Opaque type parameters as not needed. Adjust DataType handling. ( Use vector instead of set to keep the order of the opt passes (#1524) Pin awscli to last known good version (#1518)
Update docker image version used in CircleCI (#1511)
Fix the mapping for Complex128 data type (#1422)
add default value to doc (#1410)
Fixup handling of captured values as graph outputs (#1411)
[build] Add ONNX_API for protos in all cases (#1407)
[compiler flag] Issue a warning if class has virtual method but missi…
Add a virtual destructor to GraphInferencer (#1574)
Add Scan type/shape inferencing (#1503) Add hook to InferenceContext to allow running type/shape inferencing … ( Implemented shape inference for Gather (#1525) add eliminate nop monotone argmax pass (#1519) Enable -Wall -Wextra -Werror for CI (#1547) Introduce SparseTensor ML proto (#1554)
In driver test check the return status of onnxGetBackendIDs (#1597)
Make CI log less verbose (#1595) Loop type shape inferencing (#1591) add uint8 (#1590)
Add domain as an optional parameter for make_node function (#1588) Remove unreachable code in shape_inference.h (#1585)
fix a newline in Scan doc (#1541)allow variadic parameters of different types (#1615)
Fix a bug in vector address access (#1598)
Handle new types in the switch. (#1608)
Bump docker image version to 230 used in CircleCI (#1606)
type proto does not exactly match the type str, (#1545) Fix 'line break after binary operator' flake8 warnings. (#1550)
remove inappropriate consts (#1632)
Shape inference fix for broadcast, concat and scan (#1594) mark PROTOBUFINCLUDEDIRS as BUILD_INTERFACE (#1466)
Add a capability to input/output unicode strings (#1734) Include guidance on adding new operators (#1416) Clarify namescopes in the presence of nested subgraphs (#1665)
use an empty initializer to create map (#1643) Remove redundant const (#1639)
Show the op's type and name when the shape inference is failed. (#1623)
link the tutorial (#1650)
Upgrade label encoder to support more input types (#1596) Add Doc about Adding New Operator into ONNX (#1647) Fix unused var warning (#1669)
Changes done internally at Facebook (#1668) Replace np.long by np.int64 (#1664)
Infer shape from data in Constant nodes (#1667)
fix the const map initializatoin (#1662)
Add scan test case (#1586) Add bfloat16 support. (#1699)
ONNX does not maintain versions for experimental ops (#1696)
Correct type of value_info in Graph (#1694)
Fix typos (#1686)
Use int instead of enum to store data type (#1626)
fix broken link in VersionConverter.md (#1683)
add a shape inference test for group conv (#1719)
Set symbol visibility to hidden for non-Windows (#1707)
[Minor] Fix Windows line ending in test coverage generating script (#… Support rtol and atol at the model granularity (#1723)
turn rtol to 0.002 on densenet121, since AMD and Nvidia GPU's precion
typos fixed: iutput -> input (#1726)
print some information (#1724)
Update README.md (#1722)
Handle negative axis in scan shape inference (#1748)
remove stale test cases (#1434)
Show string names of data types instead of int IDs (#1749)
Relax constraint that the initializers must be a subset of graph inputs (#1718)
Fix typo in scan shape inferencing (#1753)

Cheers!
-The ONNX Team

- Python
Published by raymondxyang about 7 years ago

onnx - v1.2.3

This release is a patch release for v1.2.2 with updated build configurations

Changes:

  • #1394 - Bump up version

- Python
Published by raymondxyang over 7 years ago

onnx - v1.3.0

  • ONNXIFI 1.0
  • Operator Set 8
    • Control Flow Operators graduated from experimental
    • Loop, If and Scan
    • Added new operator Expand
    • Updated operators Max, Min, Mean and Sum to support broadcasting
    • Support output indices in operator MaxPool
    • Varies documentation improvements
  • Introduced Function concept for representing composed operators [experimental]
  • Enhanced shape inference
    • Support shape inference for Reshape operator with constant new shape
  • More ONNX optimization passes
    • Available passes are here
  • More operator backend tests
  • Opset Version Converter
    • Supported operators include: Add, Mul, Gemm, Relu, BatchNorm, Concat, Reshape, Sum, MaxPool, AveragePool, Dropout
    • All models in model zoo are covered, except tiny-yolo-v2 (PRelu needs adapter, WIP)
  • Quantization coming soon
    • We are currently working with the community to collect more feedback and finalize. We expect this to happen quickly and will be released as quickly as possible and out of cycle if needed.

- Python
Published by bddppq over 7 years ago

onnx - v1.2.2

This release is a patch release based on v1.2.1:

Bug fixes:

  • #1040 - Update proto files
  • #1044 - Fix Operator tests (test data fix)
  • #1052 - Fix Proto3 issues
  • #1053 - Type and shape inference code fix
  • #1057 - Op schema code fix
  • #1058 - Remove empty model (test data fix)
  • #1060 - Type and shape inference code fix
  • #1063 - PReLU version fix
  • #1064 - Pytorch generated test case removal (test data fix)
  • #1069 - Remove erroneous documentation around maps and sequences (description only)
  • #1070 - Add more check for type and shape inference code
  • #1090 - Fix local region definition in LRN spec (description only)
  • #1102 - Add float16 support back for math and reduction ops
  • #1103 - Make RNN/LSTM/GRU treatment of recurrent weights consistent
  • #1104 - Remove/replace /MX with /WX for MSVC build (build fix)
  • #1105 - Add ignoring flags (build fix)
  • #1107 - Fix the LRS’s doc (description only)

- Python
Published by raymondxyang over 7 years ago

onnx - v1.2.1

ONNX 1.2.1 release.

The following changes have been made since the 1.1.2 release:

IR Changes

  • Adds function and attribute reference (PR #802).
  • Adds dimension denotation (PR #443) and type denotation (PR #879).

Operator Changes

The operator set version of onnx 1.2 is 7 for ONNX domain and 1 for ONNXML domain. - Type and shape inference function added for all operators. - Adds new operators. o Upsample (PR #861) – promoted from experimental, attributes and behavior updated to support arbitrary # of dimensions. o Identity (PR #892) – promoted from experimental. o Acos, Asin, Atan, Cos, Sin, Tan (PR #869). o Multinomial (PR #897) - Removes FC (experimental) op (PR #977). - Moves to numpy broadcasting semantics (PR #907). - Clarifies “optional” semantics for input/output and adjust RNN/GRU/LSTM/BatchNormalization/Dropout accordingly (PR #1006, PR #1014). - AveragePool – formulas for output shape updated (PR #751), extended to support average count including padding (PR #884) - BatchNormalization – clarify outputs can be n-dim (PR #733) - Cast – change to attr from string to int (PR #727) - ConstantFill (exp) – change value attr from optional to default value of 0 (PR #808) - InstanceNormalization – clarify outputs can be n-dim (PR #733) - MaxPool – formulas for output shape updated (PR #751) - AveragePool, MaxPool, Conv – update to support dimension denotation (PR #443) - Reshape – add output shape as an input (PR #608) - Size – change output from int to scalar tensor (PR #759) - Tile – replace tiles and axis inputs with repeats to match numpy (PR #757) - ZipMap – update type constrains from map to seq (PR #818) - Affine – add default values for alpha and beta attributes (PR #820) - FeatureVectorizer – update behavior (PR #843) - LinearClassifier – coefficient attribute is now required (PR #836) - RandomNormalLike, RandomUniformLike – change input type constraints and change behavior to copy shape instead of compute it (PR #846) - Selu – change default value of attributes to match other frameworks (PR #839) - ArgMax, ArgMin – specify default values for axis attribute (PR #847) - DepthToSpace, SpaceToDepth – blocksize attribute is now required (PR #847) - GRU, LSTM, RNN – specify default value for activation* attributes (PR #847) - Reduce* – specify default behavior for axes attribute (PR #847) - Concat, Gather, Squeeze, Unsqueeze – accept any tensor type (PR #957) - Add, Div, Mul, Pow, Sub – enhance 1-element broadcast case (PR #902) - Pad – clarify pads attribute (PR #962) - LRN – specify default values and clarify behavior (PR #965) - ConvTranspose – clarify padding behavior and remove restriction on output_padding attribute (PR #1012) - All ops – updated type constraints (PR #666)

- Python
Published by linkerzhang almost 8 years ago

onnx - v1.1.2

This release is a patch release based on v1.1.0 (v1.1.1):

Bug fixes:

  • #775 - Align Python and C++ schema API for ONNX-ML
  • #781 - Fix some checker implementation not ideal for ONNX-ML
  • #799 - Update specs for ONNX ML

- Python
Published by raymondxyang almost 8 years ago

onnx - v1.1.0

Change log for the release:

  • Operators fixed and added - cast, reshape, Pool, Shape, Size, concat, Pow, Slice, TopK, structured, reducible control flow( experimental), Unsqueeze (PR #497) (PR #436) (PR #496) (PR #529) (PR #513) (PR #525) (PR #390) (PR #532) (PR #587) (PR #569) (PR #552)

  • Test cases added and fixed - global avg, max pool, Slice, cast, pow, Concat, Reshape, TopK, softplus, softsign, softmax, logsoftmax, hardmax transpose, Max, Min, Mean, Sum. +9 math operators, reciprocal, logic operators, Clip, Div, Mul, Pow, Sub; Elu, LeakyRelu, Selu, HardSigmoid, gather, Conv
    (PR #468) (PR #472) (PR #487) (PR #500) (PR #507) (PR #516) (PR #529) (PR #506) (PR #509) (PR #546) (PR #548) (PR #543) (PR #574) (PR #596)

  • Build Issues on various platforms - ** Provide option to enforce /MD or /MT when building with MSVC (PR #602) ** Fix ONNX library build for Windows ** Add tostring for Android (PR #597) ** Handle situations where protobuf is built on the fly (PR #592) ** fix CMakeLists on Windows (PR #589) ** travis tweaks to make sure the correct versions of python are installed (PR #584) ** Improve CMakefile of ONNX (PR #563) ** Don't include pybind11 if its target is alreadt exported (PR #550) ** Call genproto.py in cmake (PR #538) ** Couple cmake fixes (PR #521) ** Fix build on mac (PR #514) ** setup cmake (PR #469) ** Remove onnx-caffe2 reference (PR #558)

  • Naming and Convention changes - ** Add ONNX_NAMESPACE around rnn/old.cc (PR #605) ** Change the model file extension from .pb to .onnx (PR #541) ** Make onnx namespace configurable (PR #484)

  • Bug Fixes - ** Fix get_attribute_value can not get g field bug (PR #599) ** Fix treatment of optional inputs.

  • Test Framework Changes - ** Add outputsinfo into runnode backend interface (PR #588)

  • IR Changes - ** Add option to use customized protoc (PR #594) ** preserve value infos if they are needed (PR #561) ** Check whether perm exists before using it (PR #559) ** Adding int32, int64 and double input data types for featurevectorizer (PR #547) ** Sort the attributes of NodeProto generated by make_node (PR #479)

  • Other Changes - ** Change the cached model checking logic (PR #545) ** Fix the way we find protobuf library (PR #539) ** Modulize ONNX libraries (PR #528) ** Printable Graph support for nested graphs + sugar (PR #483) ** Lexical scoping in checker (PR #485) ** osx travis support (PR #566)

- Python
Published by rajanksin almost 8 years ago

onnx - v1.0.1

This is a patch release on top of v1.0

Bug Fixes: - #432 - ONNX PyPi install fails when git is not installed on host.

- Python
Published by lupesko about 8 years ago

onnx - v1.0

This release is the first stable version of ONNX.

This version also includes the ONNX-ML profile that extends ONNX with classic ML constructs. This is an optional profile.

The following changes have been made since the 0.2 release:

Spec Changes

  • Adds versioning documentation
  • Adds release management notes
  • Operator specs include samples

IR Changes

  • Adds operator sets, imports and experimental operator support.
  • Adds an AttributeType enum, doc_string fields, domain for NodeProto.
  • Adds named metadata properties to models.
  • Remove sparse tensor protos.
  • Checker now available in C++ with Python wrapper.

Operator Changes

  • Adds Identity, Affine, ThresholdRelu, ScaledTanh, ParametricSoftplus, ImageScaler, MeanVarianceNormalization, Crop, Embedding, HardSigmoid, Mean, Clip, LogSoftmax, Hardmax, Softsign, Softplus, MatMul, InstanceNormalization, LRN, ReduceSumSquare, ReduceLogSum, ReduceL1, ReduceL2, RNN, GRU, LSTM, SpaceToDepth, DepthToSpace, Tile.
  • Adds And, Or, Xor, Greater, Less, Equal, Not.
  • Removes Caffe2ConvTranspose, SpatialBN, LRN, ChannelShuffle, RecurrentNetwork.
  • Replaces Normalization with LpNormalization.
  • Adds type constraints.
  • Much improved tests for operators and reporting.

- Python
Published by prasanthpul about 8 years ago

onnx - v0.2

Spec changes

  • Type and shape annotations for the model (required for inputs/outputs, optional for internal values)

Breaking changes

onnx.proto underwent breaking changes that makes earlier serialized protobufs invalid. We commit to have all changes to the protobuf structure backward-compatible after this (v0.2) release.

Specific changes:

  • Introduction of ModelProto to represent top-level model in addition to GraphProto
  • Related API changes renaming graph to model
  • Addition of type and optional shape annotations for inputs and outputs of the graph

Operator spec changes

  • Added Gemm
  • Added Pad
  • Added Constant (graduated from experimental to non-experimental)
  • In Conv and ConvTranspose renamed attribute “filter” to “weights”
  • In Elu added “alpha” attribute
  • Concat fixed output number from 2 to 1
  • Dropout changed output number from 2 to (1 or 2)
  • Added OptimizedRNN operator representing entire RNN stack similarly to CuDNN
  • ATen support as an experimental operator that allows to directly represent any PyTorch's tensor functions (which leverage ATen).

New Tutorials

  • Usage of ATen operator for quick exporting from PyTorch to Caffe2: https://github.com/caffe2/caffe2/blob/master/caffe2/contrib/aten/docs/pytorchtocaffe2.md
  • End-to-end demo of training in PyTorch and deployment to Caffe2: https://github.com/bwasti/AICamera/blob/master/Exporting%20Squeezenet%20to%20mobile.ipynb

- Python
Published by dzhulgakov over 8 years ago