基于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列表操作实例
Jan 14 Python
python分析网页上所有超链接的方法
May 08 Python
在Python中用split()方法分割字符串的使用介绍
May 20 Python
利用python模拟实现POST请求提交图片的方法
Jul 25 Python
Python字典及字典基本操作方法详解
Jan 30 Python
python设置值及NaN值处理方法
Jul 03 Python
Python基于plotly模块实现的画图操作示例
Jan 23 Python
利用Python+阿里云实现DDNS动态域名解析的方法
Apr 01 Python
Python中IP地址处理IPy模块的方法
Aug 16 Python
python tkinter之顶层菜单、弹出菜单实例
Mar 04 Python
屏蔽Django admin界面添加按钮的操作
Mar 11 Python
Python requests用法和django后台处理详解
Mar 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
PHP二维数组的去重问题解析
2011/07/17 PHP
基于PHP常用文件函数和目录函数整理
2017/08/17 PHP
详解PHP 7.4 中数组延展操作符语法知识点
2019/07/19 PHP
laravel框架数据库配置及操作数据库示例
2019/10/10 PHP
合并table相同单元格的jquery插件分享(很精简)
2011/06/20 Javascript
基于jquery跨浏览器显示的file上传控件
2011/10/24 Javascript
jQuery UI Autocomplete 体验分享
2012/02/14 Javascript
js 走马灯简单实例
2013/11/21 Javascript
JQuery EasyUI 日期控件如何控制日期选择区间
2014/05/05 Javascript
node.js中的fs.unlink方法使用说明
2014/12/15 Javascript
javascript实现tab切换的两个实例
2015/11/05 Javascript
详解vue-router 2.0 常用基础知识点之导航钩子
2017/05/10 Javascript
微信小程序实现两个页面传值的方法分析
2018/12/11 Javascript
使用JavaScript获取Django模板指定键值数据
2020/05/27 Javascript
详解React 条件渲染
2020/07/08 Javascript
Python中使用scapy模拟数据包实现arp攻击、dns放大攻击例子
2014/10/23 Python
Python的批量远程管理和部署工具Fabric用法实例
2015/01/23 Python
Python实现测试磁盘性能的方法
2015/03/12 Python
用Python生成器实现微线程编程的教程
2015/04/13 Python
Python获取命令实时输出-原样彩色输出并返回输出结果的示例
2019/07/11 Python
python防止随意修改类属性的实现方法
2019/08/21 Python
python 字典访问的三种方法小结
2019/12/05 Python
Pycharm中Python环境配置常见问题解析
2020/01/16 Python
Python文件夹批处理操作代码实例
2020/07/21 Python
SmartBuyGlasses美国官网:太阳眼镜和眼镜
2017/08/20 全球购物
H&M旗下高端女装品牌:& Other Stories
2018/05/07 全球购物
应届生服务员求职信
2013/10/31 职场文书
2014年自我评价
2014/01/04 职场文书
小学教育见习报告
2014/10/31 职场文书
实习单位证明范例
2014/11/17 职场文书
2016春季校长开学典礼致辞
2015/11/26 职场文书
用golang如何替换某个文件中的字符串
2021/04/25 Golang
Golang 使用Map实现去重与set的功能操作
2021/04/29 Golang
Python连接Postgres/Mysql/Mongo数据库基本操作大全
2021/06/29 Python
Java获取e.printStackTrace()打印的信息方式
2021/08/07 Java/Android
mysql sock 文件解析及作用讲解
2022/07/15 MySQL