最近在做实验时,需要使用到模型在训练时的输出结果。
有些情况下,需要用到模型中间的若干层的输出结果,我的实验中需要用到模型的最后输出结果。
参考另一篇文章中的方法: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表示训练好的模型名称。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)