ImageDataGenerator dtype不会更改数据类型

时间:2019-12-07 20:46:13

标签: python keras casting generator

我正在尝试将ImageDataGenerator的输出数据转换为整数。这是我的发电机:

train_mask_data_gen = ImageDataGenerator(rotation_range=10,
                                         width_shift_range=10,
                                         height_shift_range=10,
                                         zoom_range=0.3,
                                         horizontal_flip=True,
                                         vertical_flip=True,
                                         fill_mode='nearest',#interpolation used for augmenting the image
                                         cval=0,
                                         rescale=1./255,
                                         dtype='int32')

然后:

train_mask_gen = train_mask_data_gen.flow_from_directory(os.path.join(training_dir, 'masks'),
                                                     target_size=(img_h, img_w),
                                                     batch_size=bs,
                                                     class_mode=None, # Because we have no class subfolders in this case
                                                     shuffle=True,
                                                     interpolation='nearest',#interpolation used for resizing
                                                     #color_mode='grayscale',
                                                     seed=SEED)

输入是二进制图像(值为0或255),我对其进行了归一化,并且希望获得整数值(例如,每个像素只能具有0或1个值)。

到目前为止,如果我“测试”生成的数据的类型,我会得到'numpy.float32',但是我在生成器中写了dtype='int32。 似乎dtype条目已被完全忽略,而我只是获得了默认条目(如文档中所述:Keras Image Generator 为什么会这样呢?我如何“强制”我的数据为整数?

0 个答案:

没有答案