Валидация и тестирование в оценщике Tensforflow против Keras

1

Я прочитал ответы здесь и пытаясь понять, как training, validation и testing карта для Tensorflow оценщик API и Keras API.

A: Тензорный поток

Функция tf.estimator.train_and_evaluate принимает train_spec и eval_spec.

Здесь, evaluate средняя validation или testing в вышеуказанной терминологии? Если он testing, где я могу указать validation set?

B: Keras

В Keras это кажется более ясным, model.fit принимает аргумент validation_data, который предназначен для validation set. Существует отдельная функция model.evaluate, которой мы предоставляем test set. Это правильно?

Теги:
tensorflow
keras
tensorflow-estimator

1 ответ

2

На практике термины "набор тестов" и "набор проверки" используются взаимозаменяемо (перевернуты от того, как они описаны выше). В результате становится общепринятым ссылаться на тот, который используется во время обучения, чтобы называться либо набором тестов/валидации. Чтобы устранить неоднозначность, набор, который откладывается для настройки гиперпараметра (здесь описывается как набор валидации), обычно упоминается как набор ограничений (источник)

Основываясь на этом определении, вы можете сделать одну простую вещь. Например, предположим, что первым набором данных является "поезд", второй - "валидация" (как в keras) для оценки модели в режиме реального времени на каждом шаге, а конечный набор данных - это "тест". вы можете просто проверить модель, как только закончите обучение, запустив model.predict в тестовом наборе данных, чтобы увидеть, как ваша модель работает с невидимыми данными.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню