you can do this dropout operation yourself, instead of using nn.Dropout.
You can generate a bernoulli mask of numbers using torch.bernoulli and then multiply your both mini-batches with the same mask.
For example:
# generate a mask of same shape as input1
mask = Variable(torch.bernoulli(input1.data.new(input1.data.size()).fill_(0.5)))

output1 = input1 * mask
output2 = input2 * mask