基于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将ansible配置转为json格式实例代码
May 15 Python
Python编程scoketServer实现多线程同步实例代码
Jan 29 Python
Python即时网络爬虫项目启动说明详解
Feb 23 Python
python matlibplot绘制多条曲线图
Feb 19 Python
Django的性能优化实现解析
Jul 30 Python
Python多线程爬取豆瓣影评API接口
Oct 22 Python
DJANGO-URL反向解析REVERSE实例讲解
Oct 25 Python
使用python计算三角形的斜边例子
Apr 15 Python
关于Python解包知识点总结
May 05 Python
win10+anaconda安装yolov5的方法及问题解决方案
Apr 29 Python
Python中的np.argmin()和np.argmax()函数用法
Jun 02 Python
Django rest framework如何自定义用户表
Jun 09 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 if 想到的些问题
2008/03/22 PHP
PHP在不同页面间传递Json数据示例代码
2013/06/08 PHP
领悟php接口中interface存在的意义
2013/06/27 PHP
浅析php中三个等号(===)和两个等号(==)的区别
2013/08/06 PHP
Ajax PHP JavaScript MySQL实现简易无刷新在线聊天室
2016/08/17 PHP
PHP对象、模式与实践之高级特性分析
2016/12/08 PHP
php-msf源码详解
2017/12/25 PHP
javascript的事件描述
2006/09/08 Javascript
javascript如何动态加载表格与动态添加表格行
2013/11/27 Javascript
js实现文本框中焦点在最后位置
2014/03/04 Javascript
跟我学习javascript的循环
2015/11/18 Javascript
深入理解Angularjs向指令传递数据双向绑定机制
2016/12/31 Javascript
svg动画之动态描边效果
2017/02/22 Javascript
微信小程序实现折叠面板
2018/01/31 Javascript
React组件重构之嵌套+继承及高阶组件详解
2018/07/19 Javascript
element-ui表格列金额显示两位小数的方法
2018/08/24 Javascript
javascrit中undefined和null的区别详解
2019/04/07 Javascript
jquery实现点击左右按钮切换图片
2021/01/27 jQuery
如何在Python函数执行前后增加额外的行为
2016/10/20 Python
利用Python实现颜色色值转换的小工具
2016/10/27 Python
Python编程scoketServer实现多线程同步实例代码
2018/01/29 Python
深入浅析Python的类
2018/06/22 Python
解决python写入带有中文的字符到文件错误的问题
2019/01/31 Python
基于Python实现大文件分割和命名脚本过程解析
2019/09/29 Python
python:删除离群值操作(每一行为一类数据)
2020/06/08 Python
为什么说python更适合树莓派编程
2020/07/20 Python
JAVA代码查错题
2014/10/10 面试题
中间件分为哪几类
2016/09/18 面试题
韩语专业本科生求职信
2013/10/01 职场文书
红领巾心向党广播稿
2014/01/19 职场文书
年检委托书
2014/08/30 职场文书
学校联谊协议书
2014/09/16 职场文书
听证通知书
2015/04/24 职场文书
学会Python数据可视化必须尝试这7个库
2021/06/16 Python
Java实现带图形界面的聊天程序
2022/06/10 Java/Android
pd.DataFrame中的几种索引变换的实现
2022/06/16 Python