Skip to content

Logistics for ONNX Release 1.10

Rajeev Rao edited this page Jul 13, 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 planned work items for the release in wiki. See #3490 for reference. (WIP)
  • 07/15 - Code freeze. All PRs must be validated and merged by this date.
  • 07/16 - Validate all new ops with ORT. Flush CI/CD pipeline.
  • 07/19 - Resolve pipeline failures, if any, and integrate any critical late PRs.
  • 07/20 - Cut the release branch.
  • 07/20 - Create test packages.
  • 07/20 - Request partner validation of test packages
  • 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
Function ops for Dim PR - Rama/Ashwini? WIP
Accumulate for Scatter/Gather #3484 TBD - Ashwini Ambiguity around handling of duplicated indices. Perhaps best separated into two PRs (spec clarification, support accumulate).
Add new operators for Optional type #3567 Review Optional(), OptionalHasElement, OptionalGetElement - for enabling export of customer models with optional type.
Symbolic shapes #2 - data propagation #3551 Review
Add new CastLike function operator #3558 Review
Add aarch64 wheel build support #3414 Review Ashwini to check if we can validate this with ORT/aarch64, Rajeev to check other options (Jetson).
New version converter tests #3344 Review Lot of interest in using version converters. Prefer to include in release.
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
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
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
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

Note: work items captured in https://github.com/onnx/onnx/issues/3490.

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
Validate PyPI test packages Rajeev Rao, Ashwini Khade, Jacky Chen
Cut v1.10 release branch Rajeev Rao
Validate release packages
Create release summary 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 release notes template

# Key Updates

## Opset version n [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: [list of contributors during release period]