给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中Selenium模拟JQuery滑动解锁实例
Jul 26 Python
Python 和 JS 有哪些相同之处
Nov 23 Python
浅析python协程相关概念
Jan 20 Python
pyqt5的QWebEngineView 使用模板的方法
Aug 18 Python
详解从Django Rest Framework响应中删除空字段
Jan 11 Python
聊聊python里如何用Borg pattern实现的单例模式
Jun 06 Python
Appium+python自动化之连接模拟器并启动淘宝APP(超详解)
Jun 17 Python
Django admin禁用编辑链接和添加删除操作详解
Nov 15 Python
Python selenium 自动化脚本打包成一个exe文件(推荐)
Jan 14 Python
Python中的With语句的使用及原理
Jul 29 Python
Python数据可视化之绘制柱状图和条形图
May 25 Python
python自动化测试之Selenium详解
Mar 13 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 Memcached应用实现代码
2010/02/08 PHP
php简单实现多维数组排序的方法
2016/09/30 PHP
javascript中将Object转换为String函数代码 (json str)
2012/04/29 Javascript
Extjs4 消息框去掉关闭按钮(类似Ext.Msg.alert)
2013/04/02 Javascript
开发 Internet Explorer 右键功能表(ContextMenu)
2013/07/03 Javascript
js改变Iframe中Src的方法
2015/05/05 Javascript
javascript检查浏览器是否已经启用XX功能
2015/07/10 Javascript
JS功能代码集锦
2016/05/04 Javascript
利用D3.js实现最简单的柱状图示例代码
2016/12/09 Javascript
微信小程序之网络请求简单封装实例详解
2017/06/28 Javascript
angular 服务的单例模式(依赖注入模式下)详解
2018/10/22 Javascript
解决微信小程序scroll-view组件无横向滚动的问题
2020/02/04 Javascript
js实现带箭头的进度流程
2020/03/26 Javascript
Element Carousel 走马灯的具体实现
2020/07/26 Javascript
如何处理Python3.4 使用pymssql 乱码问题
2016/01/08 Python
Python实例一个类背后发生了什么
2016/02/09 Python
Python读大数据txt
2016/03/28 Python
在CMD命令行中运行python脚本的方法
2018/05/12 Python
对python添加模块路径的三种方法总结
2018/10/16 Python
python单向链表的基本实现与使用方法【定义、遍历、添加、删除、查找等】
2019/10/24 Python
python读取csv文件指定行的2种方法详解
2020/02/13 Python
PySide2出现“ImportError: DLL load failed: 找不到指定的模块”的问题及解决方法
2020/06/10 Python
如何基于Python爬取隐秘的角落评论
2020/07/02 Python
用Python 执行cmd命令
2020/12/18 Python
Python如何实现Paramiko的二次封装
2021/01/30 Python
阿迪达斯香港官网:adidas香港
2019/11/09 全球购物
技校毕业生个人学习的自我评价
2014/02/21 职场文书
同居协议书范本
2014/04/23 职场文书
2015年国庆放假通知范文
2015/08/18 职场文书
反邪教教育心得体会
2016/01/15 职场文书
2016廉洁教育心得体会
2016/01/20 职场文书
有关保护环境的宣传标语100条
2019/08/07 职场文书
JavaScript数组 几个常用方法总结
2021/11/11 Javascript
css常用字体属性与背景属性介绍
2022/02/28 HTML / CSS
python 使用tkinter与messagebox写界面和弹窗
2022/03/20 Python
JavaScript模拟实现网易云轮播效果
2022/04/04 Javascript