进行数据增强后数据集数据量有无变化(保持不变还是增多)

首先说结论,在数值上是不会增加数据量的,但在特征上其实可以理解为增加了数据量。

何为数值上没有增加,当一张图片进入transforms.Compose()这个函数时,该照片会依次执行该函数内的操作序列,常见的操作如下,这些操作有的是随机的、有的是按一定概率执行或不执行,但是所有操作完成后,输出的仍是一张图像,所以整个数据集的size并不会增多。

那什么又是在特征上增加了数据量呢,因为在训练模型时,每一个epoch都会进行数据增强,重新调用transforms.Compose()操作,使得训练数据变换,而因为内部操作的随机性,每一次最后输出的图像都可能会不一样,因此你每次epoch迭代后喂进网络的图像都是你增强后的图像,也都可能是不同的,所以也可以变相的认为训练数据增多了。

  • 裁剪类

  1. transforms.CenterCrop - 中心裁剪

  2. transforms.RandomCrop - 随机裁剪

  3. transforms.RandomResizedCrop - 随机长宽比裁剪

  4. transforms.FiveCrop - 上下左右中心裁剪

  5. transforms.TenCrop - 上下左右中心裁剪后旋转

  • 翻转和旋转

  1. transforms.RandomHorizontalFlip - 随机水平翻转

  2. transforms.RandomVerticalFlip - 随机垂直翻转

  3. transforms.RandomRotation - 随机旋转

  • 图像变换

  1. transforms.Pad - 填充

  2. transforms.ColorJitter - 亮度、对比度和饱和度

  3. transforms.Grayscale - 转灰度图

  4. transforms.RandomGrayscale - 随机转灰度图

  5. transforms.RandomAffine - 随机仿射变换

  6. transforms.LinearTransformation - 线性变换

  7. transforms.Lambda - 自定义变换

  8. transforms.Resize

  9. transforms.Normalize - 标准化

  • transforms的操作

  1. transforms.RandomChoice - 随机选择给定 transforms 中的一种

  2. transforms.RandomApply - 加上随机概率

  3. transforms.RandomOrder - 随机打乱 transforms 操作的顺序

你可能感兴趣的:(深度学习,人工智能,pytorch)