# Journey to LB 44.69 (ResNet DCGAN+Conditional BN)

Hi All
First, I want to thank Kaggle for holding this great competition, this is first GAN competition, I really enjoy and learned a lot from this competition, thanks everyone for great discussion and great kernel, thanks
[@cdeotte](/cdeotte)
for detail explanation of GAN and good kernel share.
Second, Very thanks a great RaLSGAN kernel from
[@sakami](/sakami)
, I fork it and do some experience to get my final solution, LB44.69, Below is my final submission kernel :
[https://www.kaggle.com/super13579/ralsgan-dogs-resnet-cbn?scriptVersionId=18722384](https://www.kaggle.com/super13579/ralsgan-dogs-resnet-cbn?scriptVersionId=18722384)
Journal to LB 44.69
1. Add convolution output channel count on Discirminator, LB 69 to 54
Triple the convolution output channel count on Discirminator, LB 69 (original kernel) to LB 54
![](assets/7fb9daf0b341a1d1b6382463.jpg)
2. Add Pixel Normalize and spectral normalize on Generator, LB 54 to 52
Add Pixel normalize and spectral normalize on Generator, LB 54 to LB 52
3. Using Breed Label, LB 52 to 49
I add the Aux layer on the last of discriminator, and choose a good weight to merge to loss function (fine-tune manually ), LB 52 to LB 49
![](assets/8e5b9cca0e4d3400786428ec.jpg)
![](assets/3dbe0d528a5856d01a54d008.jpg)
4. Add ResNet Block and Conditional Batch normalize, LB 49 to 44
I saw recent GAN paper all use ResNet block and conditional batch normalize, so I try to implement them, ResNet Block for Generator and Discriminator, CBN for Generatro, LB 49 to LB 44, you can refer my final kernel to see how to implement them.
This is dog image from my best score kenrl, some head are missing XD
![](assets/96a43b5654e0e5965c6777f0.jpg)
Summary
I think BigGAN is the biggest winner in this competition, I've saw some paper mention it, but I thought it will exceed the limit time (9hours), cause it looks like a "Big" model, so I didn't implement it, only implement Resnet Block and CBN, I learned a lot of GAN from this competition, thanks everyone for great discussion and great kernel! GAN is very interesting!