Я пытаюсь использовать zca_whitening с опцией обработки изображений keras, но расчет застревает и никогда не заканчивается. Моя часть кода, вызывающая проблему, выглядит следующим образом:
train_datagen = ImageDataGenerator(rotation_range=30, zca_whitening=True)
def read_pil_image(img_path, height, width):
with open(img_path, 'rb') as f:
return np.array(Image.open(f).convert('RGB').resize((width, height)))
def load_all_images(dataset_path, height, width, img_ext='jpg'):
return np.array([read_pil_image(str(p), height, width) for p in
Path(dataset_path).rglob("*."+img_ext)])
zca_dir = 'some/path/to_jpg_images/'
train_datagen.fit(load_all_images(zca_dir, height, width))
Когда я выполняю вышеизложенное, он застревает на train_datagen.fit()
. Сообщение об ошибке не отображается. Я обнаружил, что если я просто закомментирую zca_whitening и заменим его samplewise_center=True, samplewise_std_normalization=True
, код работает просто отлично.
Сначала я подумал, что, возможно, каталог zca_dir содержит слишком много изображений, поэтому я уменьшил их до 30. Тем не менее, та же проблема. Проблема появляется на 2 разных машинах с 2 разными версиями керас. В этом посте есть предложение изменить размеры моих изображений с [80,80,3] до [3,80,80], но это ничего не меняет.
Вы знаете, как я могу решить это? Спасибо