«Есть некоторые функции, которые могут вам помочь, но не может быть универсального по умолчанию, потому что input_shape вашей модели неизвестен.

оложим, вы обучаетеtf.estimator.Estimator с участиемtf.estimator.train_and_evaluate с использованием набора данных проверки в настройке, аналогичной@ simlmx-х:

classifier = tf.estimator.Estimator(
    model_fn=model_fn,
    model_dir=model_dir,
    params=params)

train_spec = tf.estimator.TrainSpec(
    input_fn = training_data_input_fn,
)

eval_spec = tf.estimator.EvalSpec(
    input_fn = validation_data_input_fn,
)

tf.estimator.train_and_evaluate(
    classifier,
    train_spec,
    eval_spec
)

Часто используется набор данных проверки для прекращения обучения, чтобы предотвратить перевыбор, когда потеря продолжает улучшаться для набора данных обучения, но не для набора данных проверки.

В настоящее времяtf.estimator.EvalSpec позволяет указать, через сколькоsteps (по умолчанию 100) для оценки модели.

Как можно (по возможности не использоватьtf.contrib функции) назначить для прекращения обучения послеn количество оценочных звонков (n * steps) когда потеря оценки не улучшается, а затем сохраняют «лучшую» модель / контрольную точку (определенную набором данных проверки) в уникальное имя файла (например,best_validation.checkpoint)