代码之家  ›  专栏  ›  技术社区  ›  mrk

TensorFlow中.pb和.pbtxt的区别?

  •  3
  • mrk  · 技术社区  · 6 年前

    在TensorFlow中保存图形时

    tf.train.write_graph(
        graph_or_graph_def,
        logdir,
        name,
        as_text=True
    )
    

    有此标志: as_text 如果 True ,将图形作为ASCII协议写入。

    我发现如果是的话 False 它将图形保存为二进制协议。

    • 我的问题是这两个原型有什么区别?
    • 为什么会有区别?
    • 他们比其他人有优势吗?
    1 回复  |  直到 6 年前
        1
  •  2
  •   mrk    6 年前

    感谢您的评论,我们可以回答这个问题(文本来自 here )

    文本还是二进制?

    Protobuf实际上可以保存两种不同的格式。

    • 文本格式

      是人类可读的形式,这使它很适合 调试 编辑 但当有数字数据(如存储在其中的权重)时会变大。您可以在graph_run_run2.pbtxt中看到一个小例子。

    • 二进制格式

      文件是 小得多 而不是它们的文本等价物,即使它们对我们来说没有可读性。在这个脚本中,我们要求用户提供一个标志,指示输入文件是二进制的还是文本的,所以我们知道要调用的函数是正确的。您可以在inception_3存档中找到一个大型二进制文件的示例,如inception_3_2016_08_28_freezed.pb。