Tensorflow:如何从预先训练的CNN的特定层提取图像特征?

时间:2016-08-15 11:54:09

标签: python machine-learning neural-network tensorflow conv-neural-network

我有一个预先训练过的CNN模型作为.pb文件。我可以加载模型并从最后一层提取所有图像的最终矢量。现在我想提取来自特定图层的矢量而不是我的图像的最终矢量。我使用import_graph_def函数加载模型,我不知道图层的名称,因为 .pb 文件很大,我无法打开它。

我如何运行模型的一部分而不是整体才能获得向量直到我想要的图层?

1 个答案:

答案 0 :(得分:3)

除了Peter Hawkins所提到的一种方法,在注释中使用tf.Graph.get_operations()是使用tensorboard来查找要从中提取的图层的名称。

从那里你可以使用

def primegen():
    n = 1
    while True:
        if isprime(n):
            print n
            cont = raw_input("continue? Enter Y/N")
            if cont == 'N':
                break
        n += 1

提取您想要的任何功能。