基于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读写ini文件示例(python读写文件)
Mar 25 Python
粗略分析Python中的内存泄漏
Apr 23 Python
在Mac OS系统上安装Python的Pillow库的教程
Nov 20 Python
整理Python 常用string函数(收藏)
May 30 Python
python 把文件中的每一行以数组的元素放入数组中的方法
Apr 29 Python
django1.11.1 models 数据库同步方法
May 30 Python
python K近邻算法的kd树实现
Sep 06 Python
WxPython建立批量录入框窗口
Feb 27 Python
python文件读取失败怎么处理
Jun 23 Python
详解如何在pyqt中通过OpenCV实现对窗口的透视变换
Sep 20 Python
python scrapy简单模拟登录的代码分析
Jul 21 Python
python 闭包函数详细介绍
Apr 19 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
ajax php 实现写入数据库
2009/09/02 PHP
php中filter_input函数用法分析
2014/11/15 PHP
zend framework中使用memcache的方法
2016/03/04 PHP
YII2框架中使用yii.js实现的post请求
2017/04/09 PHP
PHP用户注册邮件激活账户的实现代码
2017/05/31 PHP
PHP实现统计所有字符在字符串中出现次数的方法
2017/10/17 PHP
用javascript获取当页面上鼠标光标位置和触发事件的对象的代码
2009/12/09 Javascript
checkbox全选所涉及到的知识点介绍
2013/12/31 Javascript
jQuery+css实现百度百科的页面导航效果
2014/12/16 Javascript
JS实现黑色大气的二级导航菜单效果
2015/09/18 Javascript
jQuery实现form表单元素序列化为json对象的方法
2015/12/09 Javascript
javascript实现checkbox复选框实例代码
2016/01/10 Javascript
jQuery实现产品对比功能附源码下载
2016/08/09 Javascript
easyUI实现类似搜索框关键词自动提示功能示例代码
2016/12/27 Javascript
浅谈$_FILES数组为空的原因
2017/02/16 Javascript
使用mint-ui开发项目的一些心得(分享)
2017/09/07 Javascript
javascript回调函数详解
2018/02/06 Javascript
微信网页授权并获取用户信息的方法
2018/07/30 Javascript
详解Node.js读写中文内容文件操作
2018/10/10 Javascript
Angular 2使用路由自定义弹出组件toast操作示例
2019/05/10 Javascript
微信小程序 自定义弹窗实现过程(附代码)
2019/12/05 Javascript
微信小程序完美解决scroll-view高度自适应问题的方法
2020/08/08 Javascript
Python selenium如何设置等待时间
2016/09/15 Python
基于并发服务器几种实现方法(总结)
2017/12/29 Python
用python3 urllib破解有道翻译反爬虫机制详解
2019/08/14 Python
HTML5 body设置全屏背景图片的示例代码
2020/12/08 HTML / CSS
英国泽西岛植物:Jersey Plants Direct
2019/08/07 全球购物
写出程序把一个链表中的接点顺序倒排
2014/04/28 面试题
酒店服务与管理毕业生求职信
2013/11/02 职场文书
企业总经理任命书
2014/06/05 职场文书
部门优秀员工推荐信
2015/03/24 职场文书
保险内勤岗位职责
2015/04/13 职场文书
民事调解书范文
2015/05/20 职场文书
redis数据结构之压缩列表
2022/03/21 Redis
在NumPy中深拷贝和浅拷贝相关操作的定义和背后的原理
2022/04/14 Python
码云(gitee)通过git自动同步到阿里云服务器
2022/12/24 Servers