基于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登录Dr.com思路以及代码分享
Jun 25 Python
一道python走迷宫算法题
Jan 22 Python
对Python中DataFrame按照行遍历的方法
Apr 08 Python
Python 判断图像是否读取成功的方法
Jan 26 Python
python实现单链表的方法示例
Sep 03 Python
详解Windows下PyCharm安装Numpy包及无法安装问题解决方案
Jun 18 Python
Python常用外部指令执行代码实例
Nov 05 Python
Pytorch实验常用代码段汇总
Nov 19 Python
Selenium环境变量配置(火狐浏览器)及验证实现
Dec 07 Python
pycharm 配置svn的图文教程(手把手教你)
Jan 15 Python
Python中lru_cache的使用和实现详解
Jan 25 Python
在python中读取和写入CSV文件详情
Jun 28 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实现图形显示Ip地址的代码及注释
2014/01/20 PHP
PHP判断远程图片是否存在的几种方法
2014/05/04 PHP
高质量PHP代码的50个实用技巧必备(下)
2016/01/22 PHP
PHP之将POST数据转化为字符串的实现代码
2016/11/03 PHP
使用按钮控制以何种方式打开新窗口的属性介绍
2012/12/17 Javascript
自己编写的类似JS的trim方法
2013/10/09 Javascript
JavaScript随机生成信用卡卡号的方法
2015/04/07 Javascript
Node.js和Express简单入门介绍
2017/03/24 Javascript
MUI 解决动态列表页图片懒加载再次加载不成功的bug问题
2017/04/13 Javascript
快速使用node.js进行web开发详解
2017/04/26 Javascript
浅谈ajax请求不同页面的微信JSSDK问题
2018/02/26 Javascript
node 命令方式启动修改端口的方法
2018/05/12 Javascript
jQuery选择器之基本过滤选择器用法实例分析
2019/02/19 jQuery
js控制随机数生成概率代码实例
2019/03/21 Javascript
jQuery动态生成的元素绑定事件操作实例分析
2019/05/04 jQuery
Bootstrap告警框(alert)实现弹出效果和短暂显示后上浮消失的示例代码
2020/08/27 Javascript
mustache.js实现首页元件动态渲染的示例代码
2020/12/28 Javascript
[04:42]2015国际邀请赛CDEC战队晋级之路
2015/08/13 DOTA
[46:40]VGJ.T vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
python三元运算符实现方法
2013/12/17 Python
Django框架中render_to_response()函数的使用方法
2015/07/16 Python
详解Python使用simplejson模块解析JSON的方法
2016/03/24 Python
深入理解python中的闭包和装饰器
2016/06/12 Python
Python 提取dict转换为xml/json/table并输出的实现代码
2016/08/28 Python
Python使用matplotlib实现基础绘图功能示例
2018/07/03 Python
Python实现的微信红包提醒功能示例
2019/08/22 Python
使用Python封装excel操作指南
2021/01/29 Python
澳大利亚排名第一的狂热牛仔品牌:ONETEASPOON
2018/11/20 全球购物
西班牙最好的在线购买葡萄酒的商店:Vinoseleccion
2019/10/30 全球购物
总会计师岗位职责
2014/02/19 职场文书
2014年师德承诺书
2014/05/23 职场文书
2015学校年度工作总结
2015/05/11 职场文书
2015年重阳节主持词
2015/07/04 职场文书
Java并发编程之原子性-Atomic的使用
2022/03/16 Java/Android
golang用type-switch判断interface的实际存储类型
2022/04/14 Golang
windows系统搭建WEB服务器详细教程
2022/08/05 Servers