def _create_layers(self, input_layer):
""" Create the encoding and the decoding layers of the deep autoencoder.
:param input_layer: Input size.
:return: self
"""
encode_layer = input_layer
for i, l in enumerate(self.n_hidden):
encode_layer = Dense(units=l,
name='encoder_%d' % i,
activation=self.enc_activation[i],
kernel_regularizer=l1_l2(self.l1_reg[i], self.l2_reg[i]),
bias_regularizer=l1_l2(self.l1_reg[i], self.l2_reg[i]))(encode_layer)
self._decode_layer = encode_layer
for i, l in enumerate(self.n_hidden[-2:-(len(self.n_hidden)+1):-1] + [K.int_shape(input_layer)[1]]):
self._decode_layer = Dense(units=l,
name='decoder_%d' % i,
activation=self.dec_activation[i])(self._decode_layer)
评论列表
文章目录