如何在TensorFlow或keras中获取层之间的中间数据?

时间:2016-12-09 15:31:01

标签: neural-network tensorflow deep-learning keras

我想查看图层之间的中间数据。 如何在各层之间获得中间输出数据?

1 个答案:

答案 0 :(得分:0)

可以使用tf.keras Models获取中间层的输出,

model.get_layer(layer_name).outputsmodel.layer[layer_index].output

此外,您可以访问 intermediate layers ("nodes" in the graph) 的激活并在其他地方重用它们——这对于特征提取等非常有用。

import tensorflow as tf
vgg19 = tf.keras.applications.VGG19()
features_list = [layer.output for layer in vgg19.layers]
feat_extraction_model = keras.Model(inputs=vgg19.input, outputs=features_list)

img = np.random.random((1, 224, 224, 3)).astype("float32")
extracted_features = feat_extraction_model(img)