位置: IT常识 - 正文

常用归一化/正则化层:InstanceNorm1d、InstanceNorm2d、(归一化的几种方法)

编辑:rootadmin
常用归一化/正则化层:InstanceNorm1d、InstanceNorm2d、 归一化零、前言1.官网链接2.归一化公式3.介绍一、InstanceNorm1d1. 介绍2.实例二、InstanceNorm2d1. 介绍2.实例三、BatchNorm1d1.介绍2.实例四、BatchNorm2d1.介绍2.实例零、前言1.官网链接

推荐整理分享常用归一化/正则化层:InstanceNorm1d、InstanceNorm2d、(归一化的几种方法),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:归一化方法有哪些,详细说明其中两种原理,归一化lms,归一化方法有哪些,详细说明其中两种原理,归一化有什么用,归一化bn,归一化有什么用,归一化方法有哪些,详细说明其中两种原理,常见归一化方法,内容如对您有帮助,希望把文章链接给更多的朋友!

https://pytorch.org/docs/stable/nn.html#normalization-layers

2.归一化公式

函数内部实现其实就是严格完成上面图中的公式,其中E(x)表示均值或者期望,而Var(x)则表示对应的方差。

3.介绍常用归一化/正则化层:InstanceNorm1d、InstanceNorm2d、(归一化的几种方法)

批量归一化与实例归一化的最大区别在于计算均值及方差的依据不同,实例归一化是对每个样本沿着通道方向独立对各个通道进行计算,而批量归一化则是对所有样本沿着batch的方向对各个通道分别进行计算。 比如: 输入特征图形状为:(2,3,256,512),表示有两个256×512的特征图,特征图通道数为3,假设为RGB三个通道 1)实例归一化:

依次对样本1,样本2分别计算R、G、B三个通道的均值、方差,每次计算其实是对256×512个元素值记性计算;依据计算出的均值和方差,对各通道的元素实现图中的公式;

2)批量归一化:

对整个批次的样本,对各个通道分别求出均值和方差,每次计算其实是对2×256×512个元素值记性计算;依据计算出的均值和方差,对各通道的元素实现图中的公式; 一、InstanceNorm1d1. 介绍

一维实例归一化:对一个批次中每个样本,依次按照通道计算对应的均值及均方差。

torch.nn.InstanceNorm1d( num_features,# 与输入特征的通道数保持一致 eps=1e-05, momentum=0.1, affine=False, track_running_stats=False, device=None, dtype=None)Input: (N, C, L)Output: (N, C, L)2.实例import torchimport mathepsilon=1e-5N,C,L=2,3,5inp=torch.randint(5,size=(N,C,L),dtype=torch.float32)print(inp)print("-"*25)# 方法一:手动实现# 对每个样本计算各个通道的均值mean_list=[]for b in range(N): for c in range(C): mean_list.append(torch.sum(inp[b,c,:])/L)# 对每个样本计算各个通道的方差var_list=[]for b in range(N): for c in range(C): # var_list.append(torch.var(inp[b,c,:]*(L-1)/L)) var_list.append(torch.var(inp[b,c,:]))print(mean_list)print(var_list)# 归一化out=torch.zeros_like(inp)# print(len(inp[0,0,:]))# print(out.shape)for b in range(N): for c in range(C): index=b*C+c out[b,c,:]=(inp[b,c,:]-mean_list[index])/math.sqrt(var_list[index]+epsilon)# print(out.shape)print(out)print("-"*25)# 方法二:调用函数out1=torch.nn.InstanceNorm1d(C)(inp)print(out1)二、InstanceNorm2d1. 介绍

二维实例归一化:计算过程及调用方式同一维实例归一化,二者区别主要在于输入特征形状的变化。

torch.nn.InstanceNorm2d(num_features, # 与输入特征的通道数保持一致eps=1e-05, momentum=0.1, affine=False, track_running_stats=False, device=None, dtype=None)Input: (N, C, H, W)Output: (N, C, H, W)2.实例import torchimport math# shape=(N,C,H,W),N表示样本批次大小,H/W表示该特征图高/宽,C表示每个特征元素对应几个通道inp=torch.randn(size=(1,3,2,2))print(inp)print(inp.shape)print('-'*20)out=torch.nn.InstanceNorm2d(3)(inp)print(out)print(out.shape)三、BatchNorm1d1.介绍

一维批量归一化:其实还是实现前言中介绍的公式,但与实例归一化的最大区别在于计算均值及方差的依据不同。

torch.nn.BatchNorm1d(num_features, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True, device=None,dtype=None)Input: (N,C,L), where N is the batch size, C is the number of features or channels, and L is the sequence lengthOutput: (N,C,L) (same shape as input)2.实例import torchimport mathepsilon=1e-5N,C,L=128,3,512inp=torch.randn(size=(N,C,L))# 方法一:手动实现# 沿着batch计算各个通道的均值mean_1, mean_2, mean_3 = torch.sum(inp[:,0,:])/(N*L), torch.sum(inp[:,1,:])/(N*L), torch.sum(inp[:,2,:])/(N*L)mean_list=[mean_1, mean_2, mean_3 ]# 沿着batch计算各个通道的方差var_1, var_2, var_3 = torch.var(inp[:,0,:]), torch.var(inp[:,1,:]), torch.var(inp[:,2,:])var_list=[var_1, var_2, var_3 ]print(mean_list,var_list)# 归一化out=torch.zeros_like(inp)for c in range(C): out[:,c,:]=(inp[:,c,:]-mean_list[c])/math.sqrt(var_list[c]+epsilon)# print(out.shape)# print(out)out1=outprint("-"*25)# 方法二:调用函数out=torch.nn.BatchNorm1d(C)(inp)# print(out)# print(out.shape)print(True in (out1==out))四、BatchNorm2d1.介绍

二维批量归一化:计算过程及调用方式同一维批量归一化,二者区别主要在于输入特征形状的变化。

torch.nn.BatchNorm2d(num_features, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True, device=None, dtype=None)Input: (N, C, H, W)Output: (N, C, H, W)(same shape as input)2.实例import torch# shape=(N,C,H,W),N表示样本批次大小,H/W表示该特征图高/宽,C表示每个特征元素对应几个通道inp=torch.randn(size=(2,3,5,6))print(inp)print(inp.shape)print('-'*20)out=torch.nn.BatchNorm2d(3)(inp)print(out)print(out.shape)
本文链接地址:https://www.jiuchutong.com/zhishi/295908.html 转载请保留说明!

上一篇:华为OD机试 - 租车骑绿岛(Java & JS & Python)(华为od机试题题库)

下一篇:页面访问升级出错怎么解决(页面访问升级出错怎么办)

  • 航天信息开票软件
  • 财税通财务软件如何调整凭证间距
  • 其他权益工具投资借贷方向
  • 一般纳税人能否享受残保金优惠
  • 代扣代缴境外企业增值税
  • 持有至到期投资是什么意思
  • 年末发票
  • 汇款后又退回来是什么原因
  • 单位社保没推送
  • 营改增后预存话费可以报销吗?
  • 进口货物付款计入哪个科目?
  • 自产产品对外捐赠需要缴纳增值税吗
  • 注册资本增资印花税减半
  • 房地产企业如何计算增值税
  • 农副产品免税怎么报税
  • 预计产品质量保证损失是什么意思
  • 平板电脑折旧残值率
  • 平销返利税率
  • 一次性收取的房租需要按月纳增值税吗
  • 备用金包括哪些大类
  • win10右键新建卡死
  • 购入原材料所发票怎么入
  • 增值税专用发票和普通发票的区别
  • 年金单位缴费计入个人账户(税前)
  • 现金折扣发生销售退回
  • 老生常谈PHP 文件写入和读取(必看篇)
  • 旅游费发票可以报销吗
  • thinkPHP模板不存在抛出异常
  • 基于Python实现五大常用分类算法(原理+代码)
  • return 重定向
  • 对公取款
  • 日主题ripro v8.1破解版(修复缓存器功能)
  • 成本费用利润率是什么指标
  • 企业投资收益要交增值税吗
  • 红字信息表跨月已报税
  • 银行借记和贷记一样吗
  • 网银数字证书年费
  • MySQL里Create Index 能否创建主键 Primary Key
  • 部分货物退回怎么开票
  • 非限定性净资产和限定性净资产的区别
  • 电子承兑汇票到期后多少天能兑现
  • 内含增长率的推导
  • 公司举办活动的好处
  • 跨年度的银行未入账如何处理
  • 餐饮会计怎么做账
  • 现金劳务收入会计分录
  • 免税店为什么没有发票
  • 行政单位收到银行存款利息的会计分录
  • 现金流量表和利润表的勾稽关系
  • 持有待售流动资产减值
  • 弥补上年亏损的分录 所得税
  • 农行公户怎么给公户转账
  • 待摊费用和长期待摊费用税前扣除
  • 企业存货会计分录
  • sql server 文件
  • macbookpro 安装
  • centos真机安装后只有lo
  • linux文本模式无法打字
  • windows端口占用怎么关闭
  • windows8.1开机
  • 飞信安卓下载
  • 保存 linux
  • c盘越来越小了
  • git怎么备份
  • Win10红石版Edge浏览器新扩展功能:关灯(附扩展程序使用)
  • c#使用mongodb
  • 安卓软件集
  • unity自动攻击
  • 如何让w10系统运行更快
  • linux vim编辑命令显示行号
  • unity3d的
  • JAVA的OPENGL,JOGL入门实例----碰撞移动的正方体 (配置+源代码)
  • 自定义标签的开发的3个步骤?
  • jquery on()
  • androidday3
  • 税务举报可以撤销么?
  • 下岗职工再就业优惠政策
  • 洛阳契税首套房认定标准
  • 新能源审核多久
  • 车辆购置税怎么买
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设