December 2018
Beginner to intermediate
684 pages
21h 9m
English
Both the discriminator and generator use a deep CNN architecture, wrapped in a function:
def build_discriminator(): model = Sequential([ Conv2D(32, kernel_size=3, strides=2, input_shape=img_shape, padding='same'), LeakyReLU(alpha=0.2), Dropout(0.25), Conv2D(64, kernel_size=3, strides=2, padding='same'), ZeroPadding2D(padding=((0, 1), (0, 1))), BatchNormalization(momentum=0.8), LeakyReLU(alpha=0.2), Dropout(0.25), Conv2D(128, kernel_size=3, strides=2, padding='same'), BatchNormalization(momentum=0.8), LeakyReLU(alpha=0.2), Dropout(0.25), Conv2D(256, kernel_size=3, strides=1, padding='same'), BatchNormalization(momentum=0.8), LeakyReLU(alpha=0.2), Dropout(0.25), Flatten(), Dense(1, activation='sigmoid') ]) ...