Я вижу, что imageDataGenerator позволяет мне указывать разные стили нормализации данных, например. featurewise_center, samplewise_center и т.д.
Из приведенных примеров видно, что если я укажу одну из этих опций, то мне нужно вызвать метод fit на генераторе, чтобы позволить генератору вычислить статистику как среднее изображение на генераторе.
(X_train, y_train), (X_test, y_test) = cifar10.load_data()
Y_train = np_utils.to_categorical(y_train, nb_classes)
Y_test = np_utils.to_categorical(y_test, nb_classes)
datagen = ImageDataGenerator(
featurewise_center=True,
featurewise_std_normalization=True,
rotation_range=20,
width_shift_range=0.2,
height_shift_range=0.2,
horizontal_flip=True)
# compute quantities required for featurewise normalization
# (std, mean, and principal components if ZCA whitening is applied)
datagen.fit(X_train)
# fits the model on batches with real-time data augmentation:
model.fit_generator(datagen.flow(X_train, Y_train, batch_size=32),
samples_per_epoch=len(X_train), nb_epoch=nb_epoch)
Мой вопрос: как работает предсказание, если я задал нормализацию данных во время обучения? Я не вижу, как в рамках я бы даже передал знания о среднем значении /std для обучения, чтобы предсказать, чтобы я сам нормализовал свои тестовые данные, но я также не вижу в коде обучения, где эта информация сохранены.
Требуется ли статистика изображения для нормализации, хранящаяся в модели, чтобы они могли использоваться во время предсказания?