当前位置:网站首页>21.数据增强
21.数据增强
2022-08-02 00:14:00 【派大星的最爱海绵宝宝】
目录
big data
防止过度拟合的关键
网络参数量越来越大,网络的表达能力越来越强,如果要train一个很好的性能,我们需要大的数据集,big data。
limited data
对有限的数据进行优化:
small network capacity
减小网络的参数量,网络不容易过度拟合。网络结构固定,可以使网络的一部分权值为0,达到减小参数量的目的。
regularization
data argumentation
对原来的数据进行多样化处理,例如拍摄稀有动物的照片,对拍摄到的少量的图片进行旋转、调色、加噪声等操作,可得到更大的数据集。
常用的数据增强手段
都在torchvision中,对图片的处理都在视觉领域。compose功能类似于nn.Sequential,把一系列功能打包在一起使用。
flip翻转
train_loader = torch.utils.data.DataLoader(
datasets.MNIST('mnist_data', train=True, download=True,
transform=torchvision.transforms.Compose([
transform.RandomHorizontalFlip(),
transform.RamdomVerticalFlip(),
transforms.ToTensor(),
])),
batch_size=batch_size, shuffle=True)
图片按照transform里的顺序进行
RandomHorizonFlip水平角度翻转,random指的是这一步不一定进行,增加了随机性。
RandomVerticalFlip是竖直角度翻转。
rotate旋转
更加通用
train_loader = torch.utils.data.DataLoader(
datasets.MNIST('mnist_data', train=True, download=True,
transform=torchvision.transforms.Compose([
transform.RandomHorizontalFlip(),
transform.RamdomVerticalFlip(),
transform.RandomRotation(15),
transform.RandomRotation([90,180,270]),
transforms.ToTensor(),
])),
batch_size=batch_size, shuffle=True)
第一种,旋转某个角度,参数x即翻转-x到x内进行翻转操作。
第二种,固定角度翻转,[90,180,270]随机的在这三个数中挑一个数进行旋转。
scale缩放
在中心店往外进行缩放
train_loader = torch.utils.data.DataLoader(
datasets.MNIST('mnist_data', train=True, download=True,
transform=torchvision.transforms.Compose([
transform.RandomHorizontalFlip(),
transform.RamdomVerticalFlip(),
transform.RandomRotation(15),
transform.RandomRotation([90,180,270]),
transform.Resize([32,32])
transforms.ToTensor(),
])),
batch_size=batch_size, shuffle=True)
把原图片缩放到32×32。
crop part裁剪部分
随机裁剪一部分,剩下部分填充空白。
transform.RandomCrop([28,28])
noise
增加一些噪声,pytorch中并没有直接借口,需要人为的在numpy中添加。也可以使用torch中提供的高斯分布等叠加到上面。
GAN
可生成更多的样本
特点
无穷多的照片和原来的照片的分布非常接近,variance非常的小,所以即使得到无穷多的照片进行train时,performance只会比原来的数据好一点,不会好很多。
边栏推荐
猜你喜欢
uni-app project summary
uni-app项目总结
22. The support vector machine (SVM), gaussian kernel function
路由策略
微软电脑管家V2.1公测版正式发布
ICML 2022 || 局部增强图神经网络GNN,在 GCN 和 GAT基础上 平均提高了 3.4% 和 1.6%
Looking back at 5 recessionary times in history: How might this time be different?
渗透测试与攻防对抗——渗透测试基础
CVPR 2022 | SharpContour:一种基于轮廓变形 实现高效准确实例分割的边缘细化方法
Double queue implementation stack?Dual stack implementation queue?
随机推荐
基于编码策略的电网假数据注入攻击检测
06-SDRAM : SDRAM control module
js中内存泄漏的几种情况
[Headline] Written test questions - minimum stack
BGP first experiment
How to design a circular queue?Come and learn~
An Enhanced Model for Attack Detection of Industrial Cyber-Physical Systems
基于超参数自动寻优的工控网络入侵检测
JSP out.println()方法具有什么功能呢?
460. LFU 缓存
Day11 shell脚本基础知识
2022/08/01 Study Notes (day21) Generics and Enums
What does the errorPage attribute of the JSP page directive do?
信息物理系统状态估计与传感器攻击检测
链上治理为何如此重要,波卡Gov 2.0又会如何引领链上治理的发展?
Detailed explanation of JSP request object function
【HCIP】BGP小型实验(联邦,优化)
nodeJs--各种路径
【21天学习挑战赛】顺序查找和二分查找的小总结
【CodeTON Round 2 (Div. 1 + Div. 2, Rated, Prizes!)(A~D)】