Python-深度学习-学习笔记(21):如何查看keras前向传播中某一层输出结果

Python-深度学习-学习笔记(21):如何查看keras前向传播中某一层输出结果

keras是一个高度封装的语言,使用它搭建的网络相当于一个汉堡包结构,即只需设计网络层数,以及各层网络中的参数便可得到一个网络模型。
Python-深度学习-学习笔记(21):如何查看keras前向传播中某一层输出结果_第1张图片
搭建好网络之后只需要 model.fit 即可进行正反向传播,训练网络。

但是如何获取中间的输出结果呢?

Python-深度学习-学习笔记(21):如何查看keras前向传播中某一层输出结果_第2张图片
例如我们想获得前向传播后的第一层卷积层(conv1d_1)输出的结果:

(1)首先要先将训练好的模型进行保存:

#模型保存
model.save('pathname')

(2)加载模型:

#模型加载
from keras.models import load_model
model = load_model('pathname')

(3)获取某层前向输出结果

from keras.models import Model
#生成函数模型
intermediate_layer_model = Model(inputs=model.input,outputs=model.get_layer('conv1d_1').output)
#导出中间结果
conv1d_1=intermediate_layer_model.predict(data)

此处get_layer后输入要查看的层名称conv1d_1
predict后面输入要用于前向传播的数据data。可以是一个数据也可以是一个数据集,只不过最后返回的结果有区别。
Python-深度学习-学习笔记(21):如何查看keras前向传播中某一层输出结果_第3张图片
这样即可查看conv1d_1层前向输出的结果。

你可能感兴趣的:(Python系列,keras,tensorflow,深度学习)