[python] TensorFlow sauvegarde dans / charger un graphique à partir d'un fichier



Answers

Question

D'après ce que j'ai recueilli jusqu'à maintenant, il existe plusieurs façons de déverser un graphique TensorFlow dans un fichier, puis de le charger dans un autre programme, mais je n'ai pas réussi à trouver des exemples ou des informations claires sur leur fonctionnement. Ce que je sais déjà est ceci:

  1. Enregistrez les variables du modèle dans un fichier de point de contrôle (.ckpt) en utilisant un tf.train.Saver() et restaurez-les plus tard ( source )
  2. Enregistrez un modèle dans un fichier .pb et rechargez-le en utilisant tf.train.write_graph() et tf.import_graph_def() ( source )
  3. Charger dans un modèle à partir d'un fichier .pb, le recycler et le vider dans un nouveau fichier .pb en utilisant Bazel ( source )
  4. Figer le graphique pour enregistrer le graphique et pondérer ensemble ( source )
  5. Utilisez as_graph_def() pour enregistrer le modèle, et pour les poids / variables, les mapper en constantes ( source )

Cependant, je n'ai pas réussi à éclaircir plusieurs questions concernant ces différentes méthodes:

  1. En ce qui concerne les fichiers de point de contrôle, sauvegardent-ils seulement les poids formés d'un modèle? Les fichiers de points de contrôle peuvent-ils être chargés dans un nouveau programme et être utilisés pour exécuter le modèle, ou servent-ils simplement à enregistrer les poids dans un modèle à un moment donné?
  2. En tf.train.write_graph() qui concerne tf.train.write_graph() , les poids / variables sont-ils également sauvegardés?
  3. En ce qui concerne Bazel, peut-il seulement enregistrer dans / charger à partir de fichiers .pb pour la rééducation? Y a-t-il une simple commande Bazel juste pour vider un graphique dans un fichier .pb?
  4. En ce qui concerne le gel, un graphique gelé peut-il être chargé en utilisant tf.import_graph_def() ?
  5. La démo Android pour TensorFlow est chargée dans le modèle Inception de Google à partir d'un fichier .pb. Si je voulais substituer mon propre fichier .pb, comment pourrais-je faire cela? Aurais-je besoin de changer un code / des méthodes natifs?
  6. En général, quelle est exactement la différence entre toutes ces méthodes? Ou plus généralement, quelle est la différence entre as_graph_def() /.ckpt/.pb?

En bref, ce que je cherche est une méthode pour enregistrer à la fois un graphique (comme dans, les différentes opérations et autres) et ses poids / variables dans un fichier, qui peut ensuite être utilisé pour charger le graphique et pondérer dans un autre programme , pour l'utilisation (pas nécessairement continue / recyclage).

La documentation sur ce sujet n'est pas très simple, donc toute réponse / information serait grandement appréciée.






Related