135、TensorFlow SavedModel工具类的使用

# SavedModelBuilder 类提供了保存多个MetaGraphDef的功能
# MetaGraph是一个数据流图,加上它的关联变量,资产和标签
# 一个MetaGraphDef是一个协议缓冲表示区
# 一个signature是计算图的输入和输出表示
# 如果assets需要被保存或者写入到磁盘上,当第一个MetaGraphDef被加载的时候
# asset就可以被提供
# 如果多个MetaGraphDef有相同的名字,只有第一个名字能够被持久化
# 每一个MetaGraphDef必须被打上用户标签
# 并且根据用户标签来加载和保存MetaGraphDef
# 随着变量的共享,这些标签标注了MetaGraphDef的功能,和在哪一个硬件上面运行的
import tensorflow as tf
export_dir = "tmp2/MetaGraphDir"
builder = tf.saved_model.builder.SavedModelBuilder(export_dir)
with tf.Session(graph=tf.Graph()) as sess:
    builder.add_meta_graph_and_variables(sess,
                                         ["TRAINING"],
                                         signature_def_map=foo_signatures,
                                         assets_collection=foo_assets
                                         )
# Add a sencod MetaGraphDef for inference
with tf.Session(graph=tf.Graph()) as sess:
    builder.add_meta_graph(["SERVING"])
builder.save()

 

posted @ 2018-02-17 11:27  香港胖仔  阅读(1046)  评论(0编辑  收藏  举报