深度学习——数据增广(笔记)+代码

news2024/11/26 5:37:35

1.为什么要进行数据增广?

大型数据集是深度网络的前提条件

图像增广对训练数据进行一系列的随机变化,生成相似但不同的训练样本,从而扩大训练集的规模

③数据增广:可以处理图片文本语音

④对于图片的处理方式包括:覆盖掉一些像素、对颜色进行变换、对亮度进行变换

 训练集使用图像增广要尽可能模拟出在现实应用中出现的不同场景,这样提升模型的泛化性

2.如何使用数据增广?

增加一个已有数据集,使数据进行变换让它有更多的多样性

如①语音:加入不同场景的噪音  图片改变图片的颜色形状

 3.使用增强数据训练——在线生成随机的【训练集使用,测试集不使用】

翻转,左右,上下,不平行

切割:从图片中切割一块,然后变形到固定的尺寸大小

    随机高宽比[3/4,4/3]

    随机大小[8%,100%]

    随机位置

③颜色:改变色调,饱和度,明亮度[0.5,1.5]

④几十种办法

 

【总结】

数据增广通过变形数据来获取多样性,使模型的泛化性能更好

②常见图片增广包括翻转,切割,变色

【代码】

import torch
import torchvision
from torch import nn
from d2l import torch as d2l

# 数据增广
d2l.set_figsize()
img = d2l.Image.open('../img/cat.jpg')
d2l.plt.imshow(img)
d2l.plt.show()

 【效果】

 2.图片增广的方法 aug代表增广的方法,生成结果是 2行4列

# 图片增广的方法 aug代表增广的方法,生成结果是 2行4列
def apply(img, aug, num_rows=2, num_cols=4, scale=1.5):
    Y = [aug(img) for _ in range(num_rows * num_cols)]  # 通过每次增广的不同方法,把图片存到Y里面
    d2l.show_images(Y, num_rows, num_cols, scale=scale)

# 水平方向随机反转图像 RandomHorizontalFlip() apply(img, torchvision.transforms.RandomHorizontalFlip())

# 上下随机反转图像 RandomVerticalFlip()
apply(img, torchvision.transforms.RandomVerticalFlip())

# 随机剪裁 RandomResizedCrop  scale保存原图多大的区域  ratio高宽比
shape_aug = torchvision.transforms.RandomResizedCrop(size=(200, 200), scale=(0.1, 1), ratio=(0.5, 2))
apply(img, shape_aug)

# 随机改变图片的亮度 ColorJitter  brightness
apply(img, torchvision.transforms.ColorJitter(brightness=0.5, contrast=0, saturation=0, hue=0))

# 随机改变图片的色调 ColorJitter  hue
apply(img, torchvision.transforms.ColorJitter(brightness=0, contrast=0, saturation=0, hue=0.5))

# 随机改变亮度,对比度,饱和度,色调 增加或者减少50%
color_aug = torchvision.transforms.ColorJitter(brightness=0.5, contrast=0.5, saturation=0.5, hue=0.5)
apply(img, color_aug)

# 结合多种图像增广方法
augs = torchvision.transforms.Compose([torchvision.transforms.RandomHorizontalFlip(), color_aug, shape_aug])
apply(img, augs)
d2l.plt.show()

 

 

 

 

 

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/90358.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

FITC-PEG-DBCO,Fluorescein-PEG-DBCO,荧光素-PEG-DBCO

【产品描述】 DBCO试剂在水性缓冲液中具有快速动力学和稳定性,可用于标记叠氮化物修饰的生物分子,具有高特异性和反应性。FITC具有高吸收率的荧光量子产率和良好的水溶性等特点,是生物学中应用广泛的一种绿色荧光素衍生物,除了用作…

【TypeScript系列】【一篇就够】TypeScript知识点总结(一)

00 TypeScript简介 TypeScript是JavaScript的超集。它对JS进行了扩展,向JS中引入了类型的概念,并添加了许多新的特性。TS代码需要通过编译器编译为JS,然后再交由JS解析器执行。TS完全兼容JS,换言之,任何的JS代码都可以…

神经网络科研绘图可视化工具

本文介绍10种科研绘图可视化工具。 目录1.神经网络框架自带的可视化工具库2.NN-SVG3.PlotNeuralNet4.netron5.ZETANE6.Tensorspace.js7.GRAPHCORE8.nn_vis9.PowerPoint1.神经网络框架自带的可视化工具库 pytorch:pytorchviz库; keras:keras.…

Map和Set

目录 1.搜索 1.1 概念 1.2 模型 2.Map的使用 2.1 Map说明 2.2 Map.Entry说明,v> 2.3 Map的常见方法 2.3.1 V put(K key, V value) 2.3.2 V get(Object key) 2.3.3 V getOrDefault(Object key, V defaultValue) 2.3.4 Set keySet() Collection values() 2.3.5 S…

JavaWeb语法二:Thread类的基本使用

目录 1.创建线程 1.2:run()和start()方法 1.3:Thread的几个常见属性 2.线程的有关操作 2.1:启动一个线程:start() 2.2:中断一个线程 2.2.1:使用自定义的变量来作为标志位 2.2.2:使用Thr…

高校校园网络

开发工具(eclipse/idea/vscode等): 数据库(sqlite/mysql/sqlserver等): 功能模块(请用文字描述,至少200字):开发工具IDEA-2020.1,数据库mysql55.527,SSM框架,jdk版本"1.8.0_74",java语言。 管理员…

小白年薪26万,为什么Python岗位的薪资越来越高?问题解析

人工智能和大数据概念的兴起,带动了Python的快速增长——Python语言逻辑简洁、入门简单、生态丰富,几乎成为几个新兴领域的不二选择。而除了这两个领域,Python还有更多的适用领域:爬虫、web、自动化运维等领域都非常适合Python发挥…

大二学生HTML期末作业、个人主页网页制作作业

🎉精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

代码随想录第八天

专题:字符串 题目: 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所…

CleanMyMacX4.15好用吗?CleanMyMac X2023安全吗?

CleanMyMac x4.15已经正式发布,作为最新的系统清理和应用管理软件,可以让用户一键智能化清理Mac电脑,自动扫描Mac上的所有文件,包括:Mac系统清理、邮件应用程序清理、大和旧型文件清理、itunes文件清理、废纸篓清理、应…

【总结】少信那些个包发论文的营销文案,7场直播讲解如何锻炼基础的学术研究能力...

对于广大研究生甚至本科生来说,发表满足学校或者实验室要求的公开学术论文是毕业要求,多少都会具有一定的压力,尤其是一些学校实验室要求比较高。作为过来人,其中焦虑有三也是懂的,研究生期间为此焦虑过一两年。正应如…

安科瑞ARB5弧光保护装置非电量保护装置故障告警可选配GOOSE

安科瑞 王晶淼/刘芳 一、ARB5系列弧光保护装置概述 ARB5系列弧光保护装置外观时尚、大屏幕液晶显示,图形化多语言菜单,操作快捷方便;具有强大的功能集成:集保护、测量、控制、监测、通讯、故障录波、事件记录等多种功能于一体,准…

时间序列-预测(Forcasting):时间序列预测算法总结

一、背景介绍 绝大部分行业场景,尤其是互联网、量化行业,每天都会产生大量的数据。金融领域股票价格随时间的走势;电商行业每日的销售额;旅游行业随着节假日周期变化的机票酒店价格等; 我们称这种不同时间收到的,描述一个或多种特征随着时间发生变化的数据,为时间序列…

如何完全的卸载ArcGIS?

打开控制面板,找到“卸载程序” 选择卸载程序,在新界面中找到与ArcGIS有关的程序。 右键单击要卸载的内容,并选择“卸载/更改”。按照此方法,把要卸载的软件一个个的卸载掉。 通过以上步骤,我们就把ArcGIS软件从电脑中…

酷早报:12月14日全球Web3加密行业重大资讯大汇总

2022年12月14日 星期三 【数据指标】 加密货币总市值:$0.88万亿 BTC市值占比:39.15% 恐慌贪婪指数:30 恐慌【今日快讯】 1、【政讯】 1.1、拜登:通胀正在下降,一切都在朝着正确的方向发展 1.2.1、贝莱德:11…

ChatGPT:探索RLHF与GPT的完美结合

前言 ChatGPT已经发布一周了热度依旧不减,ChatGPT也各种大显神通,为各大网友“出谋划策”,有写周报的,有写绩效的甚至还有写论文的,作为一个NLP从业者,除了好好体验下其中的乐趣,其背后的原理当…

基于Java实现(APP)智能停车场管理系统【100010044】

移动应用开发系统设计说明书 服务集成流程详细设计 实现功能 序号功能点描述1新增用户2注册用户3修改场地信息4列出场地信息5新增认证车辆6列出认证车辆7删除认证车辆8车辆进入信息录入9停车记录列表展示10出停车场信息录入 参数说明 User 用户信息实体参数 字段名称字段类…

壳聚糖-三聚磷酸钠(CTS-STPP)|SN-117M标记甘露糖偶联葡聚糖胺

壳聚糖-三聚磷酸钠(CTS-STPP)|SN-117M标记甘露糖偶联葡聚糖胺 中文名称:壳聚糖-三聚磷酸钠 英文名称:CTS-STPP 纯度:95% 存储条件:-20C,避光,避湿 外观:固体或粘性液体 包装:瓶装/袋装…

实战 | 基于OpenCV的停车场空余车位实时监测系统(详细步骤 + 源码)

导 读 本文主要介绍如何使用Python和OpenCV实现一个停车场空余车位实时监测系统,并包含详细步骤和源码。 背景介绍 介绍实现步骤之前,先来看看测试视频(小型停车场实时监控画面): ,时长00:28 我们的目标是实时检测停车场剩余空位…

DAMA-CDGA/CDGP数据治理工程师证书含金量杠杠滴

DAMA-CDGA/CDGP数据治理工程师证书含金量杠杠滴 DAMA认证为数据管理专业人士提供职业目标晋升规划,彰显了职业发展里程碑及发展阶梯定义,帮助数据管理从业人士获得企业数字化转型战略下的必备职业能力,促进开展工作实践应用及实际问题解决&a…