Keras & Theano get output of an intermediate layer

1.使用函数模型API,新建一个model,将输入和输出定义为原来的model的输入和想要的那一层的输出,然后重新进行predict.

import seaborn as sbn
import pylab as plt
import theano
from keras.models import Sequential
from keras.layers import Dense,Activationfrom keras.models import Modelmodel = 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])

效果应该是一样的。

来源:https://blog.csdn.net/hahajinbu/article/details/77982721

转载于:https://www.cnblogs.com/jins-note/p/9767403.html

Keras Theano 输出中间层结果相关推荐

  1. keras、TensorFlow输出中间层结果的4种方法

    深度学习本质上是表示学习,它通过多层非线性神经网络模型从底层特征中学习出对具体任务而言更有效的高级抽象特征.针对一个具体的任务,我们往往会遇到这种情况:需要用一个针对特定任务已经被训练好的模型学习出特 ...

  2. keras如何获取中间层的输出

    keras如何获取中间层的输出 Example Keras中英文文档中有详细连接,参照: 如何获取中间层输出? Example 构建模型 from keras.models import Model ...

  3. 图像增强︱window7+opencv3.2+keras/theano简单应用(函数解读)

    在服务器上安装opencv遇到跟CUDA8.0不适配的问题,于是不得不看看其他机器是否可以预装并使用. . 一.python+opencv3.2安装 opencv在windows安装为啥这么简单? 安 ...

  4. java调用keras theano模型_使用Keras / Theano和LSTM进行多标签文本分类

    尝试使用Keras / Theano运行LSTM多标签文本分类 . 我有一个文本/标签csv . 文本是纯文本,标签是数字,总共9个,从1到9 . 我想我没有为这个问题正确配置模型 . 我的代码到目前 ...

  5. pytorch 输出中间层特征

    pytorch 输出中间层特征: tensorflow输出中间特征,2种方式: 1. 保存全部模型(包括结构)时,需要之前先add_to_collection 或者 用slim模块下的end_poin ...

  6. java调用keras theano模型_使用Keras获得模型输出的梯度w.r.t权重

    要使用Keras获得关于权重的模型输出的梯度,您必须使用Keras后端模块 . 我创建了这个简单的例子来准确说明该做什么: from keras.models import Sequential fr ...

  7. keras提取网络中间层输出、中间层特征

    最近想用自编码网络降维一下数据,用堆叠自编码器SAE降维之后提取中间层特征 model = Sequential()model.add(Dense(1024, activation='relu', i ...

  8. keras多输出模型

    Keras多输入多输出模型构建 1. 多输出模型构建 多输出模型构建 自定义loss函数 批量训练 调试 2. 多输入多输出模型(上) 多输入多输出模型 (关键)定义这个具有两个输入和输出的模型: 编 ...

  9. keras+theano安装教程

    一:知识点储备  1.  什么是Theano ? Theano 是一个 Python 库,用来定义.优化和模拟数学表达式计算,用于高效的解决多维数组的计算问题. 2. Theano的用处是什么? Th ...

最新文章

  1. libACE-6.3.3.so: cannot open shared object file: No such file or directory
  2. stm32的rxne和idle中断_HAL库的STM32F767的DMA通过IDLE中断接收数据但不能访问
  3. RequestQueue
  4. vim莫名假死的解决办法
  5. p2p 源码 linux,我们打算开发一个WiFi功能的P2P文件共享系统在Linux平台…
  6. 06 sqlsybase
  7. LeetCode-260 Single Number III
  8. Java重命名文件的方法_java重命名文件(附道客巴巴文档下载方法)
  9. vulhub-靶场实战-安装
  10. 英特尔cpu发布时间表_英特尔10代桌面cpu上市时间(英特尔10代发售时间)
  11. js-05--对象是什么、创建对象、对象使用、操作对象、遍历对象、内置对象、Math、任意范围随机数、日期对象、字符串对象
  12. 前端 css 自动生成,关于前端:利用Zeplin从设计图自动生成CSS提高前端样式开发效率...
  13. 微信表情符号写入案件判决
  14. 计算机存储单元ASCI,在计算机存储器中,存储英文字母\quot;A\quot;时,存储的是它的( ) A.输入码B.ASCII码C - 作业在线问答...
  15. RESB 0x7dfe-$ 报错
  16. Android.mk 包含问题带来的so.toc needed by 错误
  17. python统计奇数和偶数的个数_Python 统计位数为偶数的数字的代码
  18. C sharp (#) 数据类型获取
  19. mysql 社区版 tokudb,TokuDB·社区八卦·TokuDB团队
  20. 盘点:35 个 Java 代码优化魔鬼细节

热门文章

  1. 高斯-勒让德公式 求积分
  2. word2007-2010排版中解决段后插入分页符 新页首行空行问题
  3. 使用ioctl向linux内核传递参数的方法实例
  4. 博客搬迁至网易博客 http://happyboy200032.blog.163.com
  5. Ubuntu 14.04安装openProj
  6. 替代jquery1.9版本以前的toggle事件函数(开关)
  7. AngularJS优缺点、使用场景
  8. 回顾2016,展望2017
  9. android meta data值获取的坑
  10. Block 再学习 !