Keras中用于图像预处理的参数

时间:2018-11-19 22:48:41

标签: python image-processing keras semantic-segmentation

keras image preprocessing page上没有进行解释,我无法弄清楚自己在做什么错。这里有关于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'参数需要什么。它应该是所有图像的矩阵吗?应该如何格式化?该行下方的masks参数也是如此。我无法把握这些界限和论点的目的。

我将图像放在dtype uint8和shape(625、256、256、4)的numpy数组中,并将标签标记为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'.

有没有人可以解释这些参数的概念,甚至可以告诉我如何格式化/调整我的代码以使其正常工作?

预先感谢

0 个答案:

没有答案