Ich bin google Cloud Machine Learning Beta - und verwenden Sie die Setup-Hypertune mit Tensorflow.Google Cloud-Maschine lernen Hyperparameter Tuning zu vermeiden Nans
In einigen der Unterläufe der Hyperparameter-Tuning habe ich Verluste zu NaNs - und das stürzt die Berechnungen - die wiederum den Hyperparameter-Tuning-Job zu stoppen.
Error reported to Coordinator: <class 'tensorflow.python.framework.errors.InvalidArgumentError'>,
Nan in summary histogram for: softmax_linear/HistogramSummary [[Node: softmax_linear/HistogramSummary = HistogramSummary[T=DT_FLOAT,
_device="/job:master/replica:0/task:0/cpu:0"]
(softmax_linear/HistogramSummary/tag, softmax_linear/softmax_linear)]]
Caused by op u'softmax_linear/HistogramSummary', defined at: File
"/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main
Was ist die kanonische Art, diese zu behandeln? Soll ich die Verlustfunktion schützen?
Dank
Haben Sie versucht, [tf.add_check_numerics] (https://www.tensorflow.org/versions/r0.11/api_docs/python/control_flow_ops.html#add_check_numerics_ops) zu verwenden, um festzustellen, wo die Berechnung instabil wird? –
Zwei Fragen: (1) ist der Verlust in Ordnung für den ersten Teil des Trainings, ein "irgendwann" geht nach Nan (2) für genau die gleichen Einstellungen der Hyperparameter, die versagen, konvergiert das Modell irgendwann, oder immer gehen zu NaN? – rhaertel80
Es geht manchmal zu NaN, abhängig von den Hyperparametern. Grundsätzlich, wenn die Lernrate zu groß ist oder wenn die Anzahl der Funktionen zu hoch ist. Meine derzeitige Gegenmaßnahme besteht darin, den Erforschungsbereich für Hyperparameter-Tuning zu begrenzen. – MathiasOrtner