2017-09-29 1 views
1

Die tensorflow Tutorial auf https://www.tensorflow.org/get_started/get_started ein Beispiel Auswahl für Schätzer hat, wo sie den linearen Regressor Modell erstellen, wie unten gezeigt und 'eval_input_fn' warum müssen wir 'num_epochs = 1000' auswählen?num_epochs Wert für das Tutorial Beispiel in Tensorflow

Dies sind die Ausgänge mit unterschiedlichen 'num_epochs' Werte:

num_epochs = 1000

train metrics: {'global_step': 1000, 'loss': 4.3708383e-08, 'average_loss': 1.0927096e-08} 
eval metrics: {'global_step': 1000, 'loss': 0.010135064, 'average_loss': 0.002533766} 

num_epochs = 1

train metrics: {'global_step': 1000, 'loss': 9.6500253e-07, 'average_loss': 2.4125063e-07} 
eval metrics: {'global_step': 1000, 'loss': 0.010293347, 'average_loss': 0.0025733367} 

I war der Wert von 'Verlust' erwartet und " average_loss 'ist gleich, wenn num_epochs = 1 ist. Kann mir jemand helfen, das zu verstehen?

Danke.

Antwort

0

Ihre Intuition ist richtig:

0.002533766 == 0.010293347/4 

oder

0.002533766 == 0.010293347/x_eval.shape[0] 

oder

average_loss == epoch_loss/x_eval.shape[0] 

aber auch ich bin ratlos, warum Sinn mehrere Epochen zur Auswertung der Auswahl macht, esp. wenn x_eval.shape[0] == batch_size. Vielleicht haben sie nur versucht zu zeigen, dass die Funktion tf.estimator.inputs.numpy_input_fnnum_epochs als Parameter akzeptiert.