张量流中.pb和.pbtxt之间的区别?

mrk*_*mrk 5 binary ascii graph protocol-buffers tensorflow

在tensorflow中保存图形时

tf.train.write_graph(
    graph_or_graph_def,
    logdir,
    name,
    as_text=True
)
Run Code Online (Sandbox Code Playgroud)

有此标志:: as_text如果为True,则将图形写为ASCII原型。

我发现,如果是,False它将图形另存为二进制原型。

  • 我的问题是,这两个原型之间有什么区别?
  • 为什么会有区别呢?
  • 他们有优势吗?

mrk*_*mrk 12

感谢评论,可以回答这个问题(文本来自此处

文本还是二进制?

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

  • 文本格式

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

  • 二进制格式

    文件比它们的文本等价物小很多,即使它们对我们来说不那么可读。在此脚本中,我们要求用户提供一个标志,指示输入文件是二进制文件还是文本文件,以便我们知道要调用的正确函数。您可以在 inception_v3 存档中找到一个大型二进制文件的示例,如 inception_v3_2016_08_28_frozen.pb。