【问题标题】:the definition of decoder layer in autoencoder model for mnist casemnist案例的自动编码器模型中解码器层的定义
【发布时间】:2017-04-18 13:41:48
【问题描述】:

我正在尝试按照this blog 中给出的示例来构建自动编码器模型。

input_img = Input(shape=(784,))
encoded = Dense(128, activation='relu')(input_img)
encoded = Dense(64, activation='relu')(encoded)
encoded = Dense(32, activation='relu')(encoded)
decoded = Dense(64, activation='relu')(encoded)
decoded = Dense(128, activation='relu')(decoded)
decoded = Dense(784, activation='sigmoid')(decoded)

# this model maps an input to its reconstruction
autoencoder = Model(input=input_img, output=decoded)

encoded_input = Input(shape=(encoding_dim,))
decoder_layer = autoencoder.layers[-1]
decoder = Model(input=encoded_input, output=decoded)
autoencoder.compile(optimizer='adadelta', loss='binary_crossentropy')

我做的修改是decoder = Model(input=encoded_input, output=decoded),在原帖里写成decoder = Model(input=encoded_input, output=decoder_layer(encoded_input))。以前的版本适用于单个隐藏层。这就是我进行上述修改的原因。但是,编译上述模型会给出以下错误消息。任何建议都非常感谢。

 Traceback (most recent call last):
 File "train.py", line 37, in <module>
 decoder = Model(input=encoded_input, output=decoded)
 File "tfw/lib/python3.4/site-packages/Keras-1.0.3-py3.4.egg/keras/engine/topology.py", line 1713, in __init__
str(layers_with_complete_input))
Exception: Graph disconnected: cannot obtain value for tensor Tensor("input_1:0", shape=(?, 784), dtype=float32) at layer "input_1". The following previous layers were accessed without issue: []

【问题讨论】:

    标签: deep-learning keras mnist


    【解决方案1】:

    我遇到了同样的问题,并设法将一个混乱但有效的解决方案放在一起。将定义解码器的行更改为:

    decoder = Model(input=encoded_input, output=autoencoder.layers[6](autoencoder.layers[5](autoencoder.layers[4](encoded_input))))
    

    您看到的错误表明存在断开连接的图表。在这种情况下,定义为encoded_input 的输入张量被直接馈送到最终输出张量,定义为最终解码层(具有 784 维的密集层)。中间张量(具有 64 维和 128 维的密集层)被跳过。我的解决方案嵌套了这些层,以便每一层都用作下一层的输入,最里面的张量有 encoded_input 作为输入。

    【讨论】:

      猜你喜欢
      • 2023-03-09
      • 2017-04-18
      • 2019-10-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-11
      • 1970-01-01
      • 1970-01-01
      • 2019-09-13
      相关资源
      最近更新 更多