Question about Jeremy's pytorch DCGAN class

Around line 38 in the file dcgan.py , Jeremy has:

 output = output.mean(0)
 return output.view(1)	```

the last few lines of the init method are :

```while csize > 4:
            self.conv_block(main, 'pyramid', cndf, cndf*2, 4, 2, 1)
            cndf *= 2; csize /= 2
\# state size. K x 4 x 4
main.add_module(f'final.{cndf}-1.conv', nn.Conv2d(cndf, 1, 4, 1, 0, bias=False))```

It seems to me that the last layer is a convolution that outputs 1 filter. 
What is output = output.mean(0) doing?  
If the output is a x*x matrix, should we be doing output.mean() instead(to get global average ). 

I created a small 2d array , and calling mean(0) on that just gives me the averages column wise. I am not even able to call output.view(1) 

What is the final layer's output of the DCGAN's discriminator class?

BUMP :slight_frown: