Hi Ptrblck,
Sorry, I am using 2D-DCGAN generator and convert it to the 3D. The error is : Given input size per channel: (1 x 1 x 1). Calculated output size per channel: (5 x 5 x -157). Output size is too small.
I expect that instead of -157 to see ((5x5x33) (13x13x21),(21x21x11), would you please help me to find out why this happen? I started by 101x1x1 and my target output is (21x21x11)
 class Generator(nn.Module):
        def __init__(self, nz):
        super(Generator, self).__init__()
        self.nz=nz
        self.main = nn.Sequential(
            nn.ConvTranspose3d(101,33,kernel_size=(5,5,5), stride=(2,2,2), padding=(0,0,86), bias=False),
            nn.BatchNorm3d(33),
            nn.ReLU(True),
            nn.ConvTranspose3d(33, 21,kernel_size=(5,5,5), stride=(2,2,2) , padding=(0,0,24), bias=False),
            nn.BatchNorm3d(21),
            nn.ReLU(True),
            nn.ConvTranspose3d(21, 11, kernel_size=(5,5,5), stride=(2,2,2), padding=(4,4,17), bias=False),
            nn.Tanh())
 
    def forward(self, input):
        return self.main(input)

#### call the generator   nz=101
netG = Generator(101).to(device)
if (device.type == 'cuda') and (ngpu > 1): netG = nn.DataParallel(netG, list(range(ngpu)))
netG.apply(weights_init)
noise = torch.randn(b_size,nz,1,1,1,device=device)
fake = Generator(noise)