【问题标题】:How to use rescale in predict如何在预测中使用重新缩放
【发布时间】:2019-12-19 17:20:19
【问题描述】:

我在 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)

我想知道是否需要像训练时那样重新调整新图像,还是必须在不重新调整的情况下进行训练?如何在 predict 中实现 rescale ?

【问题讨论】:

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


    【解决方案1】:

    在测试阶段,您应该对您在训练阶段使用的数据应用相同的预处理步骤。由于您仅在训练阶段使用了重新缩放,因此您只需要在测试阶段执行此操作。因此,删除x &lt;- imagenet_preprocess_input(x) 并改用x &lt;- x / 255.0

    【讨论】:

      猜你喜欢
      • 2021-10-21
      • 2015-03-08
      • 2021-10-17
      • 1970-01-01
      • 2021-11-12
      • 1970-01-01
      • 2019-10-04
      • 2017-01-17
      相关资源
      最近更新 更多