在合并 TensorFlow 图时保留占位符名称可以通过以下步骤实现:
name
参数为占位符指定一个名称。例如:x = tf.placeholder(tf.float32, shape=(None, 10), name='input_placeholder')tf.import_graph_def
函数的 name
参数来指定合并后的图中的命名空间。例如:merged_graph_def = tf.GraphDef()
with tf.Session() as sess:
# 导入第一个图
with tf.gfile.FastGFile('graph1.pb', 'rb') as f:
graph_def1 = tf.GraphDef()
graph_def1.ParseFromString(f.read())
tf.import_graph_def(graph_def1, name='graph1')
# 导入第二个图
with tf.gfile.FastGFile('graph2.pb', 'rb') as f:
graph_def2 = tf.GraphDef()
graph_def2.ParseFromString(f.read())
tf.import_graph_def(graph_def2, name='graph2')
# 合并图
merged_graph_def.ParseFromString(sess.graph.as_graph_def().SerializeToString())
tf.train.write_graph(merged_graph_def, '', 'merged_graph.pb', as_text=False)在合并后的图中,占位符将保留其原始名称,并以命名空间的形式进行访问。例如,可以通过 graph1/input_placeholder:0
和 graph2/input_placeholder:0
来引用两个不同图中的同名占位符。
推荐的腾讯云相关产品:腾讯云 AI 引擎(https://cloud.tencent.com/product/aiengine)提供了丰富的人工智能能力,包括图像识别、语音识别、自然语言处理等,可与 TensorFlow 结合使用。
领取专属 10元无门槛券
手把手带您无忧上云