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

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

作者头像
用户6719124
发布于 2019-12-09 10:49:39
发布于 2019-12-09 10:49:39
1.7K00
代码可运行
举报
运行总次数:0
代码可运行

Scale(缩放操作)

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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
代码运行次数:0
运行
AI代码解释
复制
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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
jQuery带参跳转新页面,新页面获取url多个参数的办法
需求: a页面有多个参数 跳转到b页面 在b页面获取a页面带过来的参数 a.html
王小婷
2021/06/29
2.7K0
JavaScript decodeURI() 函数
decodeURI() 函数可对 encodeURI() 函数编码过的 URI 进行解码。 语法
王小婷
2021/06/01
6490
JavaScript decodeURI() 函数
jQuery :contains 选择器
经常与其他元素/选择器一起使用,来选择指定的组中包含指定文本的元素(如下面的例子)。
王小婷
2021/07/08
6890
jQuery将json性别数据int类型进行格式化渲染
<!DOCTYPE HTML> <html> <head> <title></title> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="stylesheet" href="https:
王小婷
2022/01/09
7650
jQuery将json性别数据int类型进行格式化渲染
jQuery数据结构渲染(4):复选框checkbox赋值
1:当返回值是字符串的时候 data.json: { "circle": "2;3;4;5;6;1" } 示例代码: <!DOCTYPE HTML> <html xmlns:th="http://www.thymeleaf.org"> <head> <title>复选框checkbox自定义样式</title> <meta name="viewport" content="width=device-width, initial-scale=1">
王小婷
2020/05/18
1.2K0
jQuery数据结构渲染(4):复选框checkbox赋值
JS获取当前系统时间戳的方法
1:精确到秒 <!DOCTYPE HTML> <html xmlns:th="http://www.thymeleaf.org"> <head> <title>JS获取当前时间戳的方法</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="Content-Type" content="text/html; charse
王小婷
2020/10/23
11.5K0
把https地址作为变量拼接在link/script 内部
下面是之前写的一个交互的例子,直接拿过来用一用啦,最主要的在于将把https地址作为变量拼接在link/script 内部,其余的都是次要的。
王小婷
2020/12/29
8770
javascript escape()和unescape()区别
escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。
王小婷
2021/07/13
2K1
JS字符串中的第一个字母大写(两种方法)
一个非常常见的操作是将字符串的第一个字母大写。虽然许多编程语言都有一种本地方法来实现这一点,但 JS 需要做一些工作。
王小婷
2021/06/10
7.8K0
JQuery 获取选中多选框的value,合并成字符串传给后台
<!DOCTYPE HTML> <html xmlns:th="http://www.thymeleaf.org"> <head> <title>JQuery 获取选中多选框的value,合并成字符串传给后台</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="Content-Type" content="text/
王小婷
2021/01/13
6140
时间转换:toLocaleDateString()的坑
今天说一个关于toLocaleDateString()的坑。 安卓手机picker 时间选择 默认时间显示英文
王小婷
2020/07/30
1.4K0
复选框checkbox提交数据类型和方法
对应的渲染方法如下: jQuery数据结构渲染(4):复选框checkbox赋值 https://www.jianshu.com/p/3878ff8c76d9
王小婷
2020/05/26
1.4K0
复选框checkbox提交数据类型和方法
JQuery 获取选中checkbox多选框的value,合并成数组传给后台
需求: JQuery 获取选中多选框的value,合并成数组传给后台 在ajax请求的时候,需要给后端传一个参数 deviceId,这个 deviceId是一个list集合,也就是一个数组,需要把选中的几个数值放在这个数组里面,当做参数传递。
王小婷
2022/01/09
3.3K0
JQuery 获取选中checkbox多选框的value,合并成数组传给后台
jQuery数据渲染,每行显示4个数据,超过四条数据自动换行
[{"name":"体验区统计","numb":0},{"name":"test909","numb":0},{"name":"test910","numb":0},{"name":"111","numb":0},{"name":"test","numb":0},{"name":"test11111","numb":0},{"name":"记忆区统计","numb":0}] 代码: <!DOCTYPE HTML> <html xmlns:th="http://www.thymeleaf.org">
王小婷
2022/01/09
5630
jQuery数据渲染,每行显示4个数据,超过四条数据自动换行
jQuery点击图片开启,再次点击图片关闭效果
要求:jQuery点击图片开启,再次点击图片关闭效果 2:获取选中的图片的状态 并以整型的格式传给后端
王小婷
2022/01/09
8.5K0
jQuery点击图片开启,再次点击图片关闭效果
jquery点击按钮,添加一行input输入框
点击添加按钮的时候,会添加一行input输入框,使用jquery来实现一下。虽然现在前端开发小伙伴们都不用jquery了,但是,我还是决定要记录一下这个小demo,因为用到的比较多。
王小婷
2020/09/27
5K0
JQuery 获取选中select下拉框的value和text的值,合并成数组传给后端
提交格式 "workFences": [ { "fenceId": "ew32w2wf232fwer23", "fenceName": "区域q" }, { "fenceId": "ew32w2wf232fw543r23", "fenceName": "区域b" } ], test.json {"msg":"查询成功","code":1,
王小婷
2022/03/29
2.8K0
JQuery 获取选中select下拉框的value和text的值,合并成数组传给后端
es6扩展运算符、concat方法合并多个数组
1:ES6扩展运算符、合并多个数组 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>test</title> <link rel="stylesheet" href="https://cdn.bootcss.com/twitter-bootstrap/4.3.1/css/bootstrap.min.css"> <script src="https://cdn.bo
王小婷
2022/12/10
6270
es6扩展运算符、concat方法合并多个数组
推荐阅读
相关推荐
jQuery带参跳转新页面,新页面获取url多个参数的办法
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验