Skip to content

v1.11.0

Compare
Choose a tag to compare
@liqunfu liqunfu released this 17 Feb 21:58
96046b8

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 coordinate_transformation_mode, 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. #3712
  • Add compose utility to help with creating and combining models out of several graphs. #3820
  • Add FunctionBuilder utility class to help construct function ops. #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