Solved by ptrblck in post #2 
              
              
                Your input to the last conv layer is [batch_size, 512, 2, 2] which is too small for a kernel size of 4. 
Change the last layer to nn.Conv2d(opt.ndf*8, 1, 2, 1, 0, bias=False) and your model should run.