Я тренирую свою модель Keras под R с 4 классами хранения изображений в папках. Я использую train_datagen и rescale:
train_datagen = image_data_generator(
rescale = 1/255,
rotation_range = 40,
width_shift_range = 0.2,
height_shift_range = 0.2,
shear_range = 0.2,
zoom_range = 0.2,
horizontal_flip = TRUE,
fill_mode = "nearest"
)
Затем я использую свою модель для предсказания нового изображения с помощью следующего кода, и результаты действительно плохие, даже если мои тренировки дают мне точность 80%.
model <- load_model_hdf5("my_model.h5")
img <- image_load(image, target_size = c(64,64))
x <- image_to_array(img)
x <- array_reshape(x, c(1, dim(x)))
x <- imagenet_preprocess_input(x)
predictions <- model %>% predict(x)
Я хотел бы знать, нужно ли мне изменять масштаб моего нового изображения, как это было во время тренировки, или мне нужно тренироваться без изменения масштаба? Как реализовать масштабирование в прогнозе?