-
Notifications
You must be signed in to change notification settings - Fork 2.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add strict_shape_type_inference config option #11081
Add strict_shape_type_inference config option #11081
Conversation
Prior to this, certain shape and type errors were surfaced only when the model was using the latest known op set version. Providing users an explicit option allows for better testing of code that produces models, which includes unit tests within this repo and other repos such as the TF-ONNX and PT-ONNX converters. The option defaults to false to avoid causing errors for users that rely on the previous permissive behavior. Fixes microsoft#9506.
… C++20 which we don't use
@pranavsharma could you please review or find someone else who can review? I'm not very familiar with who would be a good reviewer. |
@skottmckay I'd appreciate a review before the weekend if possible. Thanks! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@pranavsharma the web CI pipelines seem to be timing out consistently. Any way to skip them? |
@fs-eire - can you please take a look? |
Prior to this, certain shape and type errors were surfaced only when the model was using the latest known op set version. Providing users an explicit option allows for better testing of code that produces models, which includes unit tests within this repo and other repos such as the TF-ONNX and PT-ONNX converters. Remove the previous behavior which seems quite counter-intuitive: an otherwise identical model with a later op set version should be treated identically in this regard. The option defaults to false to avoid causing errors for users that rely on the previous permissive behavior. Turned on the strict enforcement by default in OpTester, which revealed a few disagreements between ORT and ONNX on what the correct output shape should be. Fix shape inference bug in ReduceSumTraining with noop_with_empty_axes=1 which was revealed. Fix TensorOpTest.Unsqueeze_scalar, which was testing negative axes on an op set version where the op did not actually support negative axes. Fixes microsoft#9506.
Prior to this, certain shape and type errors were surfaced only when
the model was using the latest known op set version.
Providing users an explicit option allows for better testing of code
that produces models, which includes unit tests within this repo and
other repos such as the TF-ONNX and PT-ONNX converters.
Remove the previous behavior which seems quite counter-intuitive:
an otherwise identical model with a later op set version should be treated
identically in this regard.
The option defaults to false to avoid causing errors for users that
rely on the previous permissive behavior.
Turned on the strict enforcement by default in
OpTester
, which revealed a fewdisagreements between ORT and ONNX on what the correct output shape should
be.
Fix shape inference bug in
ReduceSumTraining
withnoop_with_empty_axes=1
which was revealed.
Fix
TensorOpTest.Unsqueeze_scalar
, which was testing negative axes on anop set version where the op did not actually support negative axes.
Fixes #9506.