基于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 相关文章推荐
Python3基础之条件与循环控制实例解析
Aug 13 Python
python if not in 多条件判断代码
Sep 21 Python
python 判断是否为正小数和正整数的实例
Jul 23 Python
使用EduBlock轻松学习Python编程
Oct 08 Python
浅析PyTorch中nn.Module的使用
Aug 18 Python
opencv实现简单人脸识别
Feb 19 Python
详解用Python进行时间序列预测的7种方法
Mar 13 Python
使用SQLAlchemy操作数据库表过程解析
Jun 10 Python
浅析Python __name__ 是什么
Jul 07 Python
python json.dumps() json.dump()的区别详解
Jul 14 Python
几款好用的python工具库(小结)
Oct 20 Python
Python编程源码报错解决方法总结经验分享
Oct 05 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
Apache 配置详解(最好的APACHE配置教程)
2010/07/04 PHP
mantis安装、配置和使用中的问题小结
2014/07/14 PHP
PHP实现的折半查询算法示例
2017/10/09 PHP
javascript HTMLEncode HTMLDecode的完整实例(兼容ie和火狐)
2009/06/02 Javascript
javascript 面向对象编程  function是方法(函数)
2009/09/17 Javascript
javascript中创建对象的三种常用方法
2010/12/30 Javascript
jquery 查找select ,并触发事件的实现代码
2011/03/30 Javascript
jquery中的 $("#jb51")与document.getElementById("jb51") 的区别
2011/07/26 Javascript
详解在Vue中通过自定义指令获取dom元素
2017/03/04 Javascript
Vue.js仿Metronic高级表格(一)静态设计
2017/04/17 Javascript
基于JavaScript实现评论框展开和隐藏功能
2017/08/25 Javascript
npm 更改默认全局路径以及国内镜像的方法
2018/05/16 Javascript
vue通过style或者class改变样式的实例代码
2018/10/30 Javascript
Vue2 添加数据可视化支持的方法步骤
2019/01/02 Javascript
vue+iview动态渲染表格详解
2019/03/19 Javascript
jquery实现动态改变css样式的方法分析
2019/05/27 jQuery
DatePickerDialog 自定义样式及使用全解
2019/07/09 Javascript
node命令行工具之实现项目工程自动初始化的标准流程
2019/08/12 Javascript
详解Python中 sys.argv[]的用法简明解释
2017/12/20 Python
python实现数据写入excel表格
2018/03/25 Python
python 集合 并集、交集 Series list set 转换的实例
2018/05/29 Python
Python基础教程之异常详解
2019/01/10 Python
Python时间和字符串转换操作实例分析
2019/03/16 Python
python3 pathlib库Path类方法总结
2019/12/26 Python
Django QuerySet查询集原理及代码实例
2020/06/13 Python
Python数据相关系数矩阵和热力图轻松实现教程
2020/06/16 Python
python实现定时发送邮件到指定邮箱
2020/12/23 Python
个人找工作的自我评价
2013/10/17 职场文书
《草原的早晨》教学反思
2014/04/08 职场文书
小学生寒假家长评语
2014/04/16 职场文书
文明演讲稿范文
2014/05/12 职场文书
学校学雷锋活动总结
2014/06/26 职场文书
2015年大学班主任工作总结
2015/04/30 职场文书
学子宴致辞大全
2015/07/27 职场文书
优质服务心得体会(共4篇)
2016/01/22 职场文书
《游戏王:大师决斗》新活动上线 若无符合卡组可免费租用
2022/04/13 其他游戏