2016-06-13 9 views
6

Ich konnte nicht bekommen, dass ein DNNClassifier den Fortschritt während des Trainings druckt, dh Verlust und Validierungsbewertung. Wie ich verstanden habe, kann der Verlust mit dem config-Parameter gedruckt werden, der von BaseEstimator erbt, aber wenn ich ein RunConfig-Objekt übergeben habe, hat der Klassifikator nichts gedruckt.Wie kann der Fortschritt beim Training eines DNNC-Klassifikators im Tensorflow r0.9 (skflow) gedruckt werden?

from tensorflow.contrib.learn.python.learn.estimators import run_config 

config = run_config.RunConfig(verbose=1) 
classifier = learn.DNNClassifier(hidden_units=[10, 20, 10], 
          n_classes=3, 
          config=config) 
classifier.fit(X_train, y_train, steps=1000) 

Fehle ich etwas? Ich habe, wie RunConfig die ausführlichen Parameter behandelt und es scheint that it only cares if its greater than 1, die nicht mit der Dokumentation überein:

ausführliche: Steuert die Ausführlichkeit, mögliche Werte: 0: die Algorithmus und Debug-Informationen stumm geschaltet. 1: Der Trainer druckt den Fortschritt. 2: Protokollgeräteplatzierung wird gedruckt.

Wie für die Validierung Punktzahl dachte ich, dass monitors.ValidationMonitor mit wäre ganz gut, aber wenn es versucht, wird der Klassifikator nichts drucken, auch wenn versucht, nichts passiert early_stopping_rounds zu verwenden. Ich suche nach Dokumentation oder einigen Kommentaren im Quellcode, aber ich konnte keine für Monitore finden.

Antwort

8

diese vor der Anpassungsfunktion Hinzufügen zeigt den Fortschritt:

import logging 
logging.getLogger().setLevel(logging.INFO) 

Probe:

INFO:tensorflow:global_step/sec: 0 
INFO:tensorflow:Training steps [0,1000000) 
INFO:tensorflow:Step 1: loss = 10.5043 
INFO:tensorflow:training step 100, loss = 10.45380 (0.223 sec/batch). 
INFO:tensorflow:Step 101: loss = 10.5623 
INFO:tensorflow:training step 200, loss = 10.46701 (0.220 sec/batch). 
INFO:tensorflow:Step 201: loss = 10.3885 
INFO:tensorflow:training step 300, loss = 10.36501 (0.232 sec/batch). 
INFO:tensorflow:Step 301: loss = 10.3441 
INFO:tensorflow:training step 400, loss = 10.44571 (0.220 sec/batch). 
INFO:tensorflow:Step 401: loss = 10.396 
INFO:tensorflow:global_step/sec: 3.95