如何从胶囊层打印输出矢量?

时间:2019-02-26 10:55:27

标签: python-3.x tensorflow vector keras

我正在使用胶囊网络。我的参考文件是here。论文指出,主要胶囊层会生成姿态参数的8D向量。 我的问题是我们可以从图层的输出中获取矢量并打印该8D矢量吗?

1 个答案:

答案 0 :(得分:1)

由于问题是用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)