Performance drop when using ConvTranspose2d

Dear all,

I have a very standard U-Net model for medical segmentation. It seems that when I change some of the Conv2d (with kernel_size = 3, padding = 1 and stride = 1) to ConvTranspose2d (with the same arguments) then there is a marked performance loss (a significant drop in Dice as well as Hausdorff distance).

I could post some code later if needed, but is there any fundamental reason why ConvTranspose2d should work differently than Conv2d?


I’m unsure if I misunderstand the question, but nn.Conv2d and nn.ConvTranspose2d are working differently as described e.g. in this conv arithmetic guide.