La prise en charge du graphe figé continuera-t-elle dans tensorflow 2.0 ou est-elle obsolète? Je veux dire les scripts et les API pour créer / optimiser un graphique figé à partir de saved_model. Aussi les API pour exécuter l'inférence pour le même.
En supposant qu'il sera pris en charge à l'avenir, quelle est la méthode recommandée pour exécuter l'inférence sur un graphe figé dans tensorflow 2.0?
3 Réponses :
Les API Freeze Graph - freeze_graph .py
et converter_variables_to_constants code >
- ne sera pas pris en charge dans TensorFlow 2.0.
Dans la version 2.0, le format d'exportation principal est SavedModels . Les API sont donc conçues pour prend en charge SavedModels.
Les inférences sur les graphiques figés existants peuvent être exécutées en utilisant le chemin v1.compat
.
Désormais, freeze_graph
est officiellement parti avec la version stable de TensorFlow 2.0.
si vous utilisez estimator pour biuld un modèle, vous pouvez utiliser tf.estimator.Estimator.export_saved_model pour figer votre modèle.
model = tf.estimator.Estimator( model_fn=model_fn, model_dir=model_saved_dir) def serving_input_receiver_fn(): # in here, my input is 512 x 512 single channel image feature = tf.compat.v1.placeholder(tf.float32, shape=[None, 512, 512, 1], name="inputs") return tf.estimator.export.TensorServingInputReceiver(feature, feature) model.export_saved_model(model_saved_dir, serving_input_receiver_fn)
ce code fonctionne dans tensorflow 2.0
ou vous utilisez keras, vous pouvez vous référer aux étapes du site officiel https://www.tensorflow.org/tutorials/keras/save_and_load#savedmodel_format
qu'entendez-vous par graphique figé?
La plupart du temps, les modèles tensorflow 1.x sont partagés en figeant le graphique pour l'inférence. Vous pouvez consulter ceci pour plus de détails sur: github.com / tensorflow / tensorflow / blob / master / tensorflow / pyth on /…