pypi onnx 1.16.0
v1.16.0

one month ago

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 CMAKE_CXX_STANDARD 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 check_function & Use lexical_scope_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 numpy_helper.to_array() (#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

Don't miss a new onnx release

NewReleases is sending notifications on new releases.