RoyWheels / stylegan2-ada

StyleGAN2 with adaptive discriminator augmentation (ADA) - Official TensorFlow implementation
https://arxiv.org/abs/2006.06676
Other
76 stars 13 forks source link

num_layers might differ from original implementation for square images #4

Open seawee1 opened 4 years ago

seawee1 commented 4 years ago

If I understood correctly you can train on 1024 pixel square images by passing --res_log2 9 and--min_w/min_h 2, --res_log2 8 and --min_w/min_h 4, and so on to the training script. What I noticed is that --res_log2 9 and --min_w/min_h 2 adds additional layers to the architecture which shouldn't be there. In my case an additional 512x2x2 layers was prepended to the generator. Using --res_log2 8 and --min_w/min_h 4 doesn't cause this issue.

This is probably due to the way you calculate num_layers num_layers = resolution_log2 * 2 - 2 vs. num_layers = res_log2 * 2 + 2.

Don't know if that's a bug or is even desired but might be nice for other people to mention it inside the README.

RoyWheels commented 4 years ago

I never use --res_log2=9 and it's not mentioned in the readme.

If I train 1024x1024, I'll use min_h and min_w of 4 and a reslog2 of 8. 512x512 will train with the same min values but a reslog2 of 7.

I'm not sure where you got the 9 from as I've never mentioned it anywhere and I've never seen it elsewhere. Use a reslog2 of 7 for anything up to 512px'ish (depending on aspect) and 8 above that.