I have a DCGAN (code available here: https://github.com/Grubzerusernameisavailable/DCGAN-pytorch/blob/master/pytorch_gan.ipynb 6), but it has a big problem: it doesnt work. In the beginning if the generator is fed some random noise, outputs are also a uniform noise as expected, but at least they change with whatever we input in. But almost immidiately after training starts it falls into something that looks like a mode collapse, but worse: images not only stay almost completly identical no matter the input (they may have some variance, but it is imperceptible for me), but they also have no traits of original dataset (256 * 256 rgb living room images):
Here is how typical output looks (from one of the experiments i ran with reduced (64*64 RGB) resolution):

And loss from one of the runs, sampled each batch (graph looks kinda the same, no matter what i do):

Things that i tried to fix it:

Deeper/shallower generator. Change structure of generator to 16->3 or 128->3 Conv2d channels at output, no effect
Change first linear layer output depth and resolution: all kinds of combinations between 2x2, 4x4, and 8x8 resolutions and 256,512, 1024 and 2048 depth
Varying input noise space, 50,100,300
Feeding noise directly through .view omitting linear layer as input (noise size 65536 -> 1024,8,8)
Vary discriminator depth, dropout values and channels at Conv2d layers
Playing around with loss functions in a despair

None of it worked. One behavior that i noticed is a “blobby” nature of some outputs, where output would typically have a blob of one color with a background of another color, and a high-res grid pattern overlayed on top of that, colors of which change in the “blob” and backgground
I am kinda new to ML community, and might be missing some key element, but this amount of absence of any change in behavior no matter what i do, is starting to drive me kinda crazy, help me please