前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Pytorch小技巧-数据增强(下)

Pytorch小技巧-数据增强(下)

作者头像
用户6719124
发布2019-12-09 18:49:39
1.6K0
发布2019-12-09 18:49:39
举报

Scale(缩放操作)

上图可见,图片由左至右分别增大了20%、40%。

利用之前知识可以采用Resize操作,如将28*28转化成32*32。

代码语言:javascript
复制
train_loader = torch.utils.data.DataLoader(
    datasets.MNIST('data', train=True, download=True,
                   transform=transforms.Compose([
                       transforms.RandomHorizontalFlip(),
# transforms.RandomHorizontalFlip()为水平翻转
                       transforms.RandomVerticalFlip(),
# transforms.RandomHorizontalFlip()为上下翻转
                       transforms.RandomRotation(15),
# 随机旋转了-15°至15°
                       transforms.ToTensor(),
                       transforms.RandomRotation([90, 180, 270]),
# 或者自定义旋转了90°, 180°, 270°
                       transforms.Resize([32, 32]),
# 转化到32*32
                   ])),
     batch_size=batch_size, shuffle=True)

还有Crop Part(裁剪)部分

局部增强,一般裁剪操作是配合图片旋转操作共同进行,先裁减掉一部分,再进行旋转即可。

代码如下

代码语言:javascript
复制
train_loader = torch.utils.data.DataLoader(
    datasets.MNIST('data', train=True, download=True,
                   transform=transforms.Compose([
                       transforms.RandomHorizontalFlip(),
# transforms.RandomHorizontalFlip()为水平翻转
                       transforms.RandomVerticalFlip(),
# transforms.RandomHorizontalFlip()为上下翻转
                       transforms.RandomRotation(15),
# 随机旋转了-15°至15°
                       transforms.ToTensor(),
                       transforms.RandomRotation([90, 180, 270]),
# 或者自定义旋转了90°, 180°, 270°
                       transforms.Resize([32, 32]),
# 转化到32*32
                       transforms.RandomCrop([28, 28])
# 先旋转了15°,转换成32*32,再取28*28部分
                   ])),
     batch_size=batch_size, shuffle=True)

还有一个不是很常见的操作Noise(噪声处理)

pytorch中暂时还没有相关接口,这里不再赘述

要注意的是,这种数据增强的操作是会对模型的训练有所帮助,因为它或多或少的增加了一些可用于学习的数据。

即便理论上他可以将少数的照片扩展成无数张照片,但作用并不会有那么大。因为他们间的差别很小,反而会导致训练时间延长。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-12-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 python pytorch AI机器学习实践 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档