我有一个堆叠的自动编码器,它的结构类似于500-250-100-50-100-250-500
。我现在想要取出50维的隐藏层,并使用softmax层将我的输入数据分类为2类。
这意味着我需要我的自动编码器将我的训练数据集中的500维输入向量压缩成50维向量,并使用它来训练softmax层。除此之外,我还需要50维的隐藏层。
如何获取隐藏层:autoencoder.layers[3]
但是如何获得500维输入向量的压缩50维向量呢?在使用autoencoder.predict(x_train)
时,我需要获取该隐藏层的输出。
发布于 2021-06-18 18:15:22
如果您想从隐藏层获得另一个输出,您可以获取输出并将其添加到新模型中,如下所示:
new_model = tf.keras.Model(inputs=autoencoder.input, outputs=[autoencoder.layers[3].output, autoencoder.output])
然后你可以得到这样的预测:
hidden_layer_pred, last_layer_pred = new_model.predict(x_train)
https://stackoverflow.com/questions/68039713
复制