keras 的 example 文件 mnist_denoising_autoencoder.py 解析

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,均方差

效果如下:第一行是原图,第二行是加上噪点之后的图,第三行是解码出来的图

 

——————————————————————

总目录

keras的example文件解析

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值