Keras:获取模型的中间层/最后一层的输出结果

最近在做实验时,需要使用到模型在训练时的输出结果。

有些情况下,需要用到模型中间的若干层的输出结果,我的实验中需要用到模型的最后输出结果。

参考另一篇文章中的方法:python - Keras, How to get the output of each layer? - Stack Overflow

但是我的实验更复杂一点,我的模型中有多个输入和多个输出,但实现起来也不是很复杂,获取模型最后一层的输出结果的代码如下:

from keras import backend as K

get_layer_output = K.function([model.layers[index_1].input, model.layers[index_2].input],
                                  [model.layers[index_3].output])
layer_output = get_layer_output([train_x_1, train_x_2])[0]

我的模型中有多个输入和多个输出,但是我需要的最终输出结果只有一个,这个输出结果需要用到两个输入数据,因此,我设置了两个输入:

model.layers[index_1].input,和model.layers[index_2].input,

然后设置了一个输出:model.layers[index_3].output。

其中index_1,2,3表示模型中所在的层数,下标从0开始。

model表示训练好的模型名称。

你可能感兴趣的:(深度学习,Keras,深度学习,python)