【发布时间】:2019-09-09 12:11:25
【问题描述】:
在大多数示例中,我看到我们希望在哪里看到中间层的输出值,似乎创建一个新模型是一种方法:
from keras.models import Model
model = ... # include here your 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)
(来源:https://keras.io/getting-started/faq/#how-can-i-obtain-the-output-of-an-intermediate-layer)
但是,我不明白的是:这个模型到底做了什么?为什么我们需要它?我们不能只将输入提供给具有这些层的原始模型,并直接汇集其层值吗?
你也必须训练这个新模型吗?
我什至无法想象任何可以代表这个新模型正在发生什么的图表......您添加另一个模型的输入层,然后添加另一个模型的随机中间层作为输出,并将输入提供给它?
另外,这个新模型不会影响输出吗?它会不会尝试学习或需要训练,或者该层会从原始模型中带来自己的权重,从而提供“改变”的输出值?
【问题讨论】:
-
.predict()不会修改正在使用的模型/层。
标签: python keras deep-learning keras-layer