Skip to content

Logistics for ONNX Release 1.10

Rajeev Rao edited this page Jul 22, 2021 · 32 revisions

ONNX Release 1.10.0

Release Manager: Rajeev Rao

Target Release date: Week of 07/31/21

Timetable

  • 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. See #3490 for reference. (Done)
  • 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. (WIP)
  • 07/30 - Complete ORT/partner/converters/community validation and approvals. Ready for release.
  • 07/31 - ONNX v1.10.0 release and announcements.

Enhancements

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

Shape inference enhancements

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

Other Bugfixes & Infra improvements

Description PR Status Notes
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

Skipped PRs

Description PR Status Notes
Accumulate for Scatter/Gather #3484 Review Ashwini - do we keep this? Ambiguity around handling of duplicated indices; perhaps best separated into two PRs (spec clarification, support accumulate).
onnx_proto symbols visibility clean-up #3371 Review Jacky. Part of #3319
Experimental operator debug spew to std::cerr #2239 Review Ashwini

Work items

Description Owner Status
Validate Opset 15 with ORT Rajeev Rao, Ashwini Khade Ashwini, please provide PRs for new ops/validation in ORT
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 WIP
Create release summary Rajeev Rao
Validate release packages Rajeev Rao

Summary - operator updates for opset 15

Op Name Description Validation status ONNX PR
Optional Add new operators for Optional type N/A #3567
CastLike Add new CastLike function operator N/A #3558
Bernoulli Add new Bernoulli function operator N/A #3431
Scatter/Gather Accumulate for Scatter/Gather N/A #3484
Pow bfloat16 support for Pow operator N/A #3412

TODO: Add manual verification into pipelines

The following testing can be added into release pipelines after producing the wheel to let release manager be aware.

  1. Test with the latest ORT with onnx/test/test_with_ort.py
  2. Test with different versions of dependencies (protobuf, numpy). Take protobuf as an example: test with 3.11.3 and the latest one.

ONNX v1.10.0 Release Notes

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

Opset version 15

[call out new ops vs updated ops and functions]

API

[any changes affecting ONNX APIs]

Infrastructure

[any architectural or infra related changes, including CIs, tests, etc]

Bug fixes

[list of notable bug fixes not covered in sections above]

Notes

[known issues/workarounds, installation/usage changes, dependency updates, etc]

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