def _create_layers(self, input_layer):
""" Create the encoding and the decoding layers of the variational autoencoder.
:return: self
"""
n_inputs = K.int_shape(input_layer)[1]
# Encode layers
encode_layer = Dense(units=self.n_hidden,
activation=self.enc_activation)(input_layer)
z_mean = Dense(name='z_mean', units=self.n_latent)(encode_layer)
z_log_var = Dense(name='z_log_var', units=self.n_latent)(encode_layer)
z = Lambda(self._sampling, output_shape=(self.n_latent,))([z_mean, z_log_var])
# Decode layers
self._decode_layer = Dense(units=self.n_hidden,
activation=self.dec_activation)(z)
self._decode_layer = Dense(units=n_inputs, activation='linear')(self._decode_layer)
评论列表
文章目录