Conv2d Vs ConvTranspose2d usage

Hi I have a question about ConvTranspose2d, in which situation would you use ConvTranspose2d over conv2d ? Or in which situation I SHOULD use ConvTranspose2d?

Hi Adam!

In general, if you are building a “conventional” convolutional network
(whatever that means), you should use Conv2d.

The noteworthy use case for ConvTranspose2d that I am familiar with
(I’m sure that there are others.) is in the U-Net architecture, where it is
used as an “upsampling” or “dilation” operation.

I believe that the "up-conv 2x2"operations in the original U-Net paper
can be exactly implemented as:

ConvTranspose2d (in_channels, out_channels, kernel_size = 2, stride = 2)

Best.

K. Frank

2 Likes