首页 > 解决方案 > 如何从胶囊层打印输出向量?

问题描述

我正在使用胶囊网络。我的参考论文在这里。该论文指出,初级胶囊层生成 8D 位姿参数向量。我的问题是我们可以从图层的输出中获取向量并打印那个 8D 向量吗?

标签: python-3.xtensorflowvectorkeras

解决方案


由于问题是用 keras 标记的,我假设模型是使用 keras 库构建的。

我们可以从图层的输出中获取向量并打印那个 8D 向量吗?

是的你可以。首先,您必须访问模型的输入和胶囊层的输出。

inputs = model.input
outputs = model.layers[index_of_the_caps_layer].output

Keras 提供了 keras.backend.function 来运行计算图。您需要为模型输入占位符传递 numpy 数组

import keras.backend as K 
input_values # Input values to the model 
function = K.function([inputs, K.learning_phase()], outputs )
caps_output = function([input_values, 1.0])
print(caps_output)

推荐阅读