给keras层命名,并提取中间层输出值,保存到文档的实例


Posted in Python onMay 23, 2020

更新:

感谢评论区提供的方案。

采用model.summary(),model.get_config()和for循环均可获得Keras的层名。

示例如下图

给keras层命名,并提取中间层输出值,保存到文档的实例

对于keras特定层的命名,只需在层内添加 name 即可

model.add(Activation('softmax',name='dense_1') )  # 注意 name 要放于函数内

#提取中间层
from keras.models import Model
import keras
layer_name = 'dense_1' #获取层的名称
intermediate_layer_model = Model(inputs=model.input, 
         outputs=model.get_layer(layer_name).output)#创建的新模型
intermediate_output = intermediate_layer_model.predict(X_test)

doc = open(r'C://Users//CCUT04//Desktop//1.txt','w')
for i in intermediate_output:
 print(i)
 print(i , file = doc)
doc.close()

补充知识:关于用keras提取NN中间layer输出

Build model...
__________________________________________________________________________________________________
Layer (type)     Output Shape   Param #  Connected to      
==================================================================================================
main_input (InputLayer)   (None, 89, 39)  0           
__________________________________________________________________________________________________
cropping1d_1 (Cropping1D)  (None, 85, 39)  0   main_input[0][0]     
__________________________________________________________________________________________________
cropping1d_2 (Cropping1D)  (None, 85, 39)  0   main_input[0][0]     
__________________________________________________________________________________________________
cropping1d_3 (Cropping1D)  (None, 85, 39)  0   main_input[0][0]     
__________________________________________________________________________________________________
cropping1d_4 (Cropping1D)  (None, 85, 39)  0   main_input[0][0]     
__________________________________________________________________________________________________
cropping1d_5 (Cropping1D)  (None, 85, 39)  0   main_input[0][0]     
__________________________________________________________________________________________________
concatenate_1 (Concatenate)  (None, 85, 195)  0   cropping1d_1[0][0]    
                 cropping1d_2[0][0]    
                 cropping1d_3[0][0]    
                 cropping1d_4[0][0]    
                 cropping1d_5[0][0]    
__________________________________________________________________________________________________
fc1 (BatchNormalization)  (None, 85, 195)  780   concatenate_1[0][0]    
__________________________________________________________________________________________________
fc2 (Bidirectional)    (None, 85, 2048)  9994240  fc1[0][0]      
__________________________________________________________________________________________________
fc3 (BatchNormalization)  (None, 85, 2048)  8192  fc2[0][0]      
__________________________________________________________________________________________________
global_average_pooling1d_1 (Glo (None, 2048)   0   fc3[0][0]      
__________________________________________________________________________________________________
main_output (Dense)    (None, 2)   4098  global_average_pooling1d_1[0][0] 
==================================================================================================
Total params: 10,007,310
Trainable params: 10,002,824
Non-trainable params: 4,486
__________________________________________________________________________________________________

假设我网络层数是上面这个结构.

如果我想得到pooling的输出, keras上有两张方法。

intermediate_layer_model = Model(inputs=model.input,outputs=model.get_layer(str('global_average_pooling1d_1')).output)
#model.summary()
#model.get_layer(str('cropping1d_1'))
intermediate_output = intermediate_layer_model.predict(data)

data是你的输入所用的数据....

from keras import backend as K
get_11rd_layer_output = K.function([model.layers[0].input],
         [model.layers[10].output])
layer_output = get_11rd_layer_output([data])[0]

我这里第10层是Pooling层.

这两个代码的output是一样的..

一般我看人用的都是第二个...

以上这篇给keras层命名,并提取中间层输出值,保存到文档的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 文件操作实现代码
Oct 07 Python
Django框架中数据的连锁查询和限制返回数据的方法
Jul 17 Python
Python优化技巧之利用ctypes提高执行速度
Sep 11 Python
Python列表切片用法示例
Apr 19 Python
Python中摘要算法MD5,SHA1简介及应用实例代码
Jan 09 Python
python如何生成网页验证码
Jul 28 Python
python 把列表转化为字符串的方法
Oct 23 Python
Python3 文章标题关键字提取的例子
Aug 26 Python
python或C++读取指定文件夹下的所有图片
Aug 31 Python
Python实现新型冠状病毒传播模型及预测代码实例
Feb 05 Python
PyCharm刷新项目(文件)目录的实现
Feb 14 Python
python调用win32接口进行截图的示例
Nov 11 Python
keras小技巧——获取某一个网络层的输出方式
May 23 #Python
keras自定义回调函数查看训练的loss和accuracy方式
May 23 #Python
Keras设定GPU使用内存大小方式(Tensorflow backend)
May 22 #Python
tensorflow使用L2 regularization正则化修正overfitting过拟合方式
May 22 #Python
Softmax函数原理及Python实现过程解析
May 22 #Python
Python接口测试文件上传实例解析
May 22 #Python
计算Python Numpy向量之间的欧氏距离实例
May 22 #Python
You might like
php db类库进行数据库操作
2009/03/19 PHP
ini_set的用法介绍
2014/01/07 PHP
php实现的九九乘法口诀表简洁版
2014/07/28 PHP
PHP中设置一个严格30分钟过期Session面试题的4种答案
2014/07/30 PHP
微信公众平台消息接口校验与消息接口响应实例
2014/12/23 PHP
jquery中对表单的基本操作代码
2010/07/29 Javascript
button没写type=button会导致点击时提交
2014/03/06 Javascript
我用的一些Node.js开发工具、开发包、框架等总结
2014/09/25 Javascript
jQuery post数据至ashx实例详解
2016/11/18 Javascript
正则中的回溯定义与用法分析【JS与java实现】
2016/12/27 Javascript
浅谈pc端rem字体设置的问题
2017/08/03 Javascript
一步步教你利用Canvas对图片进行处理
2017/09/19 Javascript
Node.Js生成比特币地址代码解析
2018/04/21 Javascript
vue使用自定义指令实现拖拽
2021/01/29 Javascript
Vue中正确使用Element-UI组件的方法实例
2020/10/13 Javascript
[01:46]辉夜杯—打造中国DOTA新格局
2015/12/25 DOTA
[48:12]Secret vs Optic Supermajor 胜者组 BO3 第三场 6.4
2018/06/05 DOTA
[56:57]LGD vs VP 2019DOTA2国际邀请赛淘汰赛 胜者组赛BO3 第一场 8.20.mp4
2019/08/22 DOTA
跟老齐学Python之折腾一下目录
2014/10/24 Python
Python二叉树的定义及常用遍历算法分析
2017/11/24 Python
python实现校园网自动登录的示例讲解
2018/04/22 Python
tensorflow: 查看 tensor详细数值方法
2018/06/13 Python
浅谈Python traceback的优雅处理
2018/08/31 Python
Python文件操作中进行字符串替换的方法(保存到新文件/当前文件)
2019/06/28 Python
python线程中的同步问题及解决方法
2019/08/29 Python
django自定义非主键自增字段类型详解(auto increment field)
2020/03/30 Python
Python多线程实现支付模拟请求过程解析
2020/04/21 Python
快速了解Python开发环境Spyder
2020/06/29 Python
浅析Python 简单工厂模式和工厂方法模式的优缺点
2020/07/13 Python
在django中查询获取数据,get, filter,all(),values()操作
2020/08/09 Python
优秀党员转正的自我评价
2013/10/06 职场文书
JAVA程序员自荐书
2014/01/30 职场文书
幼儿园五一活动方案
2014/02/07 职场文书
小学生家长意见
2015/06/03 职场文书
学校就业保障协议书
2019/06/24 职场文书
MySQL事务的隔离级别详情
2022/07/15 MySQL