如何在预测中使用缩放

时间:2019-08-13 07:16:12

标签: r machine-learning image-processing keras predict

我在R下训练我的Keras模型,并在文件夹中存储4类图像。我使用train_datagen并重新缩放:

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)

我想知道我是否需要像训练时一样重新调整新形象,还是必须在不重新调整的情况下进行训练?如何在预测中实现重新缩放?

1 个答案:

答案 0 :(得分:0)

在测试阶段,应该对训练阶段中使用的数据应用相同的预处理步骤。由于仅在训练阶段使用了重新缩放,因此只需要在测试阶段进行。因此,请删除x <- imagenet_preprocess_input(x),而改用x <- x / 255.0