keras获取中间层有两种方式:
(1)通过tf.keras.backend.function函数获取;
(2)通过tf.keras.models.Model函数获取;
对于第一种方式,主要是利用tensor name获取,具体可见https://blog.youkuaiyun.com/NOT_GUY/article/details/108290883;
对于第二种方式,使用步骤如下:
1)第一步,构建好模型;
2)第二步,利用keras的summary函数打印模型结构图;
3)第三步,训练模型;
4)利用tf.keras.models.Model函数构建输入到中间层的过程;
5)利用predict函数输出中间结果。
代码如下:
import tensorflow as tf
import numpy as np
# 构建模型
main_input = tf.keras.layers.Input(shape=(784,),dtype=tf.float32,name="main_input")
x = tf.keras.layers.Dense(128,activation="relu")(main_input)
x = tf.keras.layers.Dense(64,activation="relu")(x)
x = tf.kera