Skip to content

Instantly share code, notes, and snippets.

@NMZivkovic
Created February 10, 2019 18:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save NMZivkovic/b16d898b6b6ca63e30242ae105d78afb to your computer and use it in GitHub Desktop.
Save NMZivkovic/b16d898b6b6ca63e30242ae105d78afb to your computer and use it in GitHub Desktop.
def _encode__layer(self, input_layer, filters):
layer = Conv2D(filters, kernel_size=4, strides=2, padding='same')(input_layer)
layer = LeakyReLU(alpha=0.2)(layer)
layer = InstanceNormalization()(layer)
return layer
def _decode_transform_layer(self, input_layer, forward_layer, filters):
layer = UpSampling2D(size=2)(input_layer)
layer = Conv2D(filters, kernel_size=4, strides=1, padding='same', activation='relu')(layer)
layer = InstanceNormalization()(layer)
layer = Concatenate()([layer, forward_layer])
return layer
def _build_generator_model(self):
generator_input = Input(shape=self.img_shape)
print("Build Encoder...")
encode_layer_1 = self._encode__layer(generator_input, 32);
encode_layer_2 = self._encode__layer(encode_layer_1, 64);
encode_layer_3 = self._encode__layer(encode_layer_2, 128);
encode_layer_4 = self._encode__layer(encode_layer_3, 256);
print("Build Transformer - Decoder...")
decode_transform_layer1 = self._decode_transform_layer(encode_layer_4, encode_layer_3, 128);
decode_transform_layer2 = self._decode_transform_layer(decode_transform_layer1, encode_layer_2, 64);
decode_transform_layer3 = self._decode_transform_layer(decode_transform_layer2, encode_layer_1, 32);
generator_model = UpSampling2D(size = 2)(decode_transform_layer3)
generator_model = Conv2D(self.img_shape[2], kernel_size=4, strides=1, padding='same', activation='tanh')(generator_model)
final_generator_model = Model(generator_input, generator_model)
final_generator_model.summary()
return final_generator_model
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment