2017-08-25 1 views
0

Warum gibt es im Tensorflow-Layer-Lernprogramm kein Sitzungsobjekt? Ist es möglich, es in irgendeiner Weise zu erhalten?Sitzungsobjekt in Tensorflow nicht angegeben. MNIST-Lernprogramm

Tutorial: https://www.tensorflow.org/tutorials/layers

Quellcode: https://github.com/tensorflow/tensorflow/blob/r1.3/tensorflow/examples/tutorials/layers/cnn_mnist.py

In weiterer Entwicklung könnte das Sitzungsobjekt benötigt werden, um das trainierte Modell zu speichern, zum Beispiel:

session = tf.Session() 
saver = tf.train.Saver() 

# some processing here 

saver.save(session, 'myModel',global_step=1000) 

Dank!

Antwort

0

Die TensorFlow tf.layers tutorial verwendet tf.estimator.Estimator als eine High-Level-API, die die Details zum Erstellen einer Sitzung verbirgt und eine Trainingsschleife schreibt, die Ihr Modell prüft und Zusammenfassungen protokolliert. Stattdessen geben Sie eine input_fn an, die Ihre Eingabedaten beschreibt, und eine model_fn, die die Layerstruktur beschreibt.

Wenn Sie die tf.Session (oder tf.train.MonitoredSession) API direkt verwenden möchten, können Sie die model_fn direkt in Ihrem eigenen Code aufrufen und einen Optimierer erstellen, Schoner etc. nach Bedarf.

+0

Vielen Dank für Ihre Antwort. Meine Frage bezog sich auf das Speichern des Modells, aber es scheint automatisch mit der 'Estimator'-Klasse zu erfolgen, worauf Sie hingewiesen haben. Um es später zu laden, stellte sich heraus, dass ich es nur definieren musste: 'learn.Estimator (model_fn = cnn_model_fn, model_dir =" ./ model ") und das war's. – user

Verwandte Themen