基于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的Django框架中TEMPLATES项的设置教程
May 29 Python
Python实现邮件的批量发送的示例代码
Jan 23 Python
对Python 3.2 迭代器的next函数实例讲解
Oct 18 Python
python 与服务器的共享文件夹交互方法
Dec 27 Python
Django框架表单操作实例分析
Nov 04 Python
python:目标检测模型预测准确度计算方式(基于IoU)
Jan 18 Python
对tensorflow中tf.nn.conv1d和layers.conv1d的区别详解
Feb 11 Python
Python实现自动打开电脑应用的示例代码
Apr 17 Python
Keras 实现加载预训练模型并冻结网络的层
Jun 15 Python
Python使用jpype模块调用jar包过程解析
Jul 29 Python
详解Pandas 处理缺失值指令大全
Jul 30 Python
Python&Matlab实现灰狼优化算法的示例代码
Mar 21 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
dvwa+xampp搭建显示乱码的问题及解决方案
2015/08/23 PHP
使用ThinkPHP的自动完成实现无限级分类实例详解
2016/09/02 PHP
PHP入门教程之PHP操作MySQL的方法分析
2016/09/11 PHP
php  单例模式详细介绍及实现源码
2016/11/05 PHP
php 魔术常量详解及实例代码
2016/12/04 PHP
Zend Framework数据库操作技巧总结
2017/02/18 PHP
PHP文件系统管理(实例讲解)
2017/09/19 PHP
微信小程序发送订阅消息的方法(php 为例)
2019/10/30 PHP
PHP使用gearman进行异步的邮件或短信发送操作详解
2020/02/27 PHP
javascript-TreeView父子联动效果保持节点状态一致
2007/08/12 Javascript
js实现GridView单选效果自动设置交替行、选中行、鼠标移动行背景色
2010/05/27 Javascript
网页中CDATA标记的说明
2010/09/12 Javascript
jquery获取一个元素下面相同子元素的个数代码
2014/07/31 Javascript
jquery.uploadify插件在chrome浏览器频繁崩溃解决方法
2015/03/01 Javascript
jQuery实现给页面换肤的方法
2015/05/30 Javascript
Javascript中setTimeOut和setInterval的定时器用法
2015/06/12 Javascript
jquery实现的淡入淡出下拉菜单效果
2015/08/25 Javascript
JS简单获取客户端IP地址的方法【调用搜狐接口】
2016/09/05 Javascript
使用JavaScript获取Request中参数的值方法
2016/09/27 Javascript
JSON创建键值对(key是中文或者数字)方式详解
2017/08/24 Javascript
Nodejs+express+ejs简单使用实例代码
2017/09/18 NodeJs
Element输入框带历史查询记录的实现示例
2019/01/15 Javascript
JavaScript ES6常用基础知识总结
2019/02/09 Javascript
js实现通过开始结束控制的计时器
2019/02/25 Javascript
详解一些适用于Node.js的命名约定
2019/12/08 Javascript
如何搜索查找并解决Django相关的问题
2014/06/30 Python
Python访问纯真IP数据库脚本分享
2015/06/29 Python
举例讲解Python中的Null模式与桥接模式编程
2016/02/02 Python
Python实现的微信公众号群发图片与文本消息功能实例详解
2017/06/30 Python
python的pyecharts绘制各种图表详细(附代码)
2019/11/11 Python
个人求职简历的自我评价范文
2013/10/09 职场文书
优秀应届毕业生自荐书
2014/06/29 职场文书
办理收楼委托书范本
2014/10/09 职场文书
监察建议书
2015/02/04 职场文书
文案策划岗位职责
2015/02/11 职场文书
《哪吒之魔童降世》观后感:世上哪有随随便便的成功
2019/11/08 职场文书