Certainly! The discriminator takes two inputs and combines concatenates their channel dimension. It is a sequence of Convolutions with a Linear layer at the end.
There has been a similar question here:

  
    
    
    Scatter not differentiable twice autograd
  
  
    I get the same error with pytorch 0.2, and using the code below adapted from Marvin Cao. 
Does anyone have a solution? 
def compute_gradient_penalty(discriminator, mixed, real, fake, LAMBDA=10,
                          use_cuda=True):
 batch_size = real.size(0)
 alpha = torch.rand(batch_size, 1)
 alpha = alpha.expand(real.size())
 alpha = alpha.contiguous()
 alpha = alpha.cuda(async=True) if use_cuda else alpha
 interpolates = alpha * real.data + ((1 - alpha) * fake.data)

 if use_cuda:
     in…
  


I’m also running my models in DataParallel and can explicitly post the code if need be.