16.03.2021 Views

Advanced Deep Learning with Keras

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

# 2) categorical cross entropy image label,

# 3) and 4) mutual information loss

loss = ['binary_crossentropy', 'categorical_crossentropy', mi_

loss, mi_loss]

# lamda or mi_loss weight is 0.5

loss_weights = [1.0, 1.0, 0.5, 0.5]

discriminator.compile(loss=loss,

loss_weights=loss_weights,

optimizer=optimizer,

metrics=['accuracy'])

discriminator.summary()

Chapter 6

# build generator model

input_shape = (latent_size, )

inputs = Input(shape=input_shape, name='z_input')

labels = Input(shape=label_shape, name='labels')

code1 = Input(shape=code_shape, name="code1")

code2 = Input(shape=code_shape, name="code2")

# call generator with inputs,

# labels and codes as total inputs to generator

generator = gan.generator(inputs,

image_size,

labels=labels,

codes=[code1, code2])

generator.summary()

# build adversarial model = generator + discriminator

optimizer = RMSprop(lr=lr*0.5, decay=decay*0.5)

discriminator.trainable = False

# total inputs = noise code, labels, and codes

inputs = [inputs, labels, code1, code2]

adversarial = Model(inputs,

discriminator(generator(inputs)),

name=model_name)

# same loss as discriminator

adversarial.compile(loss=loss,

loss_weights=loss_weights,

optimizer=optimizer,

metrics=['accuracy'])

adversarial.summary()

# train discriminator and adversarial networks

models = (generator, discriminator, adversarial)

[ 173 ]

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!