Datawhale AI夏令营-task03

CutMix-PyTorch:CutMix正则化器的官方Pytorch实现 在ICCV 2019(口头演讲)上被接受!! CutMix:正则化策略来训练具有可本地化功能的强大分类器 CutMix正则化程序的官方Pytorch实现| | 桑,韩东云,吴成俊,桑赫俊,崔俊淑,柳永jo。 NAVER Corp.的Clova AI Research 我们的实现基于以下存储库: 抽象的 已经提出了区域辍学策略以增强卷积神经网络分类器的性能。 事实证明,它们可以有效地指导模型参加对象的较少区分性部分(例如,腿而不是人的头部),从而使网络更好地泛化并具有更好的对象定位能力。 另一方面,当前的区域丢弃方法通过覆盖黑色像素或随机噪声的补丁来去除训练图像上的信息像素。 这样的删除是不理想的,因为它会导致信息丢失和训练期间的效率低下。 因此,我们提出了CutMix增强策略:在训练图像之间剪切和粘贴补丁,其中地面真相标签也与补丁的区域成比例地混合。 通过有效利用训练像素并保留区域丢 立即下载

Datawhale AI夏令营-task03

笔记来源:Datawhale AI夏令营

数据增强基础

数据增强是一种在机器学习和深度学习领域常用的技术,尤其是在处理图像和视频数据时。**数据增强的目的是通过人工方式增加训练数据的多样性,从而提高模型的泛化能力,使其能够在未见过的数据上表现得更好。**数据增强涉及对原始数据进行一系列的变换操作,生成新的训练样本。这些变换模拟了真实世界中的变化,对于图像而言,数据增强包括例如视角、光照、遮挡等情况,使得模型能够学习到更加鲁棒的特征表示。

如果数据增强的变换操作与目标任务的实际场景不符,比如在不需要旋转的图像任务中过度使用旋转,那么这些变换可能会引入无关的噪音。此外过度的数据增强,比如极端的亮度调整、对比度变化或大量的噪声添加,可能会导致图像失真,使得模型难以学习到有效的特征。

在之前的代码中我们使用PyTorch框架来加载和增强图像数据:

  1. 图像大小调整:使用transforms.Resize((256, 256))将所有图像调整到256x256像素的尺寸,这有助于确保输入数据的一致性。
  2. 随机水平翻转:transforms.RandomHorizontalFlip()随机地水平翻转图像,这种变换可以模拟物体在不同方向上的观察,从而增强模型的泛化能力。
  3. 随机垂直翻转:transforms.RandomVerticalFlip()随机地垂直翻转图像,这同样是为了增加数据多样性,让模型能够学习到不同视角下的特征。
  4. 转换为张量:transforms.ToTensor()将图像数据转换为PyTorch的Tensor格式,这是在深度学习中处理图像数据的常用格式。
  5. 归一化:transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])对图像进行归一化处理,这里的均值和标准差是根据ImageNet数据集计算得出的,用于将图像像素值标准化,这有助于模型的训练稳定性和收敛速度。
train_loader = torch.utils.data.DataLoader(
    FFDIDataset(train_label['path'].head(1000), train_label['target'].head(1000), 
            transforms.Compose([
                        transforms.Resize((256, 256)),
                        transforms.RandomHorizontalFlip(),
                        transforms.RandomVerticalFlip(),
                        transforms.ToTensor(),
                        transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])
        ])
    ), batch_size=40, shuffle=True, num_workers=4, pin_memory=True
)

val_loader = torch.utils.data.DataLoader(
    FFDIDataset(val_label['path'].head(1000), val_label['target'].head(1000), 
            transforms.Compose([
                        transforms.Resize((256, 256)),
                        transforms.ToTensor(),
                        transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])
        ])
    ), batch_size=40, shuffle=False, num_workers=4, pin_memory=True
)

在深度学习中,对输入数据进行归一化是一个标准步骤。归一化有助于加快模型的收敛速度,并提高数值稳定性。对于验证集,应该避免使用如随机翻转等可能引入不必要噪音的增强方法。通常,验证集只需要进行必要的预处理,如调整大小和归一化。

常见数据增强方法

torchvision是一个流行的开源Python包,它提供了许多用于深度学习计算机视觉任务的工具和预训练模型。在torchvision中,数据增强方法主要位于torchvision.transforms和torchvision.transforms.v2模块中。这些增强方法可以用于图像分类、目标检测、图像分割和视频分类等各种任务。

几何变换

可以使用的方式有以下几种:

  • 调整大小: Resize可以将图像调整到指定的大小。
  • 随机裁剪: RandomCrop和RandomResizedCrop可以随机裁剪图像。
  • 中心裁剪: CenterCrop从图像的中心裁剪出指定大小。
  • 五裁剪和十裁剪: FiveCrop和TenCrop分别裁剪出图像的四个角和中心区域。
  • 翻转: RandomHorizontalFlip和RandomVerticalFlip可以水平或垂直翻转图像。
  • 旋转: RandomRotation可以随机旋转图像。
  • 仿射变换: RandomAffine可以进行随机的仿射变换。
  • 透视变换: RandomPerspective可以进行随机的透视变换。

颜色变换

  • 颜色抖动: ColorJitter可以随机改变图像的亮度、对比度、饱和度和色调。
  • 灰度化: Grayscale和RandomGrayscale可以将图像转换为灰度图。
  • 高斯模糊: GaussianBlur可以对图像进行高斯模糊。
  • 颜色反转: RandomInvert可以随机反转图像的颜色。
  • 颜色 posterize: RandomPosterize可以减少图像中每个颜色通道的位数。
  • 颜色 solarize: RandomSolarize可以反转图像中所有高于阈值的像素值。

自动增强

  • 自动增强: AutoAugment可以根据数据集自动学习数据增强策略。
  • 随机增强: RandAugment可以随机应用一系列数据增强操作。
  • TrivialAugmentWide:提供与数据集无关的数据增强。
  • AugMix:通过混合多个增强操作进行数据增强。

进阶的数据增强方法

Mixup

MixUp是一种数据增强技术,其原理是通过将两个不同的图像及其标签按照一定的比例混合,从而创建一个新的训练样本。这种方法可以增加训练数据的多样性,提高模型的泛化能力,并减少过拟合的风险。MixUp方法中混合比例是一个超参数,通常称为alpha。alpha是一个在0到1之间的值,表示混合的比例。例如,alpha=0.5意味着两个图像各占新图像的一半。

MixUp的混合过程包括以下步骤:

  1. 从训练集中随机选择两个图像和它们的标签。
  2. 将这两个图像按照alpha的比例混合,得到一个新的图像。
  3. 将这两个标签按照相同的alpha比例混合,得到一个新的标签。

MixUp方法具有以下几个优点:

  1. 增加数据多样性:通过混合不同的图像和标签,MixUp可以创建更多样化的训练样本,帮助模型学习到更加鲁棒的特征表示。
  2. 减少过拟合:MixUp可以减少模型对特定训练样本的依赖,从而降低过拟合的风险。
  3. 提高泛化能力:MixUp可以帮助模型学习到更加泛化的特征表示,从而提高模型在未见过的数据上的表现。

Cutmix

CutMix是一种数据增强技术,它通过将一个图像的一部分剪切并粘贴到另一个图像上来创建新的训练样本。同时,它也会根据剪切区域的大小来调整两个图像的标签。

CutMix方法中,剪切和粘贴操作是关键步骤。具体来说,剪切和粘贴过程包括以下步骤:

  1. 从训练集中随机选择两个图像和它们的标签。
  2. 随机选择一个剪切区域的大小和位置。
  3. 将第一个图像的剪切区域粘贴到第二个图像上,得到一个新的图像。
  4. 根据剪切区域的大小,计算两个图像的标签的加权平均值,得到一个新的标签。
手把手教你学 AI芯片 SOC软件开发专栏简介 在AI芯片(如NPU、GPU加速器)爆发式增长的今天,软件栈开发已成为AI应用落地的核心瓶颈。无论是模型推理加速、低延迟部署,还是能效优化,都依赖于对芯片底层软件的深度掌握。然而,许多开发者困于“只会调用API,不懂驱动实现”的困境,导致性能瓶颈难以突破。本专栏《手把手教你学 AI芯片 SOC软件开发》专为AI工程师、嵌入式开发者及系统架构师打造,从零基础切入,系统拆解AI芯片SOC(System on Chip)的完整软件栈,覆盖Runtime(运行时) 阅读详情

相关推荐

海思MIPI屏调试实战:从参数计算到点亮屏幕的完整指南

本文提供了一份海思平台MIPI屏幕调试的完整实战指南。文章以Hi3516DV300调试800x1280分辨率屏幕为例,详细讲解了从参数计算、配置文件修改到最终点亮屏幕的全流程,并分享了常见问题排查与进阶优化技巧,旨在帮助嵌入式开发者高效解决MIPI屏调试难题。

weixin_29190573的博客 738

【CutMix实现/MixUp实现】TorchVision 0.16发布,一行代码实现CutMix/Mixup

使用最新的torchvision.transforms.v2调用CutMix和MixUp

Harvey的博客 1441

利用 Openocd 和 FT2232H 实现 ARMv8(Coretex-A53)高效调试方案

本文详细介绍了如何利用开源工具OpenOCD与高性能USB转接芯片FT2232H,构建一套针对ARMv8架构(如Cortex-A53)的高效、低成本调试方案。内容涵盖从环境搭建、驱动配置、核心调试架构解析到实战问题排查的全过程,帮助开发者实现对多核处理器的透明、可控调试,是嵌入式Linux及底层开发的实用指南。

weixin_29163581的博客 280

Datawhale AI 夏令营-Task3 数据增强

数据增强是一种在机器学习和深度学习领域常用的技术,尤其是在处理图像和视频数据时。数据增强涉及对原始数据进行一系列的变换操作,生成新的训练样本。这些变换模拟了真实世界中的变化,对于图像而言,数据增强包括例如视角、光照、遮挡等情况,使得模型能够学习到更加鲁棒的特征表示。注:如果数据增强的变换操作与目标任务的实际场景不符,比如在不需要旋转的图像任务中过度使用旋转,那么这些变换可能会引入无关的噪音。

2302_77608969的博客 1048

HFSS入门 - 传输线线路损耗和串扰仿真

下图中两相近传输线存在端口间的串扰,而同一根传输线存在线路损耗。 我们可用S21描述端口1到端口2的线路损耗(插损?),用S13描述近端串扰,S24描述远端串扰,串扰通常要求-20dB以下。 实验目的:传输线线路损耗和串扰仿真 具体步骤: 1.草图: 其中板厚Subh为1mm。其余参数具体值如下: 2.由草图作图: 其中介质板表面设为GND。 3.设置激励:先在第一根传输线相连的XZ平面上做一...

qq_37274411的博客 9161

科研智能体平台搭建与实战:大模型如何驱动科研自动化

大模型技术的快速发展,正推动AI智能体从单纯对话工具向主动执行任务的科研伙伴演进。智能体的核心原理在于整合模型调用、工具使用、知识库检索与工作流编排,使其能够自主拆解目标、执行操作并迭代优化。在科研场景中,这一技术价值尤为突出:文献初筛、实验数据清洗、代码调试、结果汇总等高频重复劳动均可实现自动化,大幅释放研究者精力。从基础组件配置到多智能体协同,从平台选型到提示词调优,实际落地需要关注模型匹配、工具稳定性、记忆管理与人机校验机制。本文基于真实工程经验,系统梳理科研智能体平台的搭建路径、应用案例与高频问题排

weixin_32597009的博客 288

PyTorch学习笔记:Torchvision数据增强

I. 前言 训练一个优秀的神经网络需要上万的图片数据,而当自己目前的数据集数据不足时(只有几百张图片数据),可以使用数据增强(Data Augmentation)方法来扩充自己的图片数据集。Trochvision是PyTorch框架下的一个图像处理库,其中torchvision.transforms包中的函数可以对数据集中的图片进行处理,以实现数据增强的效果. II. Anaconda环境下安装 见https://blog.youkuaiyun.com/weixin_41978493/article/details/1

weixin_41978493的博客 2314

【异常】Coze/扣子 Workflow 调用报 4200 错误深度解析

Coze API 的。

奶爸的编程之路,也就一周冷个三天 302

torch_vision(一):数据增强和转换模块torchvision.transforms

torchvision包含了很多通用的数据集,模型架构,以及图像转换方法,配合pytorch使用更好搭建训练模型。

tony365的博客 2928

【推荐100个unity插件】制作美丽 Unity 景观,增强Terrain材质表现的插件——GTS

GTS地形着色器是一款专为Unity设计的强大工具,可解决地形纹理绘制和光照处理的难题。它提供一键式配置,支持实时调整地形效果,包含细节注入、高度混合、雪注入等核心功能,并兼容网格地形和低多边形模型。插件完美集成Gaia天气系统,支持HDRP细分效果。安装后通过GTS管理器创建配置文件并应用到地形,即可快速生成高质量地形渲染。其模块化设计包含全局设置、网格转换和细节调整等面板,使开发者能灵活控制地形表现,显著提升视觉效果与性能表现。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 1567

【应用】打造你的安全本地AI购物助手:OpenClaw + 淘宝MCP部署全攻略

本文介绍了在Ubuntu虚拟机中配置OpenClaw连接Windows宿主机的淘宝MCP服务的两种方案。核心原理是通过修改MCP服务监听地址或SSH隧道转发,实现跨网络访问。方案1推荐修改MCP服务绑定0.0.0.0并配置防火墙放行端口,适合长期使用;方案2通过SSH隧道转发,适合临时测试。文章详细说明了环境准备、配置文件修改及两种互通方案的具体实施步骤,重点解决了虚拟机与宿主机网络互通的关键问题。

海兰 1324

imgaug库图像增强指南(3):揭秘高斯模糊的神奇效果

在本博客中,我们将向您详细介绍imgaug库的数据增强方法 —— 高斯模糊。

创作高质量博文,分享知识,共同进步! 2139

【通信原理】基于【MATLAB】的通信OFDM系统仿真

主要进行OFDM系统的仿真,使用MATLAB软件对OFDM系统的接收端和发射端分别进行模拟仿真。

ALi.S的博客 5794

Datawhale AI 夏令营 CV方向 Task03

第一次参加Datawhale的夏令营活动,第一次参加CV竞赛,希望以后能有更多相关活动,丰富部署模型用于实际场景的经历。

qq_46402945的博客 1207

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Datawhale AI夏令营第五期 CV方向 task03笔记

本文是对task02的进阶与回顾。

weixin_73773376的博客 1150

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

【Datawhale AI夏令营第五期】 CV方向 Task03 各种尝试,想方设法上分

首先是我自己没事瞎点,发现了DataWhale的开源课程平台链接: https://linklearner.com/learn 传送门 我之前跟着B站大佬@同济子豪兄的视频《两天搞定人工智能毕业设计》项目的时候,有一个步骤就是把图片旋转翻转缩放一顿操作,当时只知道是增加模型适应奇葩数据的能力,现在才知道原来这是数据集增强,而且还有这么多我不知道的神奇操作。 而且YOLO支持同时处理图像和视频。 (说到这个“感兴趣的对象”,我还真的很好奇,计算机视觉能显示模型对什么感到好奇吗?如果没有认为给模型

bailichen800的博客 868

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Datawhale AI夏令营(大模型结构化Task 03)进阶思路及代码

我们添加如等问题。

m0_59671318的博客 364

Datawhale X 李宏毅苹果书 AI夏令营 Task03笔记

本文为Datawhale X 李宏毅苹果书 AI夏令营 Task03笔记,主要内容为模型误差和优化的一些讲解。

AA445AA的博客 439

Datawhale X 魔搭 AI夏令营-AIGC Task 03 --笔记

用于优化调整的工作流交互工具ComfyUI、Lora微调模型以及本人最后的生图分享。

min_louisa的博客 882

Datawhale AI 夏令营 Task03

接着,通过学习别人的笔记,通过对Task02中单一lightgbm的特征工程改进会提升运行结果的分数。后来观察到Task03中还提供了在数据建立特征工程后,通过三者堆叠融合后可输出结果,我又进行了尝试,本次代码运行耗时较长,且代码长度也比较长,可相对较好的是结果提交后有了不错的分数提升,分数从257.7来到了233.1。在这段程序中,我输出了三者融合后的结果,也输出了三者各自的预测的数值,分别的得分为260.3605、262.43793与259.9,相比来说相互融合的方式还是效果好一点。

MCAC_123的博客 1134

Datawhale AI 夏令营-让AI理解列车排期表task 03

在添加了generate_questions_from_data函数后,使其可以按照固定模式生成问题。在添加了call_llm函数后,使其可以借助Qwen大模型API获取答案。在运行成功后,成绩从原来的53分提升到了57分!再改动后,遍历数据的稳定性提升了。

sjicndj的博客 144

Datawhale AI夏令营 第三期 Task03

对于数据集里的特征序列的处理,作为非数值的文本特征需要经过特殊的编码才能对特征进行处理,这是比较难的一部分。转眼又到了第三期结束了,这期的生物学难度挺大,涉及的专业很多,我的大多数时间不是在读懂baseline1和2的代码解读和帮助文档,就是在调参的路上。对于GC含量特征的处理,分享会的大佬说可以自己再加几条,我实在能力不允许加不进去。因为Task03里面的代码为给完全,所以这段代码的实现需要借助Task01里面对于GenomicTokenizer和GenomicVocab的定义需要加入进来。

MCAC_123的博客 1009

Datawhale X 魔搭 AI夏令营 task03

Datawhale X 魔搭 AI夏令营

2401_86720537的博客 827

Datawhale AI夏令营第四期 魔搭-AIGC方向 task03 进阶上分-实战优化

GUI 是 "Graphical User Interface"(图形用户界面)的缩写。简单来说,GUI 就是你在电脑屏幕上看到的那种有图标、按钮和菜单的交互方式。ComfyUI是GUI的一种,是基于节点工作的用户界面,主要用于操作图像的生成技术,ComfyUI 的特别之处在于它采用了一种模块化的设计,把图像生成的过程分解成了许多小的步骤,每个步骤都是一个节点。这些节点可以连接起来形成一个工作流程,这样用户就可以根据需要定制自己的图像生成过程。

spring5的博客 983

Datawhale AI 夏令营task03笔记

本次Task在之前的基础上使用优化方案来尝试实现最佳的预测性能。

weixin_55082248的博客 740

Datawhale AI 夏令营 Task03 笔记

这些变换模拟了真实世界中的变化,如对图像而言,数据增强包括例如视角、光照、遮挡等情况,使得模型能够学习到更加鲁棒的特征表示,但是,对于数据增强操作手段,并非是所有都是正向作用的,有些数据增强手段在与变目标任务的实际场景不符,可能会引入无关的噪音,反而使得模型难以学习到有效的特征。这种方法的优点是可以增加训练数据的多样性,提高模型的泛化能力,并减少过拟合的风险。数据增强的目的是通过人工方式增加训练数据的多样性,从而提高模型的泛化能力,使其能够在未见过的数据上表现得更好。可以反转图像中所有高于阈值的像素值。

m0_48009249的博客 775
上一篇: Datawhale AI 夏令营-task2
下一篇: C++20三向比较运算符详解
ghost_him
博客等级 码龄6年 598粉丝 90原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值