Keras 获取中间层的输出

2024-05-08

## what my model looks like

# defining the model archictecture
model = Sequential()
# 1st conv layer
model.add(Conv2D(32, (5, 5), activation='relu', input_shape=x_ip_shape))
# 1st max pool
model.add(MaxPooling2D(pool_size=(2, 2)))
# 2nd conv layer
model.add(Conv2D(64, (7, 7), activation='relu'))
# 2nd max pool
model.add(MaxPooling2D(pool_size=(2, 2)))
# Flattenning the input
model.add(Flatten())
# 1st Fully connected layer
model.add(Dense(10, activation='relu'))
# Adding droput
model.add(Dropout(0.25))
# softmax layer
model.add(Dense(classes_out, activation='softmax'))

# defining loss, optimizer learning rate and metric
model.compile(loss='categorical_crossentropy',optimizer=keras.optimizers.Adam(1e-4), metrics=['accuracy'])


## prediction
scores = model.evaluate(test_x, test_labels, verbose=0)

问题: 相反,我可以获得第一个完全连接层的前向传递的输出,即model.add(Dense(10, activation='relu'))?

我在 keras 上查看了示例FAQ https://keras.io/getting-started/faq/#how-can-i-obtain-the-output-of-an-intermediate-layer。但这让我很困惑: 在此:

get_3rd_layer_output = K.function([model.layers[0].input, K.learning_phase()], [model.layers[3].output])

我将输入数据传递到哪里? model.layers[0].input 是什么意思?训练好的模型是否存储输入?


The get_3rd_layer_output是 Theano 函数。您不需要对其进行太多修改。

model.layers[0].input如果您想要给定网络中第一层的输入(任何层的输出),则将保持原样。换句话说,如果您想要将第 4 层作为输入的某个层的输出,那么您应该将其更改为model.layers[4].input.

K.learning_phase()指示您想要训练阶段还是测试阶段的输出。这两者的输出之间会有一些差异,因为存在诸如Dropout在训练和测试期间表现不同。如果您希望输出类似于predict().

model.layers[3].output:这是您需要进行修改的地方。找出您想要输出的图层的索引。如果您有 IDE(例如 Pycharm),则单击model变量并查看图层的索引(记住它从零开始)。如果没有,请为该图层分配一些名称,然后您可以通过执行以下操作找到所有图层名称model.layers。由此,您可以轻松获得索引。例如,如果您想要第 10 层的输出,那么您可以将其更改为model.layers[10].output.

这个怎么称呼呢?

这又是一个 Theano 函数,因此是一个符号函数。您必须传递值并对其进行评估。您可以按如下方式进行操作:

out = get_3rd_layer_output([X, 0])[0]  # test mode

请记住,即使X是单个数据点,它的形状应该是(1,) + x_ip_shape.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Keras 获取中间层的输出 的相关文章

  • 将 Keras 集成到 SKLearn 管道?

    我有一个 sklearn 管道 对异构数据类型 布尔 分类 数字 文本 执行特征工程 并想尝试使用神经网络作为我的学习算法来拟合模型 我遇到了输入数据形状的一些问题 我想知道我想做的事情是否可能 或者我是否应该尝试不同的方法 我尝试了几种不
  • 在c++中的嵌入式python中导入tensorflow时出错

    我的问题是关于在 C 程序中嵌入 Python 3 5 解释器以从 C 接收图像 并将其用作我训练的张量流模型的输入 当我在 python 代码中导入tensorflow库时 出现错误 其他库工作正常 简化后的代码如下 include
  • Tensorflow:如何通过 tf.gather 传播梯度?

    我在尝试传播损失函数相对于代表收集索引的变量的梯度时遇到一些问题 类似于空间变换器网络中所做的事情 https github com tensorflow models blob master transformer spatial tra
  • 混合 SOM(带 MLP)

    有人可以提供一些有关如何正确地将自组织映射与多层感知器结合起来的信息吗 我最近读了一些关于这种技术的文章 与常规 MLP 相比 它在预测任务中表现得更好 因此 我想使用 SOM 作为前端 通过对输入数据进行聚类来降维 并将结果传递到 MLP
  • 让 TensorFlow 在 ARM Mac 上使用 GPU

    我已经安装了TensorFlow在 M1 上 ARM Mac 根据这些说明 https github com apple tensorflow macos issues 153 一切正常 然而 模型训练正在进行CPU 如何将培训切换到GPU
  • 稍微不同的形状会收敛到错误的数字 - 为什么?

    我试图弄清楚为什么 TensorFlow 会做一些令人惊讶的事情 我将其归结为一个测试用例 尝试对一个简单的问题进行线性回归 该问题只需将两个输入加在一起 权重收敛到 1 0 偏差收敛到 0 0 正如它们应该的那样 使用此版本的训练输出 t
  • 如何理解SpatialDropout1D以及何时使用它?

    偶尔我会看到一些模型正在使用SpatialDropout1D代替Dropout 例如 在词性标记神经网络中 他们使用 model Sequential model add Embedding s vocabsize EMBED SIZE i
  • TensorFlow:使用不同的输入张量重新运行网络?

    假设我在 TensorFlow 中有一个典型的 CNN 模型 def inference images images 4D tensor of batch size IMAGE SIZE IMAGE SIZE 3 size conv 1 c
  • 获取每个训练实例的损失值 - Keras

    我想获得每个实例的损失值作为模型训练 history model fit 例如 上面的代码返回每个时期的损失值 而不是小批量或实例 做这个的最好方式是什么 有什么建议么 在这个 keras 官方文档页面的末尾 正是您要寻找的内容https
  • 张量流 - 向量中的前 k 个值到二进制向量

    假设我有一个带有值的向量 0 4 1 2 8 7 0 2 如何获得前 k 个值的二进制向量 k 3 0 1 0 0 1 1 0 0 in 张量流 TensorFlow 的tf math top k https www tensorflow
  • Tensorflow:无法在 gradle 中解析

    今天早上我打开 Android Studio 时 Gradle 尝试同步时出现以下错误 Error 103 13 Failed to resolve org tensorflow tensorflow android 按照他们的说明Gith
  • 如何在arm64主机上运行amd64 docker镜像

    警告 请求的映像平台 linux amd64 与检测到的主机平台 linux arm64 v8 不匹配 并且未请求特定平台 2021 07 28 22 25 06 349222 F tensorflow core platform cpu
  • 缩小轴 1 的形状为空 [x,0]

    我正在尝试训练 SVHN 街景门牌号码 数据集 用于张量流中的对象检测 对数字进行一些基本的 OCR 到目前为止 我已经成功地遵循了对象检测张量流指南中的宠物训练示例 当我基于样本 fast rcnn resnet101 config 训练
  • TF map_fn 或 while_loop 用于不同形状的张量列表

    我想处理不同形状的张量序列 列表 并输出另一个张量列表 考虑每个时间戳上具有不同隐藏状态大小的 RNN 就像是 输入 tf ones 1 2 2 tf ones 2 2 3 tf ones 3 2 1 输出 tf zeros 1 2 4 t
  • 使用 keras 澄清 Yolo v3 模型输出

    我将 yolo v3 模型与 keras 一起使用 该网络为我提供了形状如下的输出容器 1 13 13 255 1 26 26 255 1 52 52 255 所以我找到了这个link https www cyberailab com ho
  • 关于具有自定义损失的 3 输出 ANN 的加权

    我正在尝试定义一个自定义损失函数 它在回归模型中接收 3 个输出变量 def custom loss y true y pred y true c K cast y true float32 Shape batch size 3 y pre
  • 在 Keras 中使用有状态 LSTM 训练多变量多级数回归问题

    我有时间序列P过程 每个过程的长度各不相同 但都有 5 个变量 维度 我试图预测测试过程的估计寿命 我正在用有状态的方法来解决这个问题LSTM在喀拉斯 但我不确定我的训练过程是否正确 我将每个序列分成长度的批次30 所以每个序列都是这样的形
  • model.predict() 返回类而不是概率

    Hello 我是第一次使用 Keras 我训练并保存了一个模型 作为 json 文件及其权重 该模型旨在将图像分为 3 个类别 我的编译方法 model compile loss categorical crossentropy optim
  • 在 Tensorflow2 中将图冻结为 pb

    我们通过图形冻结保存来自 TF1 的许多模型 tf train write graph self session graph def some path get graph definitions with weights output g
  • tf-models:official.vision.detection Mask-RCNN 无效参数:indices[1,63] = [1, -1] 未索引到参数形状 [2,100,112,112]

    我正在尝试根据此处提供的官方 MaskRCNN 模型训练 Mask RCNN 模型 张量流 模型 https github com tensorflow models tree master official vision detectio

随机推荐

  • 访问 java jigsaw 模块中的资源文件[重复]

    这个问题在这里已经有答案了 我正在尝试从项目中的类访问 Eclipse 项目中的文件 我需要将该项目声明为 jigsaw 模块才能从其他项目访问它 但是通过这样做 我无法再访问项目中的 example png 等文件 这是我的项目结构 pr
  • 如何将 Content-Type 更改为 application/json React

    我正在使用 axios 从 api 获取内容 我想使用 axios 在 React 中将 Content Type 设置为 application json 需要纠正什么 下面是参考代码 const config headers Conte
  • React router v4 嵌套路由相对路径

    我有一个带有 React Router v4 的组件到另一个组件 我想在第二个组件中添加另一个路由 这是主要路线 const Dashboard gt return div div
  • 使用 CSS 创建钟形

    我正在玩CSS中的形状 想要制作一个传统的钟形 想想圣诞钟声 这是我想要的一般形状 尽管我真的不关心顶部和底部的球 这是我到目前为止所拥有的 http jsfiddle net bhlaird NeBtU http jsfiddle net
  • 如何重新运行成功的 azure devops YAML 管道阶段以及后续的任何阶段?

    阶段 A gt B gt C gt D C 失败并出现错误 暗示阶段 B 的输出存在问题 尽管它成功了 作为失败的阶段 我可以重新运行 C 如果成功 D 将运行 在本例中它仍然失败 我可以重新运行 B 它再次成功 但是 C 和 D 被 跳过
  • 如何通过模板中的变量访问对象字段?

    我有一个嵌套循环 columns columns range dx dataList range c columns index dx c end end dataList是orm模型数组 和ID Title字段 那么columns is
  • 如何制作自己的 while 循环,就像 WordPress 循环一样?

    我是新来的 也是 PHP 新手 只是想知道如何制作我自己的灵活循环 就像在 WordPress 中一样 注意我不是在谈论 wordpress 我想在我自己的 PHP 应用程序上实现它 我们回顾一下WP 有一段代码是这样的 while hav
  • 使用 memcpy 复制二维数组?

    所以我想将二维数组的内容复制到另一个完全相同类型的数组 以下是数组的创建方式 GridUnit newGrid newGrid new GridUnit width for int i 0 i lt width i newGrid i ne
  • 喷气背包组合中的波纹效果无法正常工作

    我正在研究jetpack compose中的连锁反应 我提供了我的颜色 单击视图后 它会在一段时间后显示不同类型的颜色 在按下状态时显示为深灰色 binding itemComposable setContent Column modifi
  • Python、PEP-8、E122 连续行缺少缩进或缩进

    我收到此错误 但无论我选择缩进它 我仍然收到它 你知道为什么吗 if len argmaxcomp 1 print The complex with the greatest mean abundance is 0 format argma
  • 删除队列对象数组

    我正在研究一个包含数组的对象queues数组长度在调用构造函数之前才确定 基本上看起来像下面这样 include
  • 如何过滤javascript对象数组

    我有两个数组 我正在使用 PubSidebar 过滤基于 groupKey 的内容 let groupKey oaDeal Journals Deposit This array of object will be filtering wi
  • 如何用Python实现FIR高通滤波器?

    首先 我在 Stack Exchange 中问了这个问题 我只得到与概念相关的答案 而不是面向实现的答案 所以 我的问题是我正在尝试创建高通滤波器并使用 Python 实现 from numpy import cos sin pi abso
  • Scala 对大数的阶乘有时会崩溃,有时不会

    以下程序经过编译和测试 有时返回结果 有时充满屏幕 java lang StackOverflowError at scala BigInt apply BigInt scala 47 at scala BigInt equals BigI
  • CSS 文本装饰:反向

    我很惊讶 CSS 中没有 text decoration reverse 因为使用 JavaScript 来实现似乎非常尴尬 IE 将元素的前景色和背景色分别设置为父元素的背景色和前景色 我注意到了 JavaScript 技术here ht
  • C++:从字符串中删除所有 HTML 格式?

    我有一个字符串 其中可能包含 br 或 span span 标签或其他 HTML 字符 实体 我想要一种强大的方法来剥离所有这些并获取剩余的 UTF 8 字符 理想情况下 这应该是跨平台的 像这样的东西是理想的 http snipplr c
  • 根据质量和弹跳系数计算球与球碰撞的速度和方向

    我基于以下代码使用了this http en wikipedia org wiki Elastic collision One dimensional Newtonian ballA vx u1x m1 m2 2 m2 u2x m1 m2
  • Yii:按条件进行多重排序

    我正在使用 CActiveDataprovider 显示来自不同表的数据 现在我遇到了一个问题 我有两个表 项目和类别 它们都有priority order 列 我需要使用这两个列的顺序来显示数据 例如 有两个类别和属于这些类别的六个项目
  • R+Hadoop:如何从HDFS读取CSV文件并执行mapreduce?

    在以下示例中 small ints to dfs 1 1000 mapreduce input small ints map function k v cbind v v 2 MapReduce函数的数据输入是一个名为small ints的
  • Keras 获取中间层的输出

    what my model looks like defining the model archictecture model Sequential 1st conv layer model add Conv2D 32 5 5 activa