通过保存模型之间的区别是什么

使用tensorflow服务中指定的exporter的

  • :

  • 例如:
    from tensorflow.contrib.session_bundle import exporter
    #from tensorflow_serving.session_bundle import exporter
    saver = tf.train.Saver(sharded=True)
    model_exporter = exporter.Exporter(saver)
    model_exporter.init(
            sess.graph.as_graph_def(),
            named_graph_signatures={
                'inputs': exporter.generic_signature({'images': x}),
                'outputs': exporter.generic_signature({'scores': y})})
    model_exporter.export(export_path, tf.constant(FLAGS.export_version), sess)
    
  • 直接使用tf.train.write_graph()和tf.train.Saver():

  • 例如:
    with sess.graph.as_default():
        saver = tf.train.Saver()
        saver.save(sess, path, meta_graph_suffix='meta', write_meta_graph=True)
    

    问题是TensorFlow saving into/loading a graph from a file的继续

    最佳答案

    鉴于现已正式弃用了Exporter,因此用于保存图形和数据的新协议(protocol)将使用Saver。这是一个带有示例代码的优秀博客:https://blog.metaflow.fr/tensorflow-how-to-freeze-a-model-and-serve-it-with-a-python-api-d4f3596b3adc

    10-08 13:00