如何在使用Keras方法flow_from_directory时对数据进行归一化

我想通过均值和标准差来归一化我的数据,就像这个例子一样:

datagen.fit(data)mean = datagen.mean  std = datagen.stdprint(mean, "mean")print(std, "std")

在此之前,在我的预测文件中,我会将这两个值(均值和标准差)传入这个方法中:

def normalize(x, mean, std):    x[..., 0] -= mean[0]    x[..., 1] -= mean[1]    x[..., 2] -= mean[2]    x[..., 0] /= std[0]    x[..., 1] /= std[1]    x[..., 2] /= std[2]    return x

但在我的训练文件中,我使用flow_from_directory方法来获取数据:

train_datagen = ImageDataGenerator(        zoom_range=0.2,        rescale=1./255,        shear_range=0.2,        horizontal_flip=True,        featurewise_center=True,        featurewise_std_normalization=True,)train_generator = train_datagen.flow_from_directory(TRAIN_DIR,    target_size=(224, 224),    batch_size=50,    class_mode='binary')

我的疑问是:如果我没有’x_train’数组,我如何在datagen.fit(data)中传入数据?

我这样做对吗?


回答:

你可以自己计算meanstd。之后只需将这些值设置到DataGenerator中:

datagen = image.ImageDataGenerator(featurewise_center=True,                               featurewise_std_normalization=True)datagen.mean = np.array([111.1, 222.2, 333.3], dtype=np.float32).reshape((1,1,3))datagen.std = np.array([5.3, 4.2, 6.3], dtype=np.float32).reshape((1,1,3))

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中创建了一个多类分类项目。该项目可以对…

发表回复

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