-
Notifications
You must be signed in to change notification settings - Fork 3.8k
add GroupNormalization-18 #4621
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
Conversation
Signed-off-by: Yuan Yao <yuanyao@nvidia.com>
Signed-off-by: Yuan Yao <yuanyao@nvidia.com>
Signed-off-by: Yuan Yao <yuanyao@nvidia.com>
8556db1
to
5275f87
Compare
Signed-off-by: Yuan Yao <yuanyao@nvidia.com>
Signed-off-by: Yuan Yao <yuanyao@nvidia.com>
Signed-off-by: Yuan Yao <yuanyao@nvidia.com>
Signed-off-by: Yuan Yao <yuanyao@nvidia.com>
Signed-off-by: Yuan Yao <yuanyao@nvidia.com>
Signed-off-by: Yuan Yao <yuanyao@nvidia.com>
Signed-off-by: Yuan Yao <yuanyao@nvidia.com>
Signed-off-by: Yuan Yao <yuanyao@nvidia.com>
LGTM. I think there may be a minor interaction between this PR and #4512 (which is rationalizing all Reduce* functions to take axes as an input instead of attribute) which will need to be resolved when both get merged. |
Signed-off-by: Yuan Yao <yuanyao@nvidia.com>
Signed-off-by: Yuan Yao <yuanyao@nvidia.com>
Signed-off-by: Yuan Yao <yuanyao@nvidia.com>
@gramalingam Thanks for the suggestions. I've made the updates. Please review again. Thanks! |
LGTM, thanks! I was wondering whether you had a chance to test the correctness of the function-body definition (eg., by running onnxruntime, or any other backend, on the generated expanded test-cases)? You may need to manually patch the opset of the generated test-cases to be the previous opset, and then it should be a valid test-case for the previous opset, I think, runnable by onnxruntime etc. |
Signed-off-by: Yuan Yao <yuanyao@nvidia.com>
…to dev-groupnorm
Thanks for pointing this out. I just tested and actually found a small error in the function body. Now fixed. |
* add GroupNormalization-18 Signed-off-by: Yuan Yao <yuanyao@nvidia.com> * clean up function body Signed-off-by: Yuan Yao <yuanyao@nvidia.com> * fix lint error Signed-off-by: Yuan Yao <yuanyao@nvidia.com> * fix pytest error in function body Signed-off-by: Yuan Yao <yuanyao@nvidia.com> * fix lint error Signed-off-by: Yuan Yao <yuanyao@nvidia.com> * fix lint error 2 Signed-off-by: Yuan Yao <yuanyao@nvidia.com> * fix lint error 3 Signed-off-by: Yuan Yao <yuanyao@nvidia.com> * fix lint error 4 Signed-off-by: Yuan Yao <yuanyao@nvidia.com> * update md files Signed-off-by: Yuan Yao <yuanyao@nvidia.com> * review feedback Signed-off-by: Yuan Yao <yuanyao@nvidia.com> * fix lint error Signed-off-by: Yuan Yao <yuanyao@nvidia.com> * update python test script per review feedback Signed-off-by: Yuan Yao <yuanyao@nvidia.com> * fix python script lint issue Signed-off-by: Yuan Yao <yuanyao@nvidia.com> * fix more python lint issues Signed-off-by: Yuan Yao <yuanyao@nvidia.com> * fix Reshape error Signed-off-by: Yuan Yao <yuanyao@nvidia.com> Signed-off-by: Yuan Yao <yuanyao@nvidia.com> Co-authored-by: G. Ramalingam <grama@microsoft.com>
* add GroupNormalization-18 Signed-off-by: Yuan Yao <yuanyao@nvidia.com> * clean up function body Signed-off-by: Yuan Yao <yuanyao@nvidia.com> * fix lint error Signed-off-by: Yuan Yao <yuanyao@nvidia.com> * fix pytest error in function body Signed-off-by: Yuan Yao <yuanyao@nvidia.com> * fix lint error Signed-off-by: Yuan Yao <yuanyao@nvidia.com> * fix lint error 2 Signed-off-by: Yuan Yao <yuanyao@nvidia.com> * fix lint error 3 Signed-off-by: Yuan Yao <yuanyao@nvidia.com> * fix lint error 4 Signed-off-by: Yuan Yao <yuanyao@nvidia.com> * update md files Signed-off-by: Yuan Yao <yuanyao@nvidia.com> * review feedback Signed-off-by: Yuan Yao <yuanyao@nvidia.com> * fix lint error Signed-off-by: Yuan Yao <yuanyao@nvidia.com> * update python test script per review feedback Signed-off-by: Yuan Yao <yuanyao@nvidia.com> * fix python script lint issue Signed-off-by: Yuan Yao <yuanyao@nvidia.com> * fix more python lint issues Signed-off-by: Yuan Yao <yuanyao@nvidia.com> * fix Reshape error Signed-off-by: Yuan Yao <yuanyao@nvidia.com> Signed-off-by: Yuan Yao <yuanyao@nvidia.com> Co-authored-by: G. Ramalingam <grama@microsoft.com>
Signed-off-by: Yuan Yao yuanyao@nvidia.com
Description
Add new function op
GroupNormalization
to opset 18.Motivation and Context
Group norm is a commonly used normalization op, similar to some of the existing ONNX ops such as
BatchNormalization
,InstanceNormalization
, andLayerNormalization
.Original paper that introduced the op: https://arxiv.org/abs/1803.08494
Related issue: #2020
Implementations in other frameworks:
https://www.tensorflow.org/addons/api_docs/python/tfa/layers/GroupNormalization
https://pytorch.org/docs/stable/generated/torch.nn.GroupNorm.html