更改中间激活/输出并观察TF2 / Keras中的预测

nj2237

让我们说我有一个简单的将MNIST分类的NN模型,如下所示:

model = models.Sequential([
  tf.keras.layers.Flatten(input_shape=(28, 28)),
  tf.keras.layers.Dense(128, activation='relu'),
  tf.keras.layers.Dropout(0.2),
  tf.keras.layers.Dense(10)
])

然后从第二层即密集层(激活relu之后)提取输出张量,如下所示:

mid_layer = model.get_layer("dense")
get_output = K.function([model.layers[0].input], [mid_layer.output])

对于某些特定的数据输入x,我现在提取输出张量激活

mid_layer_outputs = get_output([test_images[0:1]])

并对其进行一些更改:

mid_layer_outputs = ...

现在,我希望模型从该层的修改后的输出值继续并相应地预测结果。我该怎么办?

我试图K.function([mid_layer_outputs], model.layers[-1].output)从该层开始构建另一层,但是出现以下错误:

AttributeError:“ numpy.ndarray”对象没有属性“ op”

这是可以理解的,因为它无法使用NP数组对象而不是模型层对象继续进行预测。我该怎么做呢?

nj2237

我想通了-我需要在第二层中指定下一层输入K.function,然后将修改后的输出传递给它:

get_pred = K.function([model.layers[2].input], model.layers[-1].output)
pred = get_pred([mid_layer_outputs])

根据这个答案,K.function运行我们在代码中创建的计算图,从第一个参数获取输入,并根据提到的层提取输出数量。因此K.function([mid_layer_outputs], model.layers[-1].output),它不能更早地工作,因为我没有直接传递要使用的层K.function并连接到输出,而是直接传递了值。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Keras中的预测流输出

来自分类Dev

R 中的 Keras:高精度模型预测相同的输出类别

来自分类Dev

我如何在keras中预测2d输出(标签形状= 20、42、3)

来自分类Dev

Keras中的变体自动编码器:在训练和预测时如何实现Keras层的不同输出?

来自分类Dev

Keras的输出顺序预测_生成器

来自分类Dev

Keras在Multiprosses Pool中预测

来自分类Dev

了解R中“预测”的输出

来自分类Dev

无法在Fastai中预测输出

来自分类Dev

tf.keras的预测很差,而评估的却很不错

来自分类Dev

解包模型后如何使用 Keras 模型预测输出

来自分类Dev

输出维度低于输入维度的 Keras 视频帧预测

来自分类Dev

未添加 TF2 指标的 Keras

来自分类Dev

在TF1训练中使用的Numpy数组-在TF2中,Keras的准确性低得多

来自分类Dev

在 Keras 中预测和评估指标

来自分类Dev

在 keras 中预测单个文档的文档类

来自分类Dev

预测keras中的特征值列表

来自分类Dev

无法在MatLab的SVM中预测输出

来自分类Dev

TF2 中的 Keras 实现是否支持本地 Keras 可以用 TF1 做的所有事情?

来自分类Dev

更改R中类别预测的阈值

来自分类Dev

TF2对LSTM网络中的步骤编号感到困惑

来自分类Dev

在TF2的损失函数中使用中间层的输出

来自分类Dev

在预测阶段如何获得所有输出的keras图层(功能图)?

来自分类Dev

Keras lstm 多输出模型预测两个特征(时间序列)

来自分类Dev

自定义学习率调度器TF2和Keras

来自分类Dev

为什么预测需要Keras中的批量大小?

来自分类Dev

如何使用python在keras中输入用于类预测的图像

来自分类Dev

在 TensorFlow Lite 中运行 Keras 模型时的不同预测

来自分类Dev

keras 中时间序列预测的损失与纪元图

来自分类Dev

可以从其输出中预测Random.Next()吗

Related 相关文章

  1. 1

    Keras中的预测流输出

  2. 2

    R 中的 Keras:高精度模型预测相同的输出类别

  3. 3

    我如何在keras中预测2d输出(标签形状= 20、42、3)

  4. 4

    Keras中的变体自动编码器:在训练和预测时如何实现Keras层的不同输出?

  5. 5

    Keras的输出顺序预测_生成器

  6. 6

    Keras在Multiprosses Pool中预测

  7. 7

    了解R中“预测”的输出

  8. 8

    无法在Fastai中预测输出

  9. 9

    tf.keras的预测很差,而评估的却很不错

  10. 10

    解包模型后如何使用 Keras 模型预测输出

  11. 11

    输出维度低于输入维度的 Keras 视频帧预测

  12. 12

    未添加 TF2 指标的 Keras

  13. 13

    在TF1训练中使用的Numpy数组-在TF2中,Keras的准确性低得多

  14. 14

    在 Keras 中预测和评估指标

  15. 15

    在 keras 中预测单个文档的文档类

  16. 16

    预测keras中的特征值列表

  17. 17

    无法在MatLab的SVM中预测输出

  18. 18

    TF2 中的 Keras 实现是否支持本地 Keras 可以用 TF1 做的所有事情?

  19. 19

    更改R中类别预测的阈值

  20. 20

    TF2对LSTM网络中的步骤编号感到困惑

  21. 21

    在TF2的损失函数中使用中间层的输出

  22. 22

    在预测阶段如何获得所有输出的keras图层(功能图)?

  23. 23

    Keras lstm 多输出模型预测两个特征(时间序列)

  24. 24

    自定义学习率调度器TF2和Keras

  25. 25

    为什么预测需要Keras中的批量大小?

  26. 26

    如何使用python在keras中输入用于类预测的图像

  27. 27

    在 TensorFlow Lite 中运行 Keras 模型时的不同预测

  28. 28

    keras 中时间序列预测的损失与纪元图

  29. 29

    可以从其输出中预测Random.Next()吗

热门标签

归档