Please refer to the __Project webpage__ for result images

**Part 1 DCGAN**

**1.1 Implement Data Augmentation**

Deluxe data augmentation helps the model to be more robust.

**1.2 DCGAN - Discriminator**

**Padding**

The calculation of padding is:

m=⌊n+2p−K⌋S

, where m is the output size and n is the input size. p is the padding, K is the kernel size, and S is the stride. Given the size is downsampled by scale 2, we know n = 2m. With K = 4 and S = 2, we will have

2m=⌊2m+2p−4⌋

Then,

p=1

which means padding is 1.

**1.3 DCGAN - Generator**

The design of the first layer in DCGenerator is using conv, instead of up_conv. The idea is to use padding 3, kernel size 4, and stride 1 to obtain a 4x4 output. I also replaced nn.ReLU with nn.LeakyReLU for its better performance.

**1.4 Result**

As we can see, the result of the Deluxe data augmentation + full diffaug configuration with more iterations has better quality and resolution.

## Comments