本文整理汇总了Python中facenet.create_input_pipeline方法的典型用法代码示例。如果您正苦于以下问题:Python facenet.create_input_pipeline方法的具体用法?Python facenet.create_input_pipeline怎么用?Python facenet.create_input_pipeline使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类facenet
的用法示例。
在下文中一共展示了facenet.create_input_pipeline方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: main
# 需要导入模块: import facenet [as 别名]
# 或者: from facenet import create_input_pipeline [as 别名]
def main(args):
with tf.Graph().as_default():
with tf.Session() as sess:
# Read the file containing the pairs used for testing
pairs = lfw.read_pairs(os.path.expanduser(args.lfw_pairs))
# Get the paths for the corresponding images
paths, actual_issame = lfw.get_paths(os.path.expanduser(args.lfw_dir), pairs)
image_paths_placeholder = tf.placeholder(tf.string, shape=(None,1), name='image_paths')
labels_placeholder = tf.placeholder(tf.int32, shape=(None,1), name='labels')
batch_size_placeholder = tf.placeholder(tf.int32, name='batch_size')
control_placeholder = tf.placeholder(tf.int32, shape=(None,1), name='control')
phase_train_placeholder = tf.placeholder(tf.bool, name='phase_train')
nrof_preprocess_threads = 4
image_size = (args.image_size, args.image_size)
eval_input_queue = data_flow_ops.FIFOQueue(capacity=2000000,
dtypes=[tf.string, tf.int32, tf.int32],
shapes=[(1,), (1,), (1,)],
shared_name=None, name=None)
eval_enqueue_op = eval_input_queue.enqueue_many([image_paths_placeholder, labels_placeholder, control_placeholder], name='eval_enqueue_op')
image_batch, label_batch = facenet.create_input_pipeline(eval_input_queue, image_size, nrof_preprocess_threads, batch_size_placeholder)
# Load the model
input_map = {'image_batch': image_batch, 'label_batch': label_batch, 'phase_train': phase_train_placeholder}
facenet.load_model(args.model, input_map=input_map)
# Get output tensor
embeddings = tf.get_default_graph().get_tensor_by_name("embeddings:0")
#
coord = tf.train.Coordinator()
tf.train.start_queue_runners(coord=coord, sess=sess)
evaluate(sess, eval_enqueue_op, image_paths_placeholder, labels_placeholder, phase_train_placeholder, batch_size_placeholder, control_placeholder,
embeddings, label_batch, paths, actual_issame, args.lfw_batch_size, args.lfw_nrof_folds, args.distance_metric, args.subtract_mean,
args.use_flipped_images, args.use_fixed_image_standardization)
示例2: init_triplet_model
# 需要导入模块: import facenet [as 别名]
# 或者: from facenet import create_input_pipeline [as 别名]
def init_triplet_model():
global track_struct
global triplet_graph
global triplet_sess
global eval_enqueue_op
global image_paths_placeholder
global labels_placeholder
global phase_train_placeholder
global batch_size_placeholder
global control_placeholder
global embeddings
global label_batch
global distance_metric
f_image_size = 160
distance_metric = 0
triplet_graph = tf.Graph()
with triplet_graph.as_default():
image_paths_placeholder = tf.placeholder(tf.string, shape=(None,1), name='image_paths')
labels_placeholder = tf.placeholder(tf.int32, shape=(None,1), name='labels')
batch_size_placeholder = tf.placeholder(tf.int32, name='batch_size')
control_placeholder = tf.placeholder(tf.int32, shape=(None,1), name='control')
phase_train_placeholder = tf.placeholder(tf.bool, name='phase_train')
nrof_preprocess_threads = 4
image_size = (f_image_size, f_image_size)
eval_input_queue = data_flow_ops.FIFOQueue(capacity=2000000,
dtypes=[tf.string, tf.int32, tf.int32],
shapes=[(1,), (1,), (1,)],
shared_name=None, name=None)
eval_enqueue_op = eval_input_queue.enqueue_many([image_paths_placeholder,
labels_placeholder, control_placeholder],
name='eval_enqueue_op')
image_batch, label_batch = facenet.create_input_pipeline(eval_input_queue, image_size,
nrof_preprocess_threads, batch_size_placeholder)
triplet_sess = tf.Session(graph=triplet_graph)
with triplet_sess.as_default():
with triplet_graph.as_default():
# Load the model
input_map = {'image_batch': image_batch, 'label_batch': label_batch, 'phase_train': phase_train_placeholder}
facenet.load_model(track_struct['file_path']['triplet_model'], input_map=input_map)
# Get output tensor
embeddings = tf.get_default_graph().get_tensor_by_name("embeddings:0")
coord = tf.train.Coordinator()
tf.train.start_queue_runners(coord=coord, sess=triplet_sess)
return
示例3: feature_extract
# 需要导入模块: import facenet [as 别名]
# 或者: from facenet import create_input_pipeline [as 别名]
def feature_extract(feature_size, num_patch, max_length, patch_folder, triplet_model):
f_image_size = 160
distance_metric = 0
with tf.Graph().as_default():
with tf.Session() as sess:
image_paths_placeholder = tf.placeholder(tf.string, shape=(None,1), name='image_paths')
labels_placeholder = tf.placeholder(tf.int32, shape=(None,1), name='labels')
batch_size_placeholder = tf.placeholder(tf.int32, name='batch_size')
control_placeholder = tf.placeholder(tf.int32, shape=(None,1), name='control')
phase_train_placeholder = tf.placeholder(tf.bool, name='phase_train')
nrof_preprocess_threads = 4
image_size = (f_image_size, f_image_size)
eval_input_queue = data_flow_ops.FIFOQueue(capacity=2000000,
dtypes=[tf.string, tf.int32, tf.int32],
shapes=[(1,), (1,), (1,)],
shared_name=None, name=None)
eval_enqueue_op = eval_input_queue.enqueue_many([image_paths_placeholder,
labels_placeholder, control_placeholder],
name='eval_enqueue_op')
image_batch, label_batch = facenet.create_input_pipeline(eval_input_queue, image_size,
nrof_preprocess_threads, batch_size_placeholder)
# Load the model
input_map = {'image_batch': image_batch, 'label_batch': label_batch, 'phase_train': phase_train_placeholder}
facenet.load_model(triplet_model, input_map=input_map)
# Get output tensor
embeddings = tf.get_default_graph().get_tensor_by_name("embeddings:0")
coord = tf.train.Coordinator()
tf.train.start_queue_runners(coord=coord, sess=sess)
fea_mat = np.zeros((num_patch,feature_size-4+2))
tracklet_list = os.listdir(patch_folder)
N_tracklet = len(tracklet_list)
cnt = 0
for n in range(N_tracklet):
tracklet_folder = patch_folder+'/'+tracklet_list[n]
patch_list = os.listdir(tracklet_folder)
# get patch list, track_id and fr_id, starts from 1
prev_cnt = cnt
for m in range(len(patch_list)):
# track_id
fea_mat[cnt,0] = n+1
# fr_id
fea_mat[cnt,1] = int(patch_list[m][-8:-4])
cnt = cnt+1
patch_list[m] = tracklet_folder+'/'+patch_list[m]
#print(n)
lfw_batch_size = len(patch_list)
emb_array = feature_encode(sess, eval_enqueue_op, image_paths_placeholder, labels_placeholder,
phase_train_placeholder,batch_size_placeholder, control_placeholder,
embeddings, label_batch, patch_list, lfw_batch_size, distance_metric)
fea_mat[prev_cnt:prev_cnt+lfw_batch_size,2:] = np.copy(emb_array)
return fea_mat