I have a question about **ConvTranspose2d.weight** shape. As mentioned in the PyTorch documentation the shape of **ConvTranspose2d.weight** tensor is as follows:

`(in_channels, out_channels, kernel_size[0], kernel_size[1])`

Note that I have omitted the `groups`

parameter in the above shape.

Now, my question is that why not its shape as follows?

`(out_channels, in_channels, kernel_size[0], kernel_size[1])`

My problem related to the position of **(in_channels, out_channels)**. As in some resources the Transposed Convolution is implemented via the regular convolution, so the kernel must apply on `input_channels`

. as a result I don’t understand why the shape of the filter (i.e., weight tensor), is mentioned as above equation.

Maybe it relates to the fact that the Transposed Convolution is a kind of inverse (or transposed version) of the regular convolution, so its filters shape is transposed, and as a result, its shape follows the above relationship.

Am I correct?