ImageDataGenerator

ImageDataGenerator 图像预处理

官方文档:https://keras.io/preprocessing/image/

导入:from keras.preprocessing.image import ImageDataGenerator
使用:
keras.preprocessing.image.ImageDataGenerator(featurewise_center=False,
 					     samplewise_center=False,
 				             featurewise_std_normalization=False, 
 			       		     samplewise_std_normalization=False,
 				             zca_whitening=False, 
 					     zca_epsilon=1e-06,
 					     rotation_range=0, 
 		    			     width_shift_range=0.0,
 					     height_shift_range=0.0,
 					     brightness_range=None, 
 		 		    	     shear_range=0.0,
 		     			     zoom_range=0.0, 
 		     			     channel_shift_range=0.0,
 		     			     fill_mode='nearest',
 		   			     cval=0.0,
 		    			     horizontal_flip=False,
 		    			     vertical_flip=False,
 		    			     rescale=None, 
 		      			     preprocessing_function=None,
 		         		     data_format='channels_last',
 		           	 	     validation_split=0.0,
 		             		     interpolation_order=1, dtype='float32')
参数:
参数类型含义
featurewise_centerbool使输入数据集去中心化(均值为0), 按feature执行
samplewise_centerbool使输入数据的每个样本均值为0
featurewise_std_normalizationbool将输入除以数据集的标准差以完成标准化, 按feature执行
samplewise_std_normalizationbool将输入的每个样本除以其自身的标准差
zca_whiteningbool对输入数据施加ZCA白化
rotation_rangeint数据提升时图片随机转动的角度。随机选择图片的角度,是一个0~180的度数,取值为0-180
width_shift_rangefloat图片宽度的某个比例,数据提升时图片随机水平偏移的幅度
height_shift_rangefloat图片高度的某个比例,数据提升时图片随机竖直偏移的幅度
shear_rangefloat剪切强度(逆时针方向的剪切变换角度)。是用来进行剪切变换的程度
zoom_range浮点数或形如[lower,upper]的列表随机缩放的幅度,若为浮点数,则相当于[lower,upper] = [1 - zoom_range, 1+zoom_range]。用来进行随机的放大
channel_shift_rangefloat随机通道偏移的幅度
fill_mode‘constant’,‘nearest’,‘reflect’或‘wrap’当进行变换时超出边界的点将根据本参数给定的方法进行处理
cvalint or float当fill_mode=constant时,指定要向超出边界的点填充的值
horizontal_flipbool进行随机水平翻转。随机的对图片进行水平翻转,这个参数适用于水平翻转不影响图片语义的时候
vertical_flipbool进行随机竖直翻转。
rescalefloat值将在执行其他处理前乘到整个图像上,我们的图像在RGB通道都是0-255的整数,这样的操作可能使图像的值过高或过低,所以我们将这个值定为0~1之间的数。
preprocessing_function将被应用于每个输入的函数。该函数将在任何其他修改之前运行。该函数接受一个参数,为一张图片(秩为3的numpy array),并且输出一个具有相同shape的numpy array
data_format“channel_first”或“channel_last”代表图像的通道维的位置。该参数是Keras 1.x中的image_dim_ordering,“channel_last”对应原本的“tf”,“channel_first”对应原本的“th”。以128x128的RGB图像为例,“channel_first”应将数据组织为(3,128,128),而“channel_last”应将数据组织为(128,128,3)。该参数的默认值是~/.keras/keras.json中设置的值,若从未设置过,则为“channel_last”
实例:
train_datagen = ImageDataGenerator(rescale = 1./255.,
                                   rotation_range = 10,
                                   width_shift_range = 0.25,
                                   height_shift_range = 0.25,
                                   shear_range = 0.1,
                                   zoom_range = 0.25,
                                   horizontal_flip = False)
调用,使用.flow(X, y):
history = model.fit_generator(
      train_datagen.flow(X_train,Y_train, batch_size=batch_size),
      steps_per_epoch=100,
      epochs=epochs,
      callbacks=[LearningRateScheduler(lr_decay),
                 es
               ],
      validation_data=valid_datagen.flow(X_valid,Y_valid),
      validation_steps=50,  
      verbose=2)
  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值