ImageDataGenerator生成器flow, flow_from_dataframe, flow_from_directory方法

ImageDataGenerator.flow

函数

   def flow(self, x,
             y=None, batch_size=32, shuffle=True,
             sample_weight=None, seed=None,
             save_to_dir=None, save_prefix='', save_format='png', subset=None)

参数

    x: 输入数据。秩为 4 的 Numpy 矩阵或元组。
    如果是元组,第一个元素应该包含图像,第二个元素是另一个 Numpy 数组或一列 Numpy 数组,它们不经过任何修改就传递给输出。可用于将模型杂项数据与图像一起输入。对于灰度数据,图像数组的通道轴的值应该为 1,而对于 RGB 数据,其值应该为 3。
    y: 标签。
    batch_size: 整数 (默认为 32)。
	shuffle: 布尔值 (默认为 True)。
	sample_weight: 样本权重。
	seed: 整数(默认为 None)。
	save_to_dir: None 或 字符串(默认为 None)。这使您可以选择指定要保存的正在生成的增强图片的目录(用于可视化您正在执行的操作)。
	save_prefix: 字符串(默认 '')。保存图片的文件名前缀(仅当 save_to_dir 设置时可用)。
	save_format: "png", "jpeg" 之一(仅当 save_to_dir 设置时可用)。默认:"png"。
	subset: 数据子集 ("training" 或 "validation"),如果 在 ImageDataGenerator 中设置了 validation_split。

返回

   一个生成元组 (x, y) 的 Iterator,其中
    x 是图像数据的 Numpy 数组(在单张图像输入时),或 Numpy 数组列表(在额外多个输入时),
    y 是对应的标签的 Numpy 数组。
    如果 'sample_weight' 不是 None,生成的元组形式为 (x, y, sample_weight)。如果 y 是 None, 只有 Numpy 数组 x 被返回

ImageDataGenerator.flow_from_dataframe

函数-参数

    flow_from_dataframe(
    dataframe:          Pandas dataframe,一列为图像的文件名,另一列为图像的类别, 或者是可以作为原始目标数据多个列。
    directory:          字符串,目标目录的路径,其中包含在 dataframe 中映射的所有图像
    x_col='filename',   字符串,dataframe 中包含目标图像文件夹的目录的列
    y_col='class',      字符串或字符串列表,dataframe 中将作为目标数据的列。
    has_ext=True,       布尔值,如果 dataframe[x_col] 中的文件名具有扩展名则为 True,否则为 False。
    target_size=(256, 256), 整数元组 (height, width),默认为 (256, 256)。 所有找到的图都会调整到这个维度。
    color_mode='rgb',   "grayscale", "rbg" 之一。默认:"rgb"。 图像是否转换为 1 个或 3 个颜色通道。
    classes=None,        可选的类别列表 (例如, ['dogs', 'cats'])。默认:None。 
                         如未提供,类比列表将自动从 y_col 中推理出来,y_col 将会被映射为类别索引)。 
                         包含从类名到类索引的映射的字典可以通过属性 class_indices 获得。
    class_mode='categorical':  "categorical", "binary", "sparse", "input", "other" or None 之一。 默认:"categorical"。决定返回标签数组的类型:
								"categorical" 将是 2D one-hot 编码标签,
								"binary" 将是 1D 二进制标签,
								"sparse" 将是 1D 整数标签,
								"input" 将是与输入图像相同的图像(主要用于与自动编码器一起使用),
								"other" 将是 y_col 数据的 numpy 数组,
								None, 不返回任何标签(生成器只会产生批量的图像数据,这对使用 model.predict_generator(), model.evaluate_generator() 等很有用)。
    batch_size=32,        批量数据的尺寸(默认:32)。
    shuffle=True,         是否混洗数据(默认:True)
    seed=None,            可选的混洗和转换的随即种子。
    save_to_dir=None,     None 或 str (默认: None). 这允许你可选地指定要保存正在生成的增强图片的目录(用于可视化您正在执行的操作)。
    save_prefix='',       字符串。保存图片的文件名前缀(仅当 save_to_dir 设置时可用)。
    save_format='png',    "png", "jpeg" 之一(仅当 save_to_dir 设置时可用)。默认:"png"。
    subset=None,           数据子集 ("training" 或 "validation"),如果在 ImageDataGenerator 中设置了 validation_split。
    interpolation='nearest' 在目标大小与加载图像的大小不同时,用于重新采样图像的插值方法。 
                            支持的方法有 "nearest", "bilinear", and "bicubic"。 如果安装了 1.1.3 以上版本的 PIL 的话,同样支持 "lanczos"。 
                            如果安装了 3.4.0 以上版本的 PIL 的话,同样支持 "box" 和 "hamming"。 默认情况下,使用 "nearest"。)

返回

     一个生成 (x, y) 元组的 DataFrameIterator, 其中 
         x 是一个包含一批尺寸为 (batch_size, *target_size, channels) 的图像样本的 numpy 数组,
         y 是对应的标签的 numpy 数组。

ImageDataGenerator.flow_from_directory

函数-参数

 flow_from_directory(self, 
                        directory,               目标目录的路径。每个类应该包含一个子目录。
                                                 任何在子目录树下的 PNG, JPG, BMP, PPM 或 TIF 图像,都将被包含在生成器中。
                        target_size=(256, 256),  整数元组 (height, width),默认:(256, 256)。所有的图像将被调整到的尺寸。
                        color_mode='rgb',        "grayscale", "rbg" 之一。默认:"rgb"。图像是否被转换成 1 或 3 个颜色通道。
                        classes=None,             可选的类的子目录列表(例如 ['dogs', 'cats'])。默认:None。
                                                  如果未提供,类的列表将自动从 directory 下的 子目录名称/结构 中推断出来,
                                                  其中每个子目录都将被作为不同的类(类名将按字典序映射到标签的索引)。
                                                  包含从类名到类索引的映射的字典可以通过 class_indices 属性获得。
                        class_mode='categorical', "categorical", "binary", "sparse", "input" 或 None 之一。默认:"categorical"。决定返回的标签数组的类型:
													"categorical" 将是 2D one-hot 编码标签,
													"binary" 将是 1D 二进制标签,"sparse" 将是 1D 整数标签,
													"input" 将是与输入图像相同的图像(主要用于自动编码器)。
													如果为 None,不返回标签(生成器将只产生批量的图像数据,对于 model.predict_generator(), model.evaluate_generator() 等很有用)。请注意,如果 class_mode 为 None,那么数据仍然需要驻留在 directory 的子目录中才能正常工作。
                        batch_size=32,              一批数据的大小(默认 32)
                        shuffle=True,               是否混洗数据(默认 True)。
                        seed=None,                  可选随机种子,用于混洗和转换
                        save_to_dir=None,           None 或 字符串(默认 None)。这使你可以最佳地指定正在生成的增强图片要保存的目录(用于可视化你在做什么)
                        save_prefix='',             字符串。 保存图片的文件名前缀(仅当 save_to_dir 设置时可用)
                        save_format='png',          "png", "jpeg" 之一(仅当 save_to_dir 设置时可用)。默认:"png"。
                        follow_links=False,         是否跟踪类子目录中的符号链接(默认为 False)。
                        subset=None,                数据子集 ("training" 或 "validation"),如果 在 ImageDataGenerator 中设置了 validation_split。
                        interpolation='nearest'     在目标大小与加载图像的大小不同时,用于重新采样图像的插值方法。 
                                                               支持的方法有 "nearest", "bilinear", and "bicubic"。
                                                               如果安装了 1.1.3 以上版本的 PIL 的话,同样支持 "lanczos"。 
                                                               如果安装了 3.4.0 以上版本的 PIL 的话,同样支持 "box" 和 "hamming"。 
                                                               默认情况下,使用 "nearest"。)

返回

  一个生成 (x, y) 元组的 DirectoryIterator,
  其中 x 是一个包含一批尺寸为 (batch_size, *target_size, channels)的图像的 Numpy 数组,
  y 是对应标签的 Numpy 数组。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值