TensorFlow-抽取模型某一层特征

深度学习具有强大的特征表达能力。有时候我们训练好分类模型,并不想用来进行分类,而是用来提取特征用于其他任务,比如相似图片计算。接下来讲下如何使用TensorFlow提取特征。

1.必须在模型中命名好要提取的那一层,如下

[python] view plain copy
  1. self.h_pool_flat = tf.reshape(self.h_pool, [-1, num_filters_total], name='h_pool_flat')           

2.通过调用sess.run()来获取h_pool_flat层特征

[python] view plain copy
  1. feature = graph.get_operation_by_name("h_pool_flat").outputs[0]  
  2. batch_predictions, batch_feature = \  
  3. sess.run([predictions, feature], {input_x: x_test_batch, dropout_keep_prob: 1.0}) 

你可能感兴趣的:(TensorFlow-抽取模型某一层特征)