Skip to content

[Quantized DeConv Support] Enable Quantized Transposed Convs with groups==1#11774

Merged
GregoryComer merged 3 commits into
mainfrom
gh/mcr229/31/orig
Jun 23, 2025
Merged

[Quantized DeConv Support] Enable Quantized Transposed Convs with groups==1#11774
GregoryComer merged 3 commits into
mainfrom
gh/mcr229/31/orig

Conversation

@pytorchbot

Copy link
Copy Markdown
Collaborator

This PR was created by the merge bot to help merge the original PR into the main branch.
ghstack PR number: #11730 by @mcr229
^ Please use this as the source of truth for the PR details, comments, and reviews
ghstack PR base: https://github.com/pytorch/executorch/tree/gh/mcr229/31/base
ghstack PR head: https://github.com/pytorch/executorch/tree/gh/mcr229/31/head
Merge bot PR base: https://github.com/pytorch/executorch/tree/main
Merge bot PR head: https://github.com/pytorch/executorch/tree/gh/mcr229/31/orig
@diff-train-skip-merge

…ups==1

Pull Request resolved: #11730

Supporting Quantized Transposed Convs with Groups being 1.

Previously, There was some added support for Quantized Transposed Convolutions but only when the channel axis is 1 and when the groups is 1. The current Quantizer didn't support this because it only allows quantizaing along the zero dim, which is generally the output channels. However for TransposedConvs, the dimension of the weights are:
```
[in_channels, out_channels/groups, h, w]
```

Since we want to keep quantization along the output channels, we now need to quantize along axis = 1.

The reason we require groups to be one is because XNNPACK takes in filters of the dimension:
```
[out_channels, H, W, in_channels/groups]
```

Since we are quantizing along the output channels, in pytorch we expect to have out_channels/groups scales, but in xnnpack we have out_channels scales! Realistically we would need to support this with some affine quantization, where we provide a scale for every group, every out_channel. However for now, we just ensure the constraint where groups == 1.
ghstack-source-id: 291033630
@exported-using-ghexport

Differential Revision: [D76631781](https://our.internmc.facebook.com/intern/diff/D76631781/)
@pytorch-bot

pytorch-bot Bot commented Jun 18, 2025

Copy link
Copy Markdown

🔗 Helpful Links

🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/11774

Note: Links to docs will display an error until the docs builds have been completed.

⏳ No Failures, 31 Pending

As of commit 59118e0 with merge base d83636d (image):
💚 Looks good so far! There are no failures yet. 💚

This comment was automatically generated by Dr. CI and updates every 15 minutes.

@facebook-github-bot facebook-github-bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Jun 18, 2025
pytorchbot and others added 2 commits June 23, 2025 14:10
…groups ==1 (#11775)

This PR was created by the merge bot to help merge the original PR into
the main branch.
ghstack PR number: #11731 by
@mcr229
^ Please use this as the source of truth for the PR details, comments,
and reviews
ghstack PR base:
https://github.com/pytorch/executorch/tree/gh/mcr229/32/base
ghstack PR head:
https://github.com/pytorch/executorch/tree/gh/mcr229/32/head
Merge bot PR base:
https://github.com/pytorch/executorch/tree/gh/mcr229/31/orig
Merge bot PR head:
https://github.com/pytorch/executorch/tree/gh/mcr229/32/orig
@diff-train-skip-merge

Co-authored-by: Max Ren <maxren@meta.com>
@GregoryComer GregoryComer added the release notes: xnnpack Changes to the XNNPack backend delegate label Jun 23, 2025
@GregoryComer GregoryComer merged commit ff3c3b6 into main Jun 23, 2025
96 checks passed
@GregoryComer GregoryComer deleted the gh/mcr229/31/orig branch June 23, 2025 21:50
hinriksnaer pushed a commit to hinriksnaer/executorch that referenced this pull request Jun 26, 2025
…ups==1 (pytorch#11774)

This PR was created by the merge bot to help merge the original PR into
the main branch.
ghstack PR number: pytorch#11730 by
@mcr229
^ Please use this as the source of truth for the PR details, comments,
and reviews
ghstack PR base:
https://github.com/pytorch/executorch/tree/gh/mcr229/31/base
ghstack PR head:
https://github.com/pytorch/executorch/tree/gh/mcr229/31/head
Merge bot PR base: https://github.com/pytorch/executorch/tree/main
Merge bot PR head:
https://github.com/pytorch/executorch/tree/gh/mcr229/31/orig
@diff-train-skip-merge

---------

Co-authored-by: Max Ren <maxren@meta.com>
Co-authored-by: Gregory Comer <gjcomer@meta.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. release notes: xnnpack Changes to the XNNPack backend delegate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants