赞
踩
大量的数据是防止过拟合的关键,但是我们如何去获取大量的数据,是自己去拍摄、录制吗?显然这种方式有极高的成本。我们可以对同一张图片进行变换得到多张图片,比如原来只有10张图片,通过变换变成了20张图片,但是并不能无限的增长,也是有限制的,这种方法就叫做数据增强。数据增强的成本基本为0,虽然最后得到的图片效果也没有原图片好,但是有总比没有强,会在一定程度上增强我们的模型。
代码实现:
- train_loader = torch.utils.data.DataLoader(
- datasets.MNIST('../data', train=True, download=True,
- transform=transforms.Compose([
- transforms.RandomHorizontalFlip(), #水平翻转
- transforms.RandomVerticalFlip(), #竖直翻转
- transforms.ToTensor()
- ])),
- batch_size=batch_size, shuffle=True)
代码实现:
- train_loader = torch.utils.data.DataLoader(
- datasets.MNIST('../data', train=True, download=True,
- transform=transforms.Compose([
- transforms.RandomRotation(15), #-15度-15度的角度随机旋转
- transforms.RandomRotation([90, 180, 270]), #随机旋转90度,180度,270度
- transforms.ToTensor()
- ])),
- batch_size=batch_size, shuffle=True)
代码实现:
- train_loader = torch.utils.data.DataLoader(
- datasets.MNIST('../data', train=True, download=True,
- transform=transforms.Compose([
- transforms.Resize([32, 32]), #scale 缩放
- transforms.ToTensor()
- ])),
- batch_size=batch_size, shuffle=True)
代码实现:
- train_loader = torch.utils.data.DataLoader(
- datasets.MNIST('../data', train=True, download=True,
- transform=transforms.Compose([
- transforms.RandomRotation(15), #-15度-15度的角度随机旋转
- transforms.RandomRotation([90, 180, 270]), #随机旋转90度,180度,270度
- transforms.RandomCrop([28, 28]), #随机裁剪
- transforms.ToTensor()
- ])),
- batch_size=batch_size, shuffle=True)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。