web-dev-qa-db-fra.com

Différence entre .pb et .pbtxt dans tensorflow?

Lors de l'enregistrement d'un graphique dans tensorflow

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

Il y a ce drapeau: as_text: Si True, écrit le graphique comme un ASCII proto.

J'ai découvert que s'il s'agit de False, il enregistre le graphique en tant que proto binaire.

  • Ma question est quelle est la différence entre ces deux protos?
  • Et pourquoi y a-t-il une différence?
  • Ont-ils des avantages par rapport à un autre?
8
mrk

Merci à un commentaire cette question peut être répondue (le texte est de ici et un lien mis à jour est ici )

Texte ou binaire?

Il existe en fait deux formats différents dans lesquels un ProtoBuf peut être enregistré.

  • TextFormat

    est une forme lisible par l'homme, ce qui le rend agréable pour le débogage et l'édition , mais peut devenir volumineux lorsqu'il contient des données numériques telles que des poids. Vous pouvez voir un petit exemple de cela dans graph_run_run2.pbtxt.

  • Format binaire

    les fichiers sont beaucoup plus petits que leurs équivalents texte, même s'ils ne sont pas aussi lisibles pour nous. Dans ce script, nous demandons à l'utilisateur de fournir un indicateur indiquant si le fichier d'entrée est binaire ou texte, afin que nous connaissions la bonne fonction à appeler. Vous pouvez trouver un exemple de gros fichier binaire dans l'archive inception_v3, comme inception_v3_2016_08_28_frozen.pb.

8
mrk