基于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实现telnet客户端的方法
Apr 15 Python
python自动12306抢票软件实现代码
Feb 24 Python
mac下如何将python2.7改为python3
Jul 13 Python
opencv python 傅里叶变换的使用
Jul 21 Python
Python从数据库读取大量数据批量写入文件的方法
Dec 10 Python
Python 使用folium绘制leaflet地图的实现方法
Jul 05 Python
浅析PEP570新语法: 只接受位置参数
Oct 15 Python
nginx搭建基于python的web环境的实现步骤
Jan 03 Python
Tensorflow中tf.ConfigProto()的用法详解
Feb 06 Python
python实现图片,视频人脸识别(dlib版)
Nov 18 Python
opencv实现图像几何变换
Mar 24 Python
关于python3 opencv 图像二值化的问题(cv2.adaptiveThreshold函数)
Apr 04 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
详解:――如何将图片储存在数据库里
2006/12/05 PHP
给php新手谈谈我的学习心得
2007/02/25 PHP
php生成图形验证码几种方法小结
2013/08/15 PHP
Laravel执行migrate命令提示:No such file or directory的解决方法
2016/03/16 PHP
关于PHP中interface的用处详解
2020/07/26 PHP
jQuery-onload让第一次页面加载时图片是淡入方式显示
2012/05/23 Javascript
解决自定义$(id)的方法与jquery选择器$冲突的问题
2014/06/14 Javascript
如何在Linux上安装Node.js
2016/04/01 Javascript
jquery显示隐藏元素的实现代码
2016/05/19 Javascript
深入理解jquery中extend的实现
2016/12/22 Javascript
通过源码分析Vue的双向数据绑定详解
2017/09/24 Javascript
nodejs实现OAuth2.0授权服务认证
2017/12/27 NodeJs
node中的密码安全(加密)
2018/09/17 Javascript
Vue 组件修改根实例的数据的方法
2019/04/02 Javascript
JSX在render函数中的应用详解
2019/09/04 Javascript
微信小程序 wx:for遍历循环使用实例解析
2019/09/09 Javascript
Vue简单封装axios之解决post请求后端接收不到参数问题
2020/02/16 Javascript
[02:32]DOTA2亚洲邀请赛 VG战队巡礼
2015/02/03 DOTA
[01:51]2018年度CS GO最具人气外援-完美盛典
2018/12/16 DOTA
python使用rsa加密算法模块模拟新浪微博登录
2014/01/22 Python
Python中让MySQL查询结果返回字典类型的方法
2014/08/22 Python
python对html代码进行escape编码的方法
2015/05/04 Python
Python随机生成信用卡卡号的实现方法
2015/05/14 Python
django的ORM模型的实现原理
2019/03/04 Python
python爬虫爬取监控教务系统的思路详解
2020/01/08 Python
几款Python编译器比较与推荐(小结)
2020/10/15 Python
HTML5之SVG 2D入门9—蒙板及mask元素介绍与应用
2013/01/30 HTML / CSS
Canvas图片分割效果的实现
2019/07/29 HTML / CSS
公关关系专员的自我评价分享
2013/11/20 职场文书
建筑系毕业生自我鉴定
2014/01/24 职场文书
教师师德演讲稿
2014/05/06 职场文书
2015年党员自评材料
2014/12/17 职场文书
表扬稿格式范文
2015/01/16 职场文书
撤诉状格式范本
2015/05/19 职场文书
员工担保书范本
2015/09/22 职场文书
mongodb数据库迁移变更的解决方案
2021/09/04 MongoDB