基于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中的split()函数的使用方法
Apr 07 Python
python3将视频流保存为本地视频文件
Jun 20 Python
利用Django-environ如何区分不同环境
Aug 26 Python
Python使用requests提交HTTP表单的方法
Dec 26 Python
python设计微型小说网站(基于Django+Bootstrap框架)
Jul 08 Python
基于Python新建用户并产生随机密码过程解析
Oct 08 Python
python中property和setter装饰器用法
Dec 19 Python
详解python破解zip文件密码的方法
Jan 13 Python
tensorflow dataset.shuffle、dataset.batch、dataset.repeat顺序区别详解
Jun 03 Python
Python unittest生成测试报告过程解析
Sep 08 Python
用python制作个音乐下载器
Jan 30 Python
python抢购软件/插件/脚本附完整源码
Mar 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
WIFI万能钥匙密码查询接口实例
2015/09/28 PHP
php格式化时间戳
2016/12/17 PHP
Laravel 中使用 Vue.js 实现基于 Ajax 的表单提交错误验证操作
2017/06/30 PHP
php 读写json文件及修改json的方法
2018/03/07 PHP
Ext javascript建立超链接,进行事件处理的实现方法
2009/03/22 Javascript
cnblogs csdn 代码运行框实现代码
2009/11/02 Javascript
js下获取div中的数据的原理分析
2010/04/07 Javascript
来自qq的javascript面试题
2010/07/24 Javascript
js 文本滚动效果的实例代码
2013/08/17 Javascript
封装的jquery翻页滚动(示例代码)
2013/11/18 Javascript
javascript进行数组追加方法小结
2014/06/16 Javascript
创建js对象和js类的方法汇总
2014/12/24 Javascript
jQuery应用之jQuery链用法实例
2015/01/19 Javascript
学习使用ExpressJS 4.0中的新Router的用法
2018/11/06 Javascript
详解VUE单页应用骨架屏方案
2019/01/17 Javascript
JavaScript eval()函数定义及使用方法详解
2020/07/07 Javascript
javascript解析json格式的数据方法详解
2020/08/07 Javascript
js canvas实现俄罗斯方块
2020/10/11 Javascript
深入理解Python中range和xrange的区别
2017/11/26 Python
python逆序打印各位数字的方法
2018/06/25 Python
Python实现点阵字体读取与转换的方法
2019/01/29 Python
selenium2.0中常用的python函数汇总
2019/08/05 Python
Pycharm远程调试原理及具体配置详解
2019/08/08 Python
python爬虫豆瓣网的模拟登录实现
2019/08/21 Python
解析python 中/ 和 % 和 //(地板除)
2020/06/28 Python
python实现画图工具
2020/08/27 Python
输入一行文字,找出其中大写字母、小写字母、空格、数字、及其他字符各有多少
2016/04/15 面试题
庆七一活动方案
2014/01/25 职场文书
欢度春节标语
2014/07/01 职场文书
护士求职信
2014/07/05 职场文书
三好学生先进事迹材料
2014/08/28 职场文书
学生旷课检讨书500字
2014/10/28 职场文书
使用 JavaScript 制作页面效果
2021/04/21 Javascript
vue使用Google Recaptcha验证的实现示例
2021/08/23 Vue.js
Python 数据可视化神器Pyecharts绘制图像练习
2022/02/28 Python
Java实战之课程信息管理系统的实现
2022/04/01 Java/Android