位置: 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)

  • 小米之家可以换电池吗(小米之家可以换网卡吗)

    小米之家可以换电池吗(小米之家可以换网卡吗)

  • 诺基亚恢复出厂设置密码多少(诺基亚恢复出厂密码)(诺基亚恢复出厂设置指令)

    诺基亚恢复出厂设置密码多少(诺基亚恢复出厂密码)(诺基亚恢复出厂设置指令)

  • 微博渔场怎么关闭(微博渔场怎么关闭消息)

    微博渔场怎么关闭(微博渔场怎么关闭消息)

  • 微信删除评论后朋友圈会显示什么内容(微信删除评论后24小时能看到吗)

    微信删除评论后朋友圈会显示什么内容(微信删除评论后24小时能看到吗)

  • 小米m1901f9e是什么型号(m1901f9e是小米什么型号)

    小米m1901f9e是什么型号(m1901f9e是小米什么型号)

  • timing怎么视频连麦

    timing怎么视频连麦

  • 华为手机wifi自动关闭怎么回事(华为手机wifi自动断开什么原因)

    华为手机wifi自动关闭怎么回事(华为手机wifi自动断开什么原因)

  • 手机主屏尺寸是指那(手机主屏尺寸是怎么测量)

    手机主屏尺寸是指那(手机主屏尺寸是怎么测量)

  • 删掉的抖音视频怎么恢复(删掉的抖音视频还能找回来吗)

    删掉的抖音视频怎么恢复(删掉的抖音视频还能找回来吗)

  • 微信好友的二维码怎么找(微信好友的二维码怎么获取)

    微信好友的二维码怎么找(微信好友的二维码怎么获取)

  • 怎样进入1688网(怎么进去1688)

    怎样进入1688网(怎么进去1688)

  • oppoa57屏幕尺寸(OPPOa57屏幕尺寸)

    oppoa57屏幕尺寸(OPPOa57屏幕尺寸)

  • 为什么电脑开不起机按了没反应(为什么电脑开不了热点)

    为什么电脑开不起机按了没反应(为什么电脑开不了热点)

  • 以前不用的手机号还能找回来吗(以前不用的手机号注册的微信还能报警吗)

    以前不用的手机号还能找回来吗(以前不用的手机号注册的微信还能报警吗)

  • 获取店铺失败是封店吗(获取店铺失败是怎么回事)

    获取店铺失败是封店吗(获取店铺失败是怎么回事)

  • 小米双闪电标志是什么意思(小米 双闪电)

    小米双闪电标志是什么意思(小米 双闪电)

  • 卡贴机开不了热点(卡贴机用不了了)

    卡贴机开不了热点(卡贴机用不了了)

  • 华为nova4悬浮窗设置(华为nova4悬浮窗怎么使用)

    华为nova4悬浮窗设置(华为nova4悬浮窗怎么使用)

  • 抖音关注列表怎么隐藏(抖音关注列表怎么破解)

    抖音关注列表怎么隐藏(抖音关注列表怎么破解)

  • 抖音抢镜怎么调整(抖音抢镜窗口怎么调大小)

    抖音抢镜怎么调整(抖音抢镜窗口怎么调大小)

  • 淘宝直播间助力值怎么涨(淘宝直播间助力值)

    淘宝直播间助力值怎么涨(淘宝直播间助力值)

  • 微信收款码怎么停用(微信收款码怎么关闭收款功能)

    微信收款码怎么停用(微信收款码怎么关闭收款功能)

  • 华为jkmal00是什么型号(华为jkmal00a是什么型号手机)

    华为jkmal00是什么型号(华为jkmal00a是什么型号手机)

  • 淘宝怎么退货(淘宝怎么退货退款申请七天无理由)

    淘宝怎么退货(淘宝怎么退货退款申请七天无理由)

  • 基于 Spring MVC + MyBits + Maven(基于springboot的毕设)

    基于 Spring MVC + MyBits + Maven(基于springboot的毕设)

  • 预收账款什么时候确认收入
  • 支付给个人的佣金费用需要发票吗
  • 厂房设计费计入在建工程吗
  • 航空公司开具的个人抬头的发票可以税前扣除吗
  • 全额工资是到手工资吗
  • 核定征收的固定资产包括
  • 小规模装饰工程税率
  • 所得税费用期初有余额吗
  • 归集研发费用时怎么计算
  • 资产减值准备会计科目编码
  • 建账录入期初数据需要看哪个表
  • 政策减免是什么意思
  • 建筑企业一般纳税人提供建筑服务属于老项目
  • 自制发票和增值税发票的区别是什么?
  • 小规模纳税人税收政策2023
  • 人工成本如何申报个税
  • 空调折旧年限的最新规定2018
  • 股东垫支开办费
  • 加工贸易企业如何财务管理账务流程
  • 关于积分的三种账务处理方法
  • 电脑网页密码不正确
  • 物业公司成本结转方案
  • 发代扣代缴手续费个税免
  • 代开专票缴纳的增值税怎么做账?
  • 销售费用里面的支付的安装人工费汇算清缴时计入哪里
  • 销售折扣增值税如何处理
  • 资产减值会计处理论文
  • php面向对象优点,缺点
  • php访问数据库的方式
  • 2023前端面试题目
  • 区块链教程大全
  • vue路由跳转携带参数怎么接收
  • thinkphp6框架源码完整版下载
  • ip a命令详解
  • 独立核算的分公司可以享受小微企业吗
  • 网络费用属于什么费用
  • 免税增值税纳税申报表怎么填
  • 城市维护建设税,教育费附加,地方教育费附加
  • 税额不够什么意思
  • 企业租赁收入如何纳税
  • 公司 用车
  • 对公账户的钱都可以取吗
  • 一般纳税人建筑劳务税率
  • 现金等价物的特征是
  • 股东垫付的钱可以作为实收资本吗
  • 去税务局流程
  • 累计折旧计提会计分录
  • 上个季度增值税报错了
  • 劳务简易征收最新政策2020
  • 如何避免电子发票重复报销的情况
  • 出口退税过期怎么处理
  • 如何开具发票?
  • mysql常见优化手段
  • sqlserver控制器名称
  • sqlserver附加数据库时出错,请单击消息中的超链接
  • win8系统运行窗口怎么打开
  • ghost出现错误
  • Linux系统中的pycharm怎么打开
  • mac系统字体大小设置
  • ssh实现登录功能
  • xp桌面快捷方式不见了
  • win10系统应用和浏览器控制出现感叹号
  • win7 win8 win8.1
  • linux中rwx
  • WIN7系统如何恢复出厂系统
  • win10系统如何屏蔽弹窗广告
  • linux常见服务
  • 在Linux系统中如果想移出已安装的软件
  • 协同编程工具
  • android的基本概念
  • unityui插件
  • jqueryif判断
  • 百度定位服务平台
  • Unity64 AStarPath 寻路失效 Bug解决 IOS64 IL2CPP - Bad date/time format in the zip file
  • unity spine换装
  • 大征期和小征期的区别
  • 欠税款要坐牢吗
  • 国家税务局广东省电子税务局下载
  • 简述进料加工对中国的意义
  • 江苏税务个税查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设