为什么Keras无法直接获得中间层的模型和训练模型的输出

时间:2019-05-06 20:56:24

标签: machine-learning keras neural-network deep-learning keras-layer

这是有关Keras API设计的问题。对于在Keras中定义的经过训练的DNN模型,如果我想获得中间模型及其层的输出,则必须创建一个新模型。

from 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中的Model类不直接提供此类API?

0 个答案:

没有答案