Я использовал следующую функцию в моем графике tf
flipped_x = tf.image.flip_left_right(x)
, но это добавляет дополнительный выходной узел к графику
flip_left_right/assert_positive/assert_less/All:0
, почему это так?а также есть ли способ удалить это?
Мой график tf выглядит следующим образом:
graph = tf.Graph()
with graph.as_default():
with tf.Session() as sess:
x = tf.placeholder(tf.uint8, name='uint_img')
x = tf.to_float(x,name='input_images')
x = tf.subtract(x, 127.5, name='submean')
x = tf.multiply(x,0.0078125, name='normalized_images')
flipped_x = tf.image.flip_left_right(x)
combined_x = tf.concat([x,flipped_x],0,name="concat_input")
pre_graph_def = graph.as_graph_def(add_shapes=True)
pre_graph = tf.import_graph_def(pre_graph_def)
dropout=tf.convert_to_tensor(1.0)
saver = tf.train.import_meta_graph("model.ckpt.meta",input_map={'dropout_rate:0':dropout, 'img_inputs:0': combined_x})
saver.restore(sess, ".ckpt")
model_out = tf.get_default_graph().get_tensor_by_name("out:0")
normal_embs, flipped_embs = tf.split(model_out, 2, name="split_flip_normal")
combined_ = tf.add(normal_embs,flipped_embs, name = "combine_embs")
out = tf.nn.l2_normalize(combined_, name="face_representation")
frozen_graph = tf.graph_util.convert_variables_to_constants(
sess,
tf.get_default_graph().as_graph_def(),
output_node_names=[out.op.name])
with open('end_to_end_model.pb', 'wb') as f:
f.write(frozen_graph.SerializeToString())
Этот график создан для добавления предварительной и последующей обработки к уже существующей модели.