Обычно у вас есть 3 набора данных, 1 для обучения, 1 для проверки и 1 для тестирования.Все эти наборы данных должны быть уникальными, изображение обучающего набора может не появиться в проверочном или тестовом наборе и т. Д. Вы тренируетесь с обучающим набором, и после каждой эпохи вы проверяете модель с данными проверки.Оптимизаторы всегда будут пытаться обновить веса, чтобы идеально классифицировать данные обучения, поэтому точность обучения будет очень высокой (> 90).Данные проверки - это данные, которые модель никогда не видела раньше, и выполняемые после каждой эпохи (или x шагов), чтобы показать, насколько хорошо модель реагирует на данные, еще не видела, это показывает, насколько хорошо модель улучшится со временем.,
Чем больше вы тренируетесь, тем выше точность обучения, поскольку оптимизатор приложит все усилия, чтобы довести это значение до 100%.Данные проверки, которые не обновляют веса, также увеличивают сверхурочные, но не постоянно.В то время как точность обучения продолжает улучшаться, точность проверки может перестать улучшаться.В тот момент, когда точность проверки со временем уменьшается, ну, тогда вы переоснащаете.Это означает, что в модели слишком много внимания уделяется обучающим данным и что она не может правильно классифицировать другого персонажа, если он отличается от обучающего набора.
В конце всего обучения вы используете набор тестов.это определит фактическую точность вашей модели для новых данных.
@ xmacz: Я пока не могу добавлять комментарии, только ответы, поэтому я просто обновляю свой ответ.Да, я проверил исходный код, ваши первые строки кода тестируют модель на тестовых данных