#keras #generator #prediction
#keras #генератор #прогнозирование
Вопрос:
Я пытаюсь создать увеличение времени тестирования в Keras. Я тестирую свой код, не выполняя никакого увеличения изображения. Он перебирает мой фрейм данных 5 раз со всеми строками, вычисляемыми в каждом цикле. Точность первого цикла великолепна! Точность циклов 2-5 в 10 раз хуже, чем предсказания, сделанные в цикле 1. flow_from_dataframe
Имеет shuffle=False
.
Я также протестировал код с соответствующим увеличением изображения в ImageDataGenerator
функции. Я получаю аналогичные результаты с хорошей точностью в первом цикле и в 10 РАЗ худшей точностью в циклах 2-5. У вас есть какие-либо предложения о причинах изменения производительности? Меняется ли порядок?
TTA_data_datagen = ImageDataGenerator(rescale=1./255,
fill_mode='nearest')
TTA_generator = TTA_data_datagen.flow_from_dataframe(dataframe=train_df2,
target_size=(96,96),
x_col='img_path',
y_col='label',
class_mode="binary",
batch_size=20,
shuffle=False)
predictions = []
predict_steps_per_epoch= len(train_df2.label) /20
for i in range(5):
preds = final_model.predict_generator(TTA_generator, steps=predict_steps_per_epoch)
predictions.append(preds)
Комментарии:
1. могу ли я узнать, почему model.predict_generator находится внутри цикла for? , даже при случайном перемещении он должен каждый раз выдавать одинаковую точность, потому что веса в модели и наборе тестов не меняются.
2. Я хотел бы выполнить некоторое увеличение изображения и выполнить несколько предсказаний для одного и того же изображения. Конечным прогнозом будет среднее значение прогноза дополненного изображения. В настоящее время я не выполняю никакого увеличения изображения, за исключением необходимого изменения масштаба. Я думаю, что я должен получать одно и то же предсказание в каждом предсказании цикла for. Однако это не так. Первая итерация цикла дает хорошие результаты, но остальные итерации выполняются плохо. Похоже, что мои данные перемешиваются, но shuffle = False.