gpt4 book ai didi

tensorflow - 关于 Keras 框架下自编码器模型中的解码器层定义

转载 作者:行者123 更新时间:2023-12-01 06:05:15 24 4
gpt4 key购买 nike

this blog 中包含的自动编码器示例中,作者构建一个隐藏层如下。

 # this is the size of our encoded representations
encoding_dim = 32 # 32 floats -> compression of factor 24.5, assuming the input is 784 floats
input_img = Input(shape=(784,))
encoded = Dense(encoding_dim, activation='relu')(input_img)
decoded = Dense(784, activation='sigmoid')(encoded)
autoencoder = Model(input=input_img, output=decoded)

# this model maps an input to its encoded representation
encoder = Model(input=input_img, output=encoded)

我可以理解上述部分的工作原理,但我对构建解码器部分的以下部分感到困惑
 # create a placeholder for an encoded (32-dimensional) input
encoded_input = Input(shape=(encoding_dim,))
# retrieve the last layer of the autoencoder model
decoder_layer = autoencoder.layers[-1]
# create the decoder model
decoder = Model(input=encoded_input, output=decoder_layer(encoded_input))

具体来说,我认为 decoder应定义为 decoder = Model(input=encoded, output=decoded) .我不明白为什么我们必须引入额外的变量 encoded_input .根据自动编码器模型,我们只是将编码部分解码为输出,因此解码器层的输入应该是 encoded .
而且,如果解码器模型定义如上,为什么编码器没有定义为 encoder=Model(input=input_img, output=autoencoder.layers[0](input_img)) ?

最佳答案

encoded_input表示一个占位符,如果您只想在您生成的某些数据上运行解码器而不是编码器(例如,如果您正在探索编码空间),则可以使用该占位符。

关于tensorflow - 关于 Keras 框架下自编码器模型中的解码器层定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40944526/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com