基于keras输出中间层结果的2种实现方式


Posted in Python onJanuary 24, 2020

1、使用函数模型API,新建一个model,将输入和输出定义为原来的model的输入和想要的那一层的输出,然后重新进行predict.

#coding=utf-8
import seaborn as sbn
import pylab as plt
import theano
from keras.models import Sequential
from keras.layers import Dense,Activation
 
 
from keras.models import Model
 
model = Sequential()
model.add(Dense(32, activation='relu', input_dim=100))
model.add(Dense(16, activation='relu',name="Dense_1"))
model.add(Dense(1, activation='sigmoid',name="Dense_2"))
model.compile(optimizer='rmsprop',
    loss='binary_crossentropy',
    metrics=['accuracy'])
 
# Generate dummy data
import numpy as np
#假设训练和测试使用同一组数据
data = np.random.random((1000, 100))
labels = np.random.randint(2, size=(1000, 1))
 
# Train the model, iterating on the data in batches of 32 samples
model.fit(data, labels, epochs=10, batch_size=32)
#已有的model在load权重过后
#取某一层的输出为输出新建为model,采用函数模型
dense1_layer_model = Model(inputs=model.input,
          outputs=model.get_layer('Dense_1').output)
#以这个model的预测值作为输出
dense1_output = dense1_layer_model.predict(data)
 
print dense1_output.shape
print dense1_output[0]

2、因为我的后端是使用的theano,所以还可以考虑使用theano的函数:

#这是一个theano的函数
dense1 = theano.function([model.layers[0].input],model.layers[1].output,allow_input_downcast=True)
dense1_output = dense1(data) #visualize these images's FC-layer feature
print dense1_output[0]

效果应该是一样的。

以上这篇基于keras输出中间层结果的2种实现方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python多线程http下载实现示例
Dec 30 Python
Python算法之栈(stack)的实现
Aug 18 Python
Python中利用函数装饰器实现备忘功能
Mar 30 Python
Python版微信红包分配算法
May 04 Python
Python实现文件按照日期命名的方法
Jul 09 Python
Python实现各种排序算法的代码示例总结
Dec 11 Python
python中如何使用正则表达式的集合字符示例
Oct 09 Python
python中csv文件的若干读写方法小结
Jul 04 Python
Python Request爬取seo.chinaz.com百度权重网站的查询结果过程解析
Aug 13 Python
Python count函数使用方法实例解析
Mar 23 Python
Python使用Pyqt5实现简易浏览器(最新版本测试过)
Apr 27 Python
Python程序慢的重要原因
Sep 04 Python
tensorflow 保存模型和取出中间权重例子
Jan 24 #Python
tensorflow 模型权重导出实例
Jan 24 #Python
在Tensorflow中查看权重的实现
Jan 24 #Python
tensorflow求导和梯度计算实例
Jan 23 #Python
Tensorflow的梯度异步更新示例
Jan 23 #Python
在Tensorflow中实现梯度下降法更新参数值
Jan 23 #Python
Tensorflow实现部分参数梯度更新操作
Jan 23 #Python
You might like
PHP FTP操作类代码( 上传、拷贝、移动、删除文件/创建目录)
2014/05/10 PHP
浅析THINKPHP的addAll支持的最大数据量
2015/02/03 PHP
PHP实现简单的协程任务调度demo示例
2020/02/01 PHP
云网广告中的代码,提示出错,大家找找
2006/11/21 Javascript
JQuery中form验证出错信息的查看方法
2013/10/08 Javascript
浅析javascript中function 的 length 属性
2014/05/27 Javascript
Javascript获取表单名称(name)的方法
2015/04/02 Javascript
js带前后翻页的图片切换效果代码分享
2015/09/08 Javascript
详解jQuery插件开发方式
2016/11/22 Javascript
Angularjs+bootstrap+table多选(全选)支持单击行选中实现编辑、删除功能
2017/03/27 Javascript
NodeJs的fs读写删除移动监听
2017/04/28 NodeJs
微信小程序使用checkbox显示多项选择框功能【附源码下载】
2017/12/11 Javascript
nodejs的路径问题的解决
2018/06/30 NodeJs
React中嵌套组件与被嵌套组件的通信过程
2018/07/11 Javascript
快速解决处理后台返回json数据格式的问题
2018/08/07 Javascript
JavaScript事件发布/订阅模式原理与用法分析
2018/08/21 Javascript
浅谈高大上的微信小程序中渲染html内容—技术分享
2018/10/25 Javascript
Jquery和CSS实现选择框重置按钮功能
2018/11/08 jQuery
python3.6使用tkinter实现弹跳小球游戏
2019/05/09 Python
Django框架会话技术实例分析【Cookie与Session】
2019/05/24 Python
Python中的延迟绑定原理详解
2019/10/11 Python
详解python破解zip文件密码的方法
2020/01/13 Python
python实现逆滤波与维纳滤波示例
2020/02/26 Python
keras训练浅层卷积网络并保存和加载模型实例
2020/07/02 Python
python 装饰器的基本使用
2021/01/13 Python
python实现发送邮件
2021/03/02 Python
雅虎笔试题(字符串操作)
2015/03/24 面试题
如何通过jdbc调用存储过程
2012/04/19 面试题
市场开发与营销专业求职信
2013/12/31 职场文书
冰淇淋店的创业计划书
2014/02/07 职场文书
中共广东省委常委会党的群众路线教育实践活动整改方案
2014/09/23 职场文书
2014年平安建设工作总结
2014/11/19 职场文书
举起手来观后感
2015/06/09 职场文书
四大名著读书笔记
2015/06/25 职场文书
《司马光》教学反思
2016/02/22 职场文书
纯CSS实现一个简单步骤条的示例代码
2022/07/15 HTML / CSS