[英]How does Keras shuffle the data in method flow_from_directory?
[英]How to perform normalization in my data if i'm using the keras method Flow_from_firectory
我想用平均值和標准差對我的數據進行標准化,例如:
datagen.fit(data)
mean = datagen.mean
std = datagen.std
print(mean, "mean")
print(std, "std")
在此之前,在我的預測文件中,我將放置 2 個值(均值和標准差)來調用此方法:
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)
?
我做得對嗎?
您可以自己計算均值和標准差。 之后,只需將這些值設置為 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))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.