mnist_denoising_autoencoder.py 是一个编解码神经网络,其意义就是如果图片中有噪点的话,可以去除噪点,还原图片
其编码网络为:
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
encoder_input (InputLayer) (None, 28, 28, 1) 0
_________________________________________________________________
conv2d_1 (Conv2D) (None, 14, 14, 32) 320
_________________________________________________________________
conv2d_2 (Conv2D) (None, 7, 7, 64) 18496
_________________________________________________________________
flatten_1 (Flatten) (None, 3136) 0
_________________________________________________________________
latent_vector (Dense) (None, 16) 50192
=================================================================
Total params: 69,008
Trainable params: 69,008
Non-trainable params: 0
_________________________________________________________________
就是输入一张图片,生成一个16维的向量
其解码网络为:
__________________________________________________________________________________________
Layer (type) Output Shape Param #
==========================================================================================
decoder_input (InputLayer) (None, 16) 0
__________________________________________________________________________________________
dense_1 (Dense) (None, 3136) 53312
__________________________________________________________________________________________
reshape_1 (Reshape) (None, 7, 7, 64) 0
__________________________________________________________________________________________
conv2d_transpose_1 (Conv2DTranspose) (None, 14, 14, 64) 36928
__________________________________________________________________________________________
conv2d_transpose_2 (Conv2DTranspose) (None, 28, 28, 32) 18464
__________________________________________________________________________________________
conv2d_transpose_3 (Conv2DTranspose) (None, 28, 28, 1) 289
__________________________________________________________________________________________
decoder_output (Activation) (None, 28, 28, 1) 0
==========================================================================================
Total params: 108,993
Trainable params: 108,993
Non-trainable params: 0
__________________________________________________________________________________________
就是输入一个16维的向量,生成一个 28*28 的黑白图片
合并之后的网络结构就是
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
encoder_input (InputLayer) (None, 28, 28, 1) 0
_________________________________________________________________
encoder (Model) (None, 16) 69008
_________________________________________________________________
decoder (Model) (None, 28, 28, 1) 108993
=================================================================
Total params: 178,001
Trainable params: 178,001
Non-trainable params: 0
_________________________________________________________________
输入就是有噪音的图片,输出是原图,损失函数是mse,均方差
效果如下:第一行是原图,第二行是加上噪点之后的图,第三行是解码出来的图
——————————————————————
总目录