Difference between MaxUnpool3d and ConvTranspose3d

Hi!, I’d like to know if there’s some difference between these two functions. I thought ConvTranspose3d was the inverse of MaxPool3d but now I saw that there is also MaxUnpool3d, so Wich one should I apply?

I want to implement a variation of the 3D U-net model.

I’m speaking about the up yellow arrows of the model above (3D U-net model)


ConvTranspose3d have learnable parameters, whereas MaxPool3d doesn’t.

1 Like

Conv Transpose is the inverse of Conv, it works somehow like a convolution, while maxunpool only repeats your pixels to achieve the right output shape. Rather than maxunpool I would use torch.nn.interpolate if you dont want some trainable parameters and conv transpose if you want some

1 Like