Tensorflow:如何从预训练的 CNN 的特定层提取图像特征?
Tensorflow: How can I extract image features from a specific layer of a pre-trained CNN?
我有一个预训练的 CNN 模型作为 .pb 文件。我可以加载模型并从所有图像的最后一层提取最终矢量。现在我想提取来自特定层的矢量,而不是我图像的最终矢量。我正在使用 import_graph_def 函数加载模型,但我不知道图层的名称,因为 .pb 文件很大,我无法打开它。
我怎样才能 运行 模型的一部分而不是整个模型以获得矢量直到我想要的层?
除了 Peter Hawkins 提到的方法之外,在评论中使用 tf.Graph.get_operations() 的另一种方法是使用 tensorboard 查找要从中提取的层的名称。
从那里你可以使用
graph.get_tensor_by_name("import/layer_name")
提取您想要的任何特征。
我有一个预训练的 CNN 模型作为 .pb 文件。我可以加载模型并从所有图像的最后一层提取最终矢量。现在我想提取来自特定层的矢量,而不是我图像的最终矢量。我正在使用 import_graph_def 函数加载模型,但我不知道图层的名称,因为 .pb 文件很大,我无法打开它。
我怎样才能 运行 模型的一部分而不是整个模型以获得矢量直到我想要的层?
除了 Peter Hawkins 提到的方法之外,在评论中使用 tf.Graph.get_operations() 的另一种方法是使用 tensorboard 查找要从中提取的层的名称。
从那里你可以使用
graph.get_tensor_by_name("import/layer_name")
提取您想要的任何特征。