def modeling(self):
Lx, Ly = self.Lx, self.Ly
input_img = Input(shape=(1, Lx, Ly))
ks = 8
x = Convolution2D(16, ks*2, ks*2, activation='relu', border_mode='same')(input_img)
x = MaxPooling2D((2, 2), border_mode='same')(x) # 160 --> 80
x = Convolution2D(8, ks*2, ks*2, activation='relu', border_mode='same')(x)
x = MaxPooling2D((2, 2), border_mode='same')(x) # 80 --> 40
x = Convolution2D(8, ks*2, ks*2, activation='relu', border_mode='same')(x)
encoded = MaxPooling2D((2, 2), border_mode='same')(x) # 40 --> 20
# at this point the representation is (8, 20, 20)
x = Convolution2D(8, ks, ks, activation='relu', border_mode='same')(encoded)
x = UpSampling2D((2, 2))(x) # 20 --> 40
x = Convolution2D(8, ks, ks, activation='relu', border_mode='same')(x)
x = UpSampling2D((2, 2))(x) # 20 --> 80
x = Convolution2D(16, ks, ks, activation='relu', border_mode='same')(x)
x = UpSampling2D((2, 2))(x) # 80 --> 160
decoded = Convolution2D(1, ks, ks, activation='sigmoid', border_mode='same')(x)
autoencoder = Model(input_img, decoded)
autoencoder.compile(optimizer='adadelta', loss='binary_crossentropy')
self.autoencoder = autoencoder
评论列表
文章目录