I have the following 2 Sequential blocks:
net = Sequential(
                nn.Conv2d(1, self.complexity, 4, 2, 3),
                nn.LeakyReLU(0.2, inplace=True),
                nn.Conv2d(self.complexity, self.complexity * 2, 4, 2, 1),
                nn.BatchNorm2d(self.complexity * 2),
                nn.LeakyReLU(0.2, inplace=True),
                nn.Conv2d(self.complexity * 2, self.complexity * 4, 4, 2, 1),
                nn.BatchNorm2d(self.complexity * 4),
                nn.LeakyReLU(0.2, inplace=True),
) 

and the output of the above network is passed into
classification_layer = Sequential(nn.Conv2d(self.complexity * 4, 11, 4, 1, 0))

where self.complexity is 128.
When I combine the two into one Sequential block by doing the following:
net = Sequential(
                nn.Conv2d(1, self.complexity, 4, 2, 3),
                nn.LeakyReLU(0.2, inplace=True),
                nn.Conv2d(self.complexity, self.complexity * 2, 4, 2, 1),
                nn.BatchNorm2d(self.complexity * 2),
                nn.LeakyReLU(0.2, inplace=True),
                nn.Conv2d(self.complexity * 2, self.complexity * 4, 4, 2, 1),
                nn.BatchNorm2d(self.complexity * 4),
                nn.LeakyReLU(0.2, inplace=True),
                nn.Conv2d(self.complexity * 4, 11, 4, 1, 0)
),

my network behaves differently. I am using these to train a DCGAN on the MNIST dataset for semi-supervised learning. In the first case, I do:
output = classification_layer(net(input))

and I get high accuracies (~90%) whereas in the second case, I do:
output = net(input)

and get lower accuracies (~60%).
Any idea as to why this could be happening? Is my assumption that these two are the same models correct?
I would greatly appreciate any help!