Критерии остановки для предварительно сделанных оценок в TensorFlow - PullRequest
0 голосов
/ 19 октября 2018

У меня есть вопрос об оценках TensorFlow в tf.estimator, в частности DNNClassifier.В документации сказано: :

max_steps: общее количество шагов, для которых обучается модель.Если None, тренироваться вечно или тренироваться до тех пор, пока input_fn не сгенерирует ошибку OutOfRange или StopIteration исключение

В документе наборы данных для оценщиков упоминается, что дляДля обучения вам необходимо использовать методы shuffle(), repeat() и batch_size, чтобы итератор в наборе данных останавливался после однократного прохождения данных.

Означает ли это, что предварительносделанные оценки, такие как DNNClassifier, не имеют критерия остановки, основанного на скорости обучения или изменениях в потере?Действительно ли это так, что эти модели можно остановить только на основе того, как вы указали функцию ввода, или указав максимальное количество шагов?

1 Ответ

0 голосов
/ 19 октября 2018

TensforFlow не будет предполагать знать, на какой скорости обучения или потери он должен остановиться.Это разумно, потому что они зависят от проблемы.Вы можете обоснованно утверждать, что он может вывести разумный предел на основе ошибки округления для данных типов данных (если они согласованы, например, float32), но тогда многие проблемы должны быть остановлены раньше.Поэтому не существует разумного, широко применимого значения по умолчанию.

Однако вы можете сами контролировать это поведение с помощью обратных вызовов.TensorFlow включает обратный вызов EarlyStopping.Вы можете найти документацию (python) для него здесь .

...