深度学习pytorch——数据增强(持续更新)

背景介绍

大量的数据是防止过拟合的关键,但是我们如何去获取大量的数据,是自己去拍摄、录制吗?显然这种方式有极高的成本。我们可以对同一张图片进行变换得到多张图片,比如原来只有10张图片,通过变换变成了20张图片,但是并不能无限的增长,也是有限制的,这种方法就叫做数据增强。数据增强的成本基本为0,虽然最后得到的图片效果也没有原图片好,但是有总比没有强,会在一定程度上增强我们的模型。
一张网球照片不同的变换

翻转(Flip)

翻转效果图

代码实现:

python 复制代码
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)

旋转(Rotate)

旋转效果图

代码实现:

python 复制代码
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)

缩放(Scale)

缩放效果图

代码实现:

python 复制代码
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)

裁剪或部分式旋转(Crop Part)

裁剪或部分式旋转效果图

代码实现:

python 复制代码
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)

加噪声(Noise)

加噪声效果图

参考:课时75 数据增强_哔哩哔哩_bilibili

相关推荐
黎燃3 小时前
短视频平台内容推荐算法优化:从协同过滤到多模态深度学习
人工智能
飞哥数智坊4 小时前
多次尝试用 CodeBuddy 做小程序,最终我放弃了
人工智能·ai编程
后端小肥肠5 小时前
别再眼馋 10w + 治愈漫画!Coze 工作流 3 分钟出成品,小白可学
人工智能·aigc·coze
唐某人丶8 小时前
教你如何用 JS 实现 Agent 系统(2)—— 开发 ReAct 版本的“深度搜索”
前端·人工智能·aigc
FIT2CLOUD飞致云8 小时前
九月月报丨MaxKB在不同规模医疗机构的应用进展汇报
人工智能·开源
阿里云大数据AI技术8 小时前
【新模型速递】PAI-Model Gallery云上一键部署Qwen3-Next系列模型
人工智能
袁庭新8 小时前
全球首位AI机器人部长,背负反腐重任
人工智能·aigc
机器之心9 小时前
谁说Scaling Law到头了?新研究:每一步的微小提升会带来指数级增长
人工智能·openai
算家计算9 小时前
AI配音革命!B站最新开源IndexTTS2本地部署教程:精准对口型,情感随心换
人工智能·开源·aigc
量子位9 小时前
马斯克周末血裁xAI 500人
人工智能·ai编程