Я обучил модель ResNet-50 для классификации некоторых данных на 10 классов.Классификатор получил точность ~ 98%, если я использую правильный набор поездов, тестов и проверок.С другой стороны, если я использую набор валидации для целей валидации и тестирования, это сделает очень плохой прогноз с точностью до 0.x%.почему это?Я думал, что использование проверки на этапе тестирования приведет к аналогичному результату точности с точностью этапа проверки.
Я загружаю свой набор данных с помощью ImageDataGenerator от keras, как следует
datagen = ImageDataGenerator(preprocessing_function=preprocess_input)
traingen = datagen.flow_from_directory(TRAIN_PATH, target_size=(224,224), batch_size=32, class_mode='categorical')
validgen = datagen.flow_from_directory(VALID_PATH, target_size=(224,224), batch_size=32, class_mode='categorical', shuffle=False)
обучаем мою модель следующим образом
train_history = custom_resnet.fit_generator(traingen, steps_per_epoch=len(traingen), epochs= EPOCHS, validation_data=validgen, validation_steps=len(validgen), verbose=2, callbacks=[es_callback, mc_callback])
сделать прогноз следующим образом
predict = custom_resnet.predict_generator(validgen, steps=len(validgen), verbose=1)