Logistics for ONNX Release 1.10
Release Manager: Rajeev Rao
Target Release date: Week of 07/31/21
- 07/09 - Create v1.10.0 release wiki with release schedule. (Done)
- 07/09 - Document all 1.10 planned work items for the release in this wiki.
- 07/15 - Code freeze. All PRs must be validated and merged by this date. (Done)
- 07/16 - Validate all new ops with ORT. Flush CI/CD pipeline. (Ashwini?)
- 07/19 - Resolve pipeline failures, if any, and integrate any critical late PRs. (Done)
- 07/20 - Cut the release branch. (Done - 07/21)
- 07/20 - Create test packages. See onnx v1.9.100 (Done - 07/21)
- 07/20 - Request partner validation of test packages. (Done - 07/21)
- 07/30 - Complete ORT/partner/converters/community validation and approvals. (Done - 07/30)
- 07/30 - ONNX v1.10.0 release and announcements.
Op Name | Description | Validation status | ONNX PR |
---|---|---|---|
Optional |
Add new operators for Optional type |
Done PR (https://github.com/microsoft/onnxruntime/pull/8339/) | #3567 |
CastLike |
Add new CastLike function operator |
Done PR(https://github.com/microsoft/onnxruntime/pull/8458) | #3558 |
Bernoulli |
Add new Bernoulli function operator |
The test data is for informational purposes only. Validated the function expansion in ort. PR (https://github.com/microsoft/onnxruntime/pull/8458) | #3431 |
Pow |
bfloat16 support for Pow operator |
No changes to test data. Only data type addition. | #3412 |
Shape |
Extend shape op to return slice | Done (https://github.com/microsoft/onnxruntime/pull/8442) | #3412 |
BatchNormalization |
add additional type constraints for scale and bias in BN | No change to test data | #3545 |
Description | PR | Status | Notes |
---|---|---|---|
Update ONNX release, IR, and opset versions for v1.10.0 | #3587 | Merged | |
Extend Shape op to add optional attributes start/end |
#3580 | Merged | |
Add new operators for Optional type |
#3567 | Merged |
Optional() , OptionalHasElement , OptionalGetElement - for enabling export of customer models with optional type. |
Add new CastLike function operator |
#3558 | Merged | |
New version converter tests | #3344 | Merged | Lot of interest in using version converters. Prefer to include in release. |
Update spec documentation for model local functions | #3575 | Merged | Change expected behavior when name conflict arises between an operator and a model local function with a specified domain. |
Add additional type constraints for scale and bias in BatchNormalization
|
#3545 | Merged | |
Update protobuf version to 3.16 | #3571 | Merged | ORT did as well |
Checker updates for model local functions | #3569 | Merged | |
bfloat16 support for Pow operator |
#3412 | Merged | |
Symbolic shapes #1 - symbol generation | #3518 | Merged | Symbolic shape inference |
Symbolic shapes #2 - data propagation | #3551 | Merged | |
Symbolic shape inference support-3: more ops for data propagation | #3593 | Merged | |
Export parser methods to python | #3540 | Merged | |
Extend model proto to include model local functions | #3532 | Merged | |
Add new Bernoulli function operator |
#3431 | Merged | Required for HuggingFace Transformer model export from ORTModule. |
Introduce Optional type |
#3407 | Merged | |
Add UnionShape for SparseTensor
|
#3461 | Merged | |
Allow checker and shape inference for serialized models | #3403 | Merged | |
Extend strict_model for ONNX checker |
#3348 | Merged | |
Introduce SparseTensor type |
#3398 | Merged |
Description | PR | Status | Notes |
---|---|---|---|
Update Reshape shape inference |
#3592 | Merged | |
Fix shape inference of Squeeze
|
#3516 | Merged | |
Add shape inference for NonZero
|
#3364 | Merged | |
Add shape inference for dynamic QuantizeLinear
|
#3539 | Merged |
Description | PR | Status | Notes |
---|---|---|---|
make_sequence_value_info API alias for backwards compatibility |
#3612 | Review | Ashwini, Jacky |
Make symbol generation optional | #3599 | Merged | |
Add requirements.txt to onnx repo | #3448 | Merged | |
Add aarch64 wheel build support | #3414 | Merged | |
Spec clarification for MatMulInteger and QLinearMatMul (#3585) |
|||
Version converter support for recursion into subgraphs | #3474 | Merged | |
Fix shape inference for Squeeze without axes |
#3465 | Merged | |
Update ONNX examples to python3 | #3450 | Merged | |
Add new type constrains for variance and mean in BatchNormalization
|
#3415 | Merged | |
Specify population variance for BatchNormalization
|
#3402 | Merged | |
Always set the output of Shape to be rank-1 |
#3394 | Merged | Even when the input shape is unavailable, the output of Shape will always be a rank-1 vector. |
BatchNormalization outputs updated for training mode |
#3379 | Merged | |
Add README contents to package description | #3376 | Merged | |
Bugfix for proto utils and update checker error messages | #3373 | Merged |
Description | PR | Status | Notes |
---|---|---|---|
Accumulate for Scatter/Gather | #3484 | Review | Ambiguity around handling of duplicated indices; perhaps best separated into two PRs (spec clarification, support accumulate). |
onnx_proto symbols visibility clean-up | #3371 | Review | Part of #3319 |
Experimental operator debug spew to std::cerr | #2239 | Review |
The following testing can be added into release pipelines after producing the wheel to let release manager be aware.
- Test with the latest ORT with onnx/test/test_with_ort.py
- Test with different versions of dependencies (protobuf, numpy). Take protobuf as an example: test with 3.11.3 and the latest one.
Description | Owner | Status |
---|---|---|
Run local sanity tests | Rajeev Rao | Done |
Cut v1.10 release branch | Rajeev Rao | Done |
Validate PyPI test packages | Rajeev Rao, Ashwini Khade, Jacky Chen | Done |
Partner validation of test packages | Various | Done |
Validate Opset 15 with ORT | Ashwini Khade | Ashwini Khade |
Create release summary | Rajeev Rao | Done |
Publish ONNX v1.10.0 | Rajeev Rao |
- pytorch - Verified (Gary, Microsoft)
- onnx-tensorflow - Verified (Tom/Guenther, Microsoft)
- tensorflow-onnx - Verified (Chin, IBM)
- sklearn-onnx - Verified (Xavier, Microsoft)
- onnxmltools - Verified (Xavier, Microsoft)
- keras-onnx - Verified (Tom/Faith, Microsoft)
- onnx-tensort - Verified (Rajeev, NVidia)
- onnx-coreml - No update
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.
- Added new
Optional
andSparseTensor
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
- Added two ne types to ONNX type system. Optional and SparseTensor
- Extend model proto to include model local functions https://github.com/onnx/onnx/pull/3532
- New Function Operators:
- Add Operators:
- Operator Updates:
- Add additional type constraints in BatchNormalization
- Addbfloat16
support for Pow https://github.com/onnx/onnx/pull/3412
- Extend Shape to return a slice using optional attributesstart
,end
. https://github.com/onnx/onnx/pull/3580
- 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
- Fix shape inference for
- Add shape inference for
- Expose model parser API in Python (
onnx.parser
) https://github.com/onnx/onnx/pull/3540 - Extend model proto to include model local functions
- 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
- Spec clarification for
MatMulInteger
andQLinearMatMul
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
You can upgrade to the latest release using pip install onnx --upgrade
or build from source following the README instructions.
- Be aware of protobuf version gap issue (like building onnx with protobuf>=3.12 is not compatible with older protobuf)
ONNX v1.10.1 is a patch release based on v1.10.0.
Bug fix:
- Include requirements.txt in source distribution (#3623)
ONNX v1.10.2 is a patch release based on v1.10.1.
Bug fixes included:
- Fix compilation error on older compilers (#3683)
- Stricter check for Shape's input: check input type (#3757)
- Fix Linux aarch64 CI failure due to the latest pytest (#3736)
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