如何在预测中使用重缩放

我在R中训练了一个Keras模型,处理了存储在文件夹中的四类图像。我使用了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)

我想知道在预测新图像时是否需要像训练时那样进行重缩放处理,还是应该在训练时不进行重缩放?如何在预测中实现重缩放?


回答:

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

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注