I’m glad you like it here! 
The returned generated image has dimensions [batch_size, channels, width, height].
As far as I know the default format in Tensorflow stores the channels at the last position. The returned size should be alright.
Based on the error message, it seems you are flattening the Tensor somewhere and feeding it into a Linear layer gives a size mismatch.
Could you print the shape in the __forward__ method of x just before passing it to self.fc?
Also as a side note, you should call the Module directly instead of .forward, since hooks might not be properly registered.