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

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

keras是一个高度封装的语言,使用它搭建的网络相当于一个汉堡包结构,即只需设计网络层数,以及各层网络中的参数便可得到一个网络模型。
在这里插入图片描述
搭建好网络之后只需要 model.fit 即可进行正反向传播,训练网络。

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

在这里插入图片描述
例如我们想获得前向传播后的第一层卷积层(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。可以是一个数据也可以是一个数据集,只不过最后返回的结果有区别。
在这里插入图片描述
这样即可查看conv1d_1层前向输出的结果。

发布了55 篇原创文章 · 获赞 76 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_42826337/article/details/103705646
今日推荐