我正在使用Keras进行深入学习。 我对预测步骤中的网络状态有疑问。
在预测一些随机输入时,有没有办法发现神经元的值? (参见给定输入的最终神经元状态)。
答案 0 :(得分:3)
<强>更新强>
您可以创建一个新的临时模型,其中包含要从中检索激活值的(原始)网络的隐藏层。
例如,如果你有一个有3层(1个输入,1个隐藏和1个输出)的神经网络A并想要检索隐藏层的激活值,你需要创建一个新模型,比如B,有2层(1输入和1输出)。模型B的输入层将与模型A的输入层相同。而模型B的输出层将类似于模型A的隐藏层。
示例代码可以是:
rom keras.models import Model
model = ... # create the original model
layer_name = 'my_layer'
intermediate_layer_model = Model(inputs=model.input,
outputs=model.get_layer(layer_name).output)
intermediate_output = intermediate_layer_model.predict(data)
有关详细信息,请查看Keras常见问题https://keras.io/getting-started/faq/#how-can-i-obtain-the-output-of-an-intermediate-layer。