基于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基础教程之Hello World!
Aug 29 Python
Python复制目录结构脚本代码分享
Mar 06 Python
Python基础中所出现的异常报错总结
Nov 19 Python
python去掉空白行的多种实现代码
Mar 19 Python
python3+PyQt5图形项的自定义和交互 python3实现page Designer应用程序
Jul 20 Python
利用Python在一个文件的头部插入数据的实例
May 02 Python
Python3.6实现连接mysql或mariadb的方法分析
May 18 Python
Python3实现转换Image图片格式
Jun 21 Python
如何使用selenium和requests组合实现登录页面
Feb 03 Python
Python3.7黑帽编程之病毒篇(基础篇)
Feb 04 Python
手把手教你如何用Pycharm2020.1.1配置远程连接的详细步骤
Aug 07 Python
Pycharm中如何关掉python console
Oct 27 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
NOD32 v2.70.32 简体中文封装版 提供下载了
2007/02/27 PHP
php比较两个绝对时间的大小
2014/01/31 PHP
PHP间隔一段时间执行代码的方法
2014/12/02 PHP
PHP CURL或file_get_contents获取网页标题的代码及两者效率的稳定性问题
2015/11/30 PHP
yii2中的rules 自定义验证规则详解
2016/04/19 PHP
微信自定义分享php代码分析
2016/11/24 PHP
PHP常用的三种设计模式
2017/02/17 PHP
Win10 下安装配置IIS + MySQL + nginx + php7.1.7
2017/08/04 PHP
PHP保存Base64图片base64_decode的问题整理
2019/11/04 PHP
不要小看注释掉的JS 引起的安全问题
2008/12/27 Javascript
JavaScript 变量基础知识
2009/11/07 Javascript
JavaScript为对象原型prototype添加属性的两种方式
2010/08/01 Javascript
使用JQ来编写最基本的淡入淡出效果附演示动画
2014/10/31 Javascript
js实现动画特效的文字链接鼠标悬停提示的方法
2015/03/02 Javascript
js实现延迟加载的方法
2015/06/24 Javascript
jQuery实现商品活动倒计时
2015/10/16 Javascript
JS基于VML技术实现的五角星礼花效果代码
2015/10/26 Javascript
node.JS md5加密中文与php结果不一致的解决方法
2017/05/05 Javascript
使用 Node.js 对文本内容分词和关键词抽取
2017/05/27 Javascript
JavaScript基于activexobject连接远程数据库SQL Server 2014的方法
2017/07/12 Javascript
微信小程序实现折叠展开效果
2018/07/19 Javascript
微信小程序实现自动定位功能
2018/10/31 Javascript
[01:07:46]完美世界DOTA2联赛循环赛 Magma vs IO BO2第二场 11.01
2020/11/02 DOTA
Python中的装饰器用法详解
2015/01/14 Python
Python实现从脚本里运行scrapy的方法
2015/04/07 Python
Python守护进程用法实例分析
2015/06/04 Python
详解Python中open()函数指定文件打开方式的用法
2016/06/04 Python
pandas实现DataFrame显示最大行列,不省略显示实例
2019/12/26 Python
Python标准库itertools的使用方法
2020/01/17 Python
轻松掌握CSS3中的字体大小单位rem的使用方法
2016/05/24 HTML / CSS
俄罗斯最大的消费电子连锁零售商:Mvideo
2017/06/25 全球购物
专科毕业生自我鉴定
2013/12/01 职场文书
科级干部考察材料
2014/02/15 职场文书
安全事故隐患排查治理制度
2015/08/05 职场文书
2017春节晚会开幕词
2016/03/03 职场文书
Go语言带缓冲的通道实现
2021/04/26 Golang