我已經使用TensorFlow slim模型vgg,使用CASIA(一個人臉識別數據集)作爲訓練數據集訓練了一個分類模型。 我想通過使用LFW數據集來測試模型,它是一個面部匹配任務。所以我需要提取像fc7/fc8這樣的網絡特徵,而不是softmax圖層,並比較這些特徵之間的距離,以確定它們是否是同一個人。 如何提取纖細模型的特徵?如何從tensorflow細長模型VGG中提取特徵時正向運行?
這是培訓代碼的一部分。
import tensorflow as tf
from tensorflow.contrib.slim.python.slim.nets import vgg
slim = tf.contrib.slim
FLAGS = tf.app.flags.FLAGS
def tower_loss(scope):
images, labels = read_and_decode()
with slim.arg_scope(vgg.vgg_arg_scope()):
logits, end_points = vgg.vgg_16(images, num_classes=FLAGS.num_classes)
_ = cal_loss(logits, labels)
losses = tf.get_collection('losses', scope)
total_loss = tf.add_n(losses, name='total_loss')
return total_loss