深度学习 之 data augmentation

深度学习是基于数据驱动的学科,通过data augmentation(数据扩张)可以有效的进行数据扩张并进行一些数据normalized操作. 以此,便于扩大数据集,丰富数据多样性,便于学习到更深度广泛的特征, 避免模型的overfit和underfit.
这里直接调用keras.preprocessing.image中的ImageDataGenerator. 这个函数包含了常用的图像变换和normalization方法.

  • 函数介绍
from keras.preprocessing.image import ImageDataGenerator

? ImageDataGenerator # 查看函数帮助
  • 函数参数列表(带默认值)如下:
    1. featurewise_center=False:
      设置输入特征的均值为0(每一个维度,feature-wise)
      Set input mean to 0 over the dataset, feature-wise.
    2. samplewise_center=False:
      设置每一个样本的均值为0.(样本级别的均值, 也就是该样本所有特征之和的平均为0)
      Set each sample mean to 0.
    3. featurewise_std_normalization=False
      每一个特征维度除以该维度的标准差.
      Divide inputs by std of the dataset, feature-wise.
    4. samplewise_std_normalization=False
      每一个特征(所有维度)整体除以相应的标准差.
      Divide each input by its std.
    5. zca_whitening=False
      采用ZCA白化操作.
      Apply ZCA(Zero-phase Component Analysis) whitening
    6. zca_epsilon=1e-06
      epsilon值
      epsilon for ZCA whitening. Default is 1e-6.
    7. rotation_range=0.0
      随机旋转的最大值.?
      Degree range for random rotations.
    8. width_shift_range=0.0
      水平平移的比例范围(范围的最大值)
      Float (fraction of total width). Range for random horizontal shifts.
    9. height_shift_range=0.0
      纵向平移的比例返回(范围的最大值)
      Float (fraction of total height). Range for random vertical shifts.
    10. brightness_range=None
    11. shear_range=0.0
      裁剪强度范围最大值(逆时针方向角度)
      Shear Intensity (Shear angle in counter-clockwise direction in degrees)
    12. zoom_range=0.0
      随机缩放范围(到底zoom in/out)
      Float or [lower, upper]. Range for random zoom. If a float, [lower, upper] = [1-zoom_range, 1+zoom_range].
    13. channel_shift_range=0.0
      Range for random channel shifts.
    14. fill_mode=’nearest’
      One of {“constant”, “nearest”, “reflect” or “wrap”}. Default is ‘nearest’.
      Points outside the boundaries of the input are filled according to the given mode:
      ‘constant’: kkkkkkkk|abcd|kkkkkkkk (cval=k)
      ‘nearest’: aaaaaaaa|abcd|dddddddd
      ‘reflect’: abcddcba|abcd|dcbaabcd
      ‘wrap’: abcdabcd|abcd|abcdabcd
    15. cval=0.0
      Value used for points outside the boundaries when fill_mode = "constant".
    16. horizontal_flip=False
      Randomly flip inputs horizontally. (难道不是=True, 就一定翻转?), 如果是随机翻转, 则说明,选择该项之后, 在训练过程中随机对图片执行该操作, 而不是一定执行. 如果一定执行,那么训练集的数量就会增加., 应该是随机翻转.
    17. vertical_flip=False
      Randomly flip inputs vertically.
    18. rescale=None
      Defaults to None. If None or 0, no rescaling is applied,otherwise we multiply the data by the value provided (before applying any other transformation).
    19. preprocessing_function=None
      function that will be implied on each input. The function will run after the image is resized and augmented. The function should take one argument: one image (Numpy tensor with rank 3), and should output a Numpy tensor with the same shape.
    20. data_format=None
      One of {“channels_first”, “channels_last”}.
      “channels_last” mode means that the images should have shape (samples, height, width, channels),
      “channels_first” mode means that the images should have shape (samples, channels, height, width).
      It defaults to the image_data_format value found in your
      Keras config file at ~/.keras/keras.json.
      If you never set it, then it will be “channels_last”.
    21. validation_split=0.0
      Fraction of images reserved for validation (strictly between 0 and 1)

深度学习

阅读更多

没有更多推荐了,返回首页