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.

## Comentarios