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表示训练好的模型名称。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值