位置: IT常识 - 正文

【Pytorch基础知识】数据的归一化和反归一化(pytorch基本操作)

编辑:rootadmin
【Pytorch基础知识】数据的归一化和反归一化

推荐整理分享【Pytorch基础知识】数据的归一化和反归一化(pytorch基本操作),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:学pytorch的基础,pytorch基本操作,pytorch入门到进阶,pytorch入门,pytorch基础教程,pytorch零基础,pytorch基础教程,pytorch详解,内容如对您有帮助,希望把文章链接给更多的朋友!

一张正常的图,或者说是人眼习惯的图是这样的:

但是,为了神经网络更快收敛,我们在深度学习网络过程中通常需要将读取的图片转为tensor并归一化(此处的归一化指transforms.Normalize()操作)输入到网络中进行系列操作。

如果将转成的tensor再直接转为图片,就会变成下图,和我们眼睛看到是不一样感觉。

这是因为,将图片转为tensor并归一化,tensor之中会有负值,和我们正常看到的是不一样的,如果不进行反归一化到 [0,1],就会变成下图,会觉得变扭。

我们正常看到的图片tensor是[0,255]或者[0,1]

解释:transforms.Normalize()归一化后的图像,满足均值为0方差为1,被限定在一定的数值内,一般的数值为[-1,1]。

这个过程中,我们需要进行如下操作,才能把图片转为tensor操作再转为图片(人眼习惯的)。这里的tensor操作是transforms系列操作。

【Pytorch基础知识】数据的归一化和反归一化(pytorch基本操作)

归一化的目的:使得预处理的数据被限定在一定的范围内,从而消除奇异样本数据导致的不良影响。数据归一化处理后,可以加快梯度下降求最优解的速度,且有可能提高精度(如KNN)。

反归一化的目的:为了还原原来人眼可以识别的图。

归一化

一幅图片的格式为【批数据的数量× 通道数× 高× 宽】:

接下来开始计算mean 和 std: 

nb_samples = 0#创建3维的空列表channel_mean = torch.zeros(3)channel_std = torch.zeros(3)print(image.shape)N, C, H, W = image.shape[:4]image = image.view(N, C, -1) #将w,h维度的数据展平,为batch,channel,data,然后对三个维度上的数分别求和和标准差print(image.shape)#展平后,w,h属于第二维度,对他们求平均,sum(0)为将同一纬度的数据累加channel_mean += image.mean(2).sum(0) #展平后,w,h属于第二维度,对他们求标准差,sum(0)为将同一纬度的数据累加channel_std += image.std(2).sum(0)#获取所有batch的数据,这里为1nb_samples += N#获取同一batch的均值和标准差channel_mean /= nb_sampleschannel_std /= nb_samplesprint(channel_mean, channel_std)

然后利用transforms.Normalize 进行转换:

normalizer = transforms.Normalize(mean=channel_mean, std=channel_std)# 归一化后得到可处理的值data = normalizer(image)反归一化

根据归一化计算得到的mean和std,我们可以反推出反归一化的 mean 和 std,从而利用 transforms.Normalize 进行转换,计算方法如下:

MEAN是指归一化时计算出来的均值,de_MEAN是计算出来反归一化的均值,后面需要用。

综合上面的讲解及代码,整合最后的代码为下:

# 定义一个image图像,torch.Size([1, 3, 319, 256])image = torch.rand([1,3,319,256])# 计算原图的 mean 和stdnb_samples = 0#创建3维的空列表channel_mean = torch.zeros(3)channel_std = torch.zeros(3)print(image.shape)N, C, H, W = image.shape[:4]#将w,h维度的数据展平,为batch,channel,data,然后对三个维度上的数分别求和和标准差image = image.view(N, C, -1) print(image.shape)#展平后,w,h属于第二维度,对他们求平均,sum(0)为将同一纬度的数据累加channel_mean += image.mean(2).sum(0) #展平后,w,h属于第二维度,对他们求标准差,sum(0)为将同一纬度的数据累加channel_std += image.std(2).sum(0)#获取所有batch的数据,这里为1nb_samples += N#获取同一batch的均值和标准差channel_mean /= nb_sampleschannel_std /= nb_samplesprint(channel_mean, channel_std)# 这是归一化的 mean 和std channel_mean = torch.tensor([-0.5321, -0.8102, -0.5532])channel_std = torch.tensor([1.2582, 1.0009, 0.9211])# 这是反归一化的 mean 和std MEAN = [-mean/std for mean, std in zip(channel_mean, channel_std)]STD = [1/std for std in channel_std]# 归一化和反归一化生成器normalizer = transforms.Normalize(mean=channel_mean, std=channel_std)denormalizer = transforms.Normalize(mean=MEAN, std=STD)# 归一化得到可处理的值data = normalizer(image)# 反归一化得到原图image2 = denormalizer(data)

image ≈ image2

因为浮点数计算有误差,所以不会完全一样,但是问题不大~

 这样就可以得到tensor转换后的原图了。

好了,大功告成,完结撒花!

欢迎关注、点赞、收藏、评论、分享给好友,一起学习有趣的新知识!!! 

本文链接地址:https://www.jiuchutong.com/zhishi/297335.html 转载请保留说明!

上一篇:原生js获取元素的各种位置(大全)(原生js获取元素高度)

下一篇:vue中Number方法将字符串转换为数字(vue的number)

  • 苹果12微信黑名单在哪里(苹果12微信黑名单怎么删除不了)

    苹果12微信黑名单在哪里(苹果12微信黑名单怎么删除不了)

  • ps照片蓝底换成白底怎么换(ps照片蓝底换成白底软件)

    ps照片蓝底换成白底怎么换(ps照片蓝底换成白底软件)

  • wps边框线怎么设置(wps边框线怎么设置粗细)

    wps边框线怎么设置(wps边框线怎么设置粗细)

  • 新浪微博账号能不能注销(新浪微博账号可以修改吗)

    新浪微博账号能不能注销(新浪微博账号可以修改吗)

  • 手机qq夜间模式变白了(手机qq夜间模式怎么关)

    手机qq夜间模式变白了(手机qq夜间模式怎么关)

  • 华为手机怎么换卡(华为手机怎么换键盘)

    华为手机怎么换卡(华为手机怎么换键盘)

  • 三星激光打印机怎么加墨粉(三星激光打印机怎么样)

    三星激光打印机怎么加墨粉(三星激光打印机怎么样)

  • 华为mate30手机上面有小圆怎么取消(华为mate30手机上方图标怎么关)

    华为mate30手机上面有小圆怎么取消(华为mate30手机上方图标怎么关)

  • 光猫不在线怎么处理(光猫不在线怎么设置)

    光猫不在线怎么处理(光猫不在线怎么设置)

  • 快手极速版为什么绑定不了微信(快手极速版为什么会给钱)

    快手极速版为什么绑定不了微信(快手极速版为什么会给钱)

  • 抖音封号里面的音浪怎么办(抖音封号里面的钱能提现吗)

    抖音封号里面的音浪怎么办(抖音封号里面的钱能提现吗)

  • 微信朋友圈信息怎么删除掉?(微信朋友圈信息为什么不能全部显示)

    微信朋友圈信息怎么删除掉?(微信朋友圈信息为什么不能全部显示)

  • 充电器接口接触不良怎么修理(充电器接口接触不良修多少钱)

    充电器接口接触不良怎么修理(充电器接口接触不良修多少钱)

  • 微信头像模糊是拉黑了吗(微信头像模糊是何原因)

    微信头像模糊是拉黑了吗(微信头像模糊是何原因)

  • 哔哩哔哩ul01怎么升级(哔哩哔哩466272)

    哔哩哔哩ul01怎么升级(哔哩哔哩466272)

  • ipadair3耳机口是扁的还是圆的(ipad3耳机接口)

    ipadair3耳机口是扁的还是圆的(ipad3耳机接口)

  • 抖音直播管理员是干嘛的(抖音直播管理员有什么权限)

    抖音直播管理员是干嘛的(抖音直播管理员有什么权限)

  • 单反相机如何开机(单反相机如何开始拍照)

    单反相机如何开机(单反相机如何开始拍照)

  • beatsx怎么切换设备

    beatsx怎么切换设备

  • 手机喇叭进油了怎么办(手机喇叭进油了怎么清理)

    手机喇叭进油了怎么办(手机喇叭进油了怎么清理)

  • 虾米音乐怎么下歌词(虾米音乐怎么下载)

    虾米音乐怎么下歌词(虾米音乐怎么下载)

  • 卡贴能二次使用吗(卡贴能用几次号码)

    卡贴能二次使用吗(卡贴能用几次号码)

  • 手机电路板坏了能修吗(手机电路板坏了是什么原因)

    手机电路板坏了能修吗(手机电路板坏了是什么原因)

  • p站官网怎么登进去(p站怎样登录)

    p站官网怎么登进去(p站怎样登录)

  • 安卓手机如何打开.aspx文件(安卓手机如何打开zip文件)

    安卓手机如何打开.aspx文件(安卓手机如何打开zip文件)

  • 优酷会员如何退费(优酷会员如何退款)

    优酷会员如何退费(优酷会员如何退款)

  • phpcms如何调二级导航(phpcms生成html)

    phpcms如何调二级导航(phpcms生成html)

  • 怎样禁止织梦dedecms会员恶意注册(织梦怎么用)

    怎样禁止织梦dedecms会员恶意注册(织梦怎么用)

  • 离职员工奖金发放规定
  • 附加税的内容有哪些
  • 小规模纳税人缴纳企业所得税
  • 做账报税简单吗
  • 办公室电话费计入什么科目
  • 外资企业是否属于公有制经济
  • 小微企业印花税减免最新政策
  • 高新技术企业所得税减免怎么算
  • 个税申报包含哪些
  • 企业接受捐赠的账务处理
  • 车险代缴费
  • 应付账款少记违反什么认定
  • 收到承兑汇票作废怎么办
  • 劳务外包用工单位可以抵扣进项税吗
  • 电脑在固定资产中属于哪一类
  • 增值税的会计核算
  • 增值税进项发票网上勾选平台
  • 奖金发当月还是上月
  • 现金福利支出需要申报个税吗
  • 出口免税金额
  • 其他应付款调整
  • 华为Mate50Pro配置多少
  • macbookpro提醒事项
  • 应收账款重分类什么意思
  • mdn php
  • PHP:mb_encode_mimeheader()的用法_mbstring函数
  • windows7电脑时间不对
  • 境外代扣代缴企业所得税的计税依据包含企业所得税嘛
  • amr文件怎么转换为mp3
  • 梅林澳大利亚信号好最好吗
  • 日本北海道 (© Hiroshi Yokoyama/eStock Photo)
  • 马勒舞曲
  • 人工智能导论课后题答案
  • 瑞吉外卖项目简历
  • 其他收益最后转入哪个科目
  • 银行代发工资会扣个人所得税吗
  • wordpress标签tag文章
  • python 微信
  • 车船税是不是车损
  • 小型企业利润表
  • 小规模纳税人广告税率是多少
  • 费用在发生时确认而不考虑支付费用
  • 收银算不算财务工作
  • 基本运算符号有乘方吗
  • 有什么学电脑的网站
  • 给员工发放礼品的祝福
  • mysql显示数据库中的表
  • 库存商品暂估入库是什么意思
  • 销售公司的主营业务成本怎么算
  • 什么是保函保证金
  • 个税新增人员工资怎么填
  • 小微企业可以享受六税两费吗
  • 当月没认证的发票当月不用进行账务处理吗
  • 购销合同交的印花税税率
  • 免征增值税进项税怎么弄
  • 利润总额和未分成比例
  • 应付利息属于经营性负债吗
  • mysql获取当前行数
  • 深入解析linux内核
  • 在windows xp中说法正确的是
  • windows取消定时任务
  • windows显示缩略图
  • linux中make
  • 协同编程工具
  • 浮动浮动
  • nodejs和mysql
  • js动态添加dom
  • js查看浏览器信息
  • jquery使用jsonp
  • html5翻页效果
  • unity 3d代码
  • vue的ssr渲染
  • koa和express的区别
  • unity c语言
  • javascript生成随机整数
  • javascript中的函数该如何理解
  • tiny rails汉化
  • android获取sha1
  • 科技公司小规模纳税人
  • 原始股卖出多少需要披露
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设