Точность вывода тестовых данных во время обучения

Как следует из названия, я хотел бы узнать, можно ли вывести точность данных теста, а также данных обучения, чтобы увидеть, в какой момент моя модель начинает переобучаться и в результате худшая производительность на тестовых данных. Однако я не знаю, как это сделать, и мне не удалось найти ответ в Интернете.

Для обучения модели я использую встроенный метод fit.

Это возможно? Спасибо.


person Michael Pulis    schedule 11.12.2020    source источник
comment
Вы используете индивидуальный цикл обучения? fit метод Кераса? Или любой другой предопределенный цикл? Короткий ответ - да. Как? Зависит от того, какой код вы используете. Поэтому, если вы хотите получить более конкретный ответ, вы должны показать нам свой цикл обучения.   -  person Matus Dubrava    schedule 11.12.2020
comment
Привет. Я использую встроенный метод fit.   -  person Michael Pulis    schedule 11.12.2020
comment
Если под тестовыми данными вы имеете в виду данные проверки, вы можете сделать это, просто добавив «точность» к своим показателям. Но если вы действительно имеете в виду данные test, вам следует написать обратный вызов и внутри его функции on_epoch_end вы можете распечатать точность вашего набора тестов. Если вам нужна дополнительная информация, дайте мне знать   -  person amin    schedule 11.12.2020


Ответы (1)


Как правило, лучше всего разделить ваши данные на обучающий набор, набор для проверки и набор тестов. Обычно я использую 80% данных для обучающего набора, 10% для набора проверки и 10% для набора тестов. model.fit предоставляет возможность указать как обучающий набор, так и набор проверки в качестве параметров. Для каждой эпохи обучения тензорный поток будет производить распечатку точности обучения, потерь при обучении, точности проверки и потерь при проверке, если вы установите подробное описание на 1 или 2 и включите «точность» в качестве метрики в model.compile. Затем вы можете посмотреть значения потерь (лучше всего построить их с помощью history.history) и определить, не переборщили ли вы. Есть несколько способов разработать набор для проверки. Если ваши данные не создаются генераторами, вы можете указать параметр validation_split в model.fit для автоматического создания набора проверки. В качестве альтернативы вы можете использовать ImageDataGenerator.flow_from_directory для создания набора проверки, установив параметр validation_split. Документация находится здесь.

person Gerry P    schedule 11.12.2020
comment
Я использую набор данных, который я создал сам, который является конкретной версией набора данных Free Music Archive. Использование validation_split=0.2 в fit функции_ (на примере 0.2) _ сделало именно то, что я искал. Спасибо! - person Michael Pulis; 11.12.2020