0

我有一个堆叠的自动编码器,其结构类似于500-250-100-50-100-250-500. 我现在想取出 50 维隐藏层,并使用 softmax 层将我的输入数据分类为 2 个类。

这意味着我需要我的自动编码器将我的 500 维输入向量从我的训练数据集中压缩成 50 维向量,并用它来训练 softmax 层。除此之外,我还需要 50 维隐藏层。

我将如何获得隐藏层:autoencoder.layers[3]

但是如何获得 500 维输入向量的压缩 50 维向量呢?使用时我需要获取该隐藏层的输出autoencoder.predict(x_train)

4

1 回答 1

1

如果您想从隐藏层获得另一个输出,您可以获取输出并将其添加到新模型中,如下所示:

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)
于 2021-06-18T18:15:21.657 回答