给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中Continue语句的用法的举例详解
May 14 Python
Python中urllib+urllib2+cookielib模块编写爬虫实战
Jan 20 Python
Python实现统计文本文件字数的方法
May 05 Python
tensorflow 获取变量&打印权值的实例讲解
Jun 14 Python
python 统计一个列表当中的每一个元素出现了多少次的方法
Nov 14 Python
python 顺时针打印矩阵的超简洁代码
Nov 14 Python
Python中的集合介绍
Jan 28 Python
django项目环境搭建及在虚拟机本地创建django项目的教程
Aug 02 Python
python用pip install时安装失败的一系列问题及解决方法
Feb 24 Python
python3获取控制台输入的数据的具体实例
Aug 16 Python
python爬取天气数据的实例详解
Nov 20 Python
用Python编写简单的gRPC服务的详细过程
Jul 04 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正则取img标记中任意属性(正则替换去掉或改变图片img标记中的任意属性)
2013/08/13 PHP
PHP加密扩展库Mcrypt安装和实例
2013/11/10 PHP
php 5.6版本中编写一个PHP扩展的简单示例
2015/01/20 PHP
PHP正则表达式匹配替换与分割功能实例浅析
2017/02/04 PHP
PHP的mysqli_sqlstate()函数讲解
2019/01/23 PHP
Yii框架分页技术实例分析
2019/08/30 PHP
jquery ajax提交表单数据的两种实现方法
2010/04/29 Javascript
parseInt parseFloat js字符串转换数字
2010/08/01 Javascript
如何用JavaScript动态呼叫函数(两种方式)
2013/05/03 Javascript
jquery鼠标停止移动事件
2013/12/21 Javascript
经过绑定元素时会多次触发mouseover和mouseout事件
2014/02/28 Javascript
jQuery使用fadeout实现元素渐隐效果的方法
2015/03/27 Javascript
javascript 判断两个日期之差的示例代码
2015/09/05 Javascript
JS控制弹出悬浮窗口(一览画面)的实例代码
2016/05/30 Javascript
原生 JS Ajax,GET和POST 请求实例代码
2016/06/08 Javascript
详解JavaScript中数组的reduce方法
2016/12/02 Javascript
js实现图片切换(动画版)
2016/12/25 Javascript
一篇看懂vuejs的状态管理神器 vuex状态管理模式
2017/04/20 Javascript
webpack 模块热替换原理
2018/04/09 Javascript
vue鼠标移入添加class样式,鼠标移出去除样式(active)实现方法
2018/08/22 Javascript
小程序数据通信方法大全(推荐)
2019/04/15 Javascript
对TypeScript库进行单元测试的方法
2019/07/18 Javascript
Layui选项卡制作历史浏览记录的方法
2019/09/28 Javascript
jQuery操作事件完整实例分析
2020/01/10 jQuery
[14:56]教你分分钟做大人:巫医
2014/10/30 DOTA
python使用paramiko模块通过ssh2协议对交换机进行配置的方法
2019/07/25 Python
Python closure闭包解释及其注意点详解
2019/08/28 Python
python RSA加密的示例
2020/12/09 Python
加拿大折扣、优惠券和交易网站:WagJag
2018/02/07 全球购物
2015年元旦活动总结
2014/05/09 职场文书
小学校园广播稿集锦
2014/10/04 职场文书
工作失职检讨书500字
2014/10/17 职场文书
让世界充满爱观后感
2015/06/10 职场文书
2015年中秋放假通知范文
2015/08/18 职场文书
保护环境建议书作文300字
2015/09/14 职场文书
抖音短视频(douyin)去水印工具的实现代码
2021/03/30 Javascript