美文网首页
Keras 获取中间层输出

Keras 获取中间层输出

作者: Matrix0 | 来源:发表于2020-08-20 21:38 被阅读0次

一种简单的方法是创建一个新的Model,使得它的输出是你想要的那个输出

from keras.models import Model

model = ...  # create the original model

layer_name = 'my_layer'
intermediate_layer_model = Model(input=model.input,
                                 output=model.get_layer(layer_name).output)
intermediate_output = intermediate_layer_model.predict(data)

也可以建立一个Keras的函数来达到这一目的:

from keras import backend as K

# with a Sequential model
get_3rd_layer_output = K.function([model.layers[0].input],
                                  [model.layers[3].output])
layer_output = get_3rd_layer_output([X])[0]

当然,我们也可以直接编写Theano和TensorFlow的函数来完成这件事

注意,如果你的模型在训练和测试两种模式下不完全一致,例如你的模型中含有Dropout层,批规范化(BatchNormalization)层等组件,你需要在函数中传递一个learning_phase的标记,像这样:

get_3rd_layer_output = K.function([model.layers[0].input, K.learning_phase()],
                                  [model.layers[3].output])

# output in test mode = 0
layer_output = get_3rd_layer_output([X, 0])[0]

# output in train mode = 1
layer_output = get_3rd_layer_output([X, 1])[0]

只是搬运这些,当做自己的笔记用,具体参考keras文档

相关文章

  • Keras 获取中间层输出

    一种简单的方法是创建一个新的Model,使得它的输出是你想要的那个输出 也可以建立一个Keras的函数来达到这一目...

  • 获取中间层的输出

    ref 要获取中间层的输出,最好的办法是新建一个模型 或者使用keras function来实现返回一个特定的输出...

  • keras输出中间层结果

    转载自keras输出中间层结果的2种方法 使用函数模型API,新建一个model,将输入和输出定义为原来的mode...

  • keras输出中间层结果

    1.使用函数模型API,新建一个model,将输入和输出定义为原来的model的输入和想要的那一层的输出,然后重新...

  • Keras如何获得中间层输出

    Sequential 注意,如果你的模型在训练和测试两种模式下不完全一致,例如你的模型中含有Dropout层,批规...

  • keras FAQ

    介绍 这里记录keras文档FAQ中在工作中用到的一些问题和技巧。参考自这里主要包括: 多GPU训练 获取中间层的...

  • PyTorch 获取模型中间层方法

    获取模型中间层 通过index获取 通过特征名获取

  • Keras笔记(1)  入门

    使用TensorFlow构建神经网络确实有些麻烦,中间层需要自己核算矩阵,这导致建模略微负责。这里使用Keras构...

  • tensorflow模型建立与训练

    线性分类器Model 数据获取及预处理: tf.keras.datasets 模型的构建: tf.keras.Mo...

  • pytorch 中间层输出

    想获取网络的中间输出,但是尝试后,发现 hook不好用 Sequential有时用不了 所以最终决定还是直接使用l...

网友评论

      本文标题:Keras 获取中间层输出

      本文链接:https://www.haomeiwen.com/subject/zroejktx.html