-
Notifications
You must be signed in to change notification settings - Fork 685
NXP backend: Separable convolution decomposition in executorch #13758
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
NXP backend: Separable convolution decomposition in executorch #13758
Conversation
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/13758
Note: Links to docs will display an error until the docs builds have been completed. ❗ 1 Active SEVsThere are 1 currently active SEVs. If your PR is affected, please view them below: ❌ 2 New FailuresAs of commit fe37a89 with merge base 1520f9f ( NEW FAILURES - The following jobs have failed:
This comment was automatically generated by Dr. CI and updates every 15 minutes. |
@pytorchbot label "module: nxp" "release notes: nxp" |
647412a
to
f016892
Compare
f016892
to
2e65f1d
Compare
backends/nxp/backend/ir/converter/node_converters/ops_converters/convolution_converter.py
Show resolved
Hide resolved
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.
Why do you remove the tests for the separable convolution and not update them? Now they can convert to Neutron, or we miss some Ops?
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.
8 tests were removed in total:
- 4 of them tested the group conv decomposition with a float32 model. These were used to test the IR decomposition implementation. They were not that useful as they did not test the intended use-case (quantized model).
- The last 4 used a quantized model, but as
split
is not yet supported, the group conv couldn't be delegated. So these tests only verified that the node was not delegated.
8 new tests were added in backends/nxp/tests/test_split_group_convolution.py
, which test the decomposition and the delegation together.
Updating the 4 removed floating point tests would result in basically duplicate tests. And as the decomposition is no longer the responsibility of the ConvConverter
, it made more sense to me to test the new functionality in a new module.
|
d4b7aa3
to
fb20072
Compare
fb20072
to
fe37a89
Compare
@MartinPavella
|
Summary
This PR introduces an aten dialect pre-processing pass which splits
conv
nodes withgroup>1
into multiple parallelconv
nodes withgroup=1
. This replaces the original implementation in Neutron IR.Test plan
Unit tests provided in
backends/nxp/tests/test_split_group_convolution.py
cc @robert-kalmar @roman-janik-nxp @StrycekSimon @jirioc