web-dev-qa-db-ja.com

テンソルフローの.pbと.pbtxtの違いは?

グラフをテンソルフローに保存するとき

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

このフラグがあります:as_textTrueの場合、グラフをASCII proto。

Falseの場合、グラフはバイナリプロトとして保存されることがわかりました。

  • 私の質問は、これら2つのプロトの違いは何ですか?
  • そして、なぜ違いがあるのですか?
  • 彼らは他のものよりも利点がありますか?
8
mrk

コメントのおかげで、この質問には答えることができます(テキストは here から、更新されたリンクは here

テキストまたはバイナリ?

実際には、ProtoBufを保存できる2つの異なる形式があります。

  • TextFormat

    debuggingおよびediting、ただし、重みなどの数値データが格納されている場合は大きくなる可能性があります。その小さな例は、graph_run_run2.pbtxtにあります。

  • バイナリ形式

    ファイルは同等のテキストよりもはるかに小さいが、私たちにはそれほど読みやすくはありません。このスクリプトでは、入力ファイルがバイナリであるかテキストであるかを示すフラグをユーザーに提供するように求めているため、呼び出す適切な関数がわかります。 inception_v3_2016_08_28_frozen.pbのように、inception_v3アーカイブ内に大きなバイナリファイルの例があります。

8
mrk