Аргументы в Keras для предварительной обработки изображений - PullRequest
0 голосов
/ 20 ноября 2018

На странице предварительной обработки изображения keras это не объясняется, и я не могу понять, что я делаю неправильно. Здесь есть один комментарий к stackoverflow об этом, но для меня это все еще не имеет смысла. Для следующего кода:

# we create two instances with the same arguments
data_gen_args = dict(featurewise_center=True,
                     featurewise_std_normalization=True,
                     rotation_range=90,
                     width_shift_range=0.1,
                     height_shift_range=0.1,
                     zoom_range=0.2)
image_datagen = ImageDataGenerator(**data_gen_args)
mask_datagen = ImageDataGenerator(**data_gen_args)

# Provide the same seed and keyword arguments to the fit and flow methods
seed = 1
image_datagen.fit(images, augment=True, seed=seed)
mask_datagen.fit(masks, augment=True, seed=seed)

image_generator = image_datagen.flow_from_directory(
    '...data/train_images',
    class_mode=None,
    seed=seed)

mask_generator = mask_datagen.flow_from_directory(
    '...data/train_labels',
    class_mode=None,
    seed=seed)

# combine generators into one which yields image and masks
train_generator = zip(image_generator, mask_generator)

Model.fit_generator(
    train_generator,
    steps_per_epoch=20,
    epochs=1)

Я не могу понять, какова цель строки image_datagen.fit(images, augment=True, seed=seed) и что влечет за собой аргумент 'images'. Это должна быть матрица всех изображений? Как это должно быть отформатировано? То же самое относится к аргументу маски ниже этой строки. Я не могу понять цель этих строк и аргументов.

У меня есть изображения в массиве dtype uint8 и shape (625, 256, 256, 4), а также метки dtype uint8 и shape (625, 256,256). Кроме того, они хранятся в виде 625 отдельных изображений и масок в каталоге, указанном в коде.

Я постоянно получаю ValueError: Input to .fit () should have rank 4. Получил массив с формой: (625, 256, 256). Я понимаю, что должен добавить другое измерение. Когда я изменяю его на (625, 256, 256, 1) (из которого я не уверен, что это правильно или влияет на модель), я получаю следующую ошибку:

TypeError: fit_generator() missing 1 required positional argument: 'generator'.

Есть ли кто-нибудь, кто может объяснить концепции этих аргументов и, возможно, даже сказать мне, как отформатировать / сформировать мой код для правильной работы этого?

Заранее спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...