基于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 相关文章推荐
Django小白教程之Django用户注册与登录
Apr 22 Python
Python常用库推荐
Dec 04 Python
Python基于递归算法实现的走迷宫问题
Aug 04 Python
python入门教程 python入门神图一张
Mar 05 Python
python如何发布自已pip项目的方法步骤
Oct 09 Python
Python中文编码知识点
Feb 18 Python
python3 mmh3安装及使用方法
Oct 09 Python
python返回数组的索引实例
Nov 28 Python
在pycharm中创建django项目的示例代码
May 28 Python
Pycharm如何自动生成头文件注释
Nov 14 Python
Python基于template实现字符串替换
Nov 27 Python
Python实现自动整理文件的脚本
Dec 17 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/10/09 PHP
php数组(array)输出的三种形式详解
2013/06/05 PHP
利用PHP获取访客IP、地区位置、浏览器及来源页面等信息
2017/06/27 PHP
PHP crc32()函数讲解
2019/02/14 PHP
Laravel 中使用简单的方法跟踪用户是否在线(推荐)
2019/10/30 PHP
NiftyCube——轻松实现圆角边框
2007/02/20 Javascript
自己的js工具 Cookie 封装
2009/08/21 Javascript
JS动态添加与删除select中的Option对象(示例代码)
2013/12/20 Javascript
js控制input框只读实现示例
2014/01/20 Javascript
jquery禁用右键单击功能屏蔽F5刷新
2014/03/17 Javascript
js数组中如何随机取出一个值
2014/06/13 Javascript
javascript在当前窗口关闭前检测窗口是否关闭
2014/09/29 Javascript
使用angular写一个hello world
2015/01/23 Javascript
AngularJS基础 ng-focus 指令简单示例
2016/08/01 Javascript
详解js运算符单竖杠“|”与“||”的用法和作用介绍
2016/11/04 Javascript
解决nodejs中使用http请求返回值为html时乱码的问题
2017/02/18 NodeJs
微信小程序-横向滑动scroll-view隐藏滚动条
2017/04/20 Javascript
详解用函数式编程对JavaScript进行断舍离
2017/09/18 Javascript
js变量声明var使用与不使用的区别详解
2019/01/21 Javascript
一百行JS代码实现一个校验工具
2019/04/30 Javascript
vue.js实现三级菜单效果
2019/10/19 Javascript
JavaScript 正则应用详解【模式、欲查、反向引用等】
2020/05/13 Javascript
夯基础之手撕javascript继承详解
2020/11/09 Javascript
python3 实现的人人影视网站自动签到
2016/06/19 Python
Python实现ping指定IP的示例
2018/06/04 Python
Python实现查找数组中任意第k大的数字算法示例
2019/01/23 Python
在自动化中用python实现键盘操作的方法详解
2019/07/19 Python
jupyter notebook oepncv 显示一张图像的实现
2020/04/24 Python
django创建css文件夹的具体方法
2020/07/31 Python
HTML5中图片之间的缝隙完美解决方法
2017/07/07 HTML / CSS
请解释virtual关键字的含义
2015/06/17 面试题
教师节商场活动方案
2014/02/13 职场文书
岗位职责风险防控
2014/02/18 职场文书
六查六看个人剖析材料
2014/10/14 职场文书
2015年乡镇纪检工作总结
2015/04/22 职场文书
培养联系人考察意见
2015/06/01 职场文书