当前位置: 首页 > news >正文

番禺企业网站建设seo关键词是什么

番禺企业网站建设,seo关键词是什么,东莞网站优化教程,大专电子商务主要学什么0. Intro 以pytorch为例,BatchNorm1d的参数num_features涉及了对什么数据进行处理,但是我总是记不住,写个blog帮助自己理解QAQ 1. 复现nn.BatchNorm1d(num_features1) 假设有一个input tensor: input torch.tensor([[[1.,2.,…

0. Intro

  1. 以pytorch为例,BatchNorm1d的参数num_features涉及了对什么数据进行处理,但是我总是记不住,写个blog帮助自己理解QAQ

1. 复现nn.BatchNorm1d(num_features=1)

  1. 假设有一个input tensor:
input = torch.tensor([[[1.,2.,3.,4.]],[[0.,0.,0.,0.]]])
print(input.shape)
# torch.Size([2, 1, 4])
  1. nn.BatchNorm1d(num_features=1)函数介绍
  • 这个函数长这个样子:
    torch.nn.BatchNorm1d(num_features, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True, device=None, dtype=None)
  • 使用起来是这样的:
BN1 = nn.BatchNorm1d(num_features=1,affine=False,eps=0)   
# input只有1个feature(只有1个channel),每个features的长度=4,第一个batch
print("---BN1---")
print(torch.squeeze(BN1(input)))
  • 注意1:函数参数eps=0是为了让下图这个batchnorm的公式的这个等于0(起保护作用),eps默认为1e-5
    在这里插入图片描述
  • 注意2:上式里的γ\gammaγβ\betaβ分别默认值是1和0,因此只要设置affine=False就可以使用了,注意affine默认为True
  • input shape符合BatchNorm1d要求的[B,C,L]的格式,这里num_features=1C对应
    上面函数的输出为:
---BN1---
tensor([[-0.1690,  0.5071,  1.1832,  1.8593],[-0.8452, -0.8452, -0.8452, -0.8452]])
  1. nn.BatchNorm1d(num_features=1)复现结果:
ans = (input-torch.mean(torch.flatten(input)))/torch.sqrt(torch.var(torch.flatten(input),unbiased=False))
print(torch.squeeze(ans))
  • 注意1:torch.flatten()很重要,它刚好体现了:BN层做norm时会把每个feature在不同batch中的值拉平,然后做norm,不管是矩阵还是序列
  • 注意2:torch.var的参数unbiased=False表示求方差时分母是n,也就是不需要求无偏的方差
    它的输出为:
tensor([[-0.1690,  0.5071,  1.1832,  1.8593],[-0.8452, -0.8452, -0.8452, -0.8452]])
  • 一模一样

2. 复现nn.BatchNorm1d(num_features=4)

  1. 依然假设有一个input tensor,和上面一样,复制过来
input = torch.tensor([[[1.,2.,3.,4.]],[[0.,0.,0.,0.]]])
print(input.shape)
# torch.Size([2, 1, 4])
  1. nn.BatchNorm1d(num_features=4) 函数介绍
  • 首先这个函数使用起来是这样的:
BN2 = nn.BatchNorm1d(num_features=4,affine=False,eps=0)
print("---BN2---")
print(BN2(torch.squeeze(input)))
  • 注意点1:torch.squeeze是必须的,使用之后tensor的shape会从torch.Size([2, 1, 4])变为torch.Size([2, 4]),符合BatchNorm1d要求的[B,C]的格式,这里num_features=4C对应
  • 上面的函数输出为
---BN2---
tensor([[ 1.,  1.,  1.,  1.],[-1., -1., -1., -1.]])
  1. 复现
  • 重点来了,我们理解一下num_features=4,对于现在的input data(经过squeeze之后shape为[B,C] = [2,4]),input data的每个feature现在是一个single value值(不是序列或者矩阵),因此这里可以对某个feature手动计算一下:

    • 以最后一个feature为例:[4,0],可以计算得mean=2,sqrt(var)=2,因此([4,0]-mean)/sqrt(var)=[1,-1]
    • 同理可以计算其他3个feature
  • 一模一样


上面的代码

input = torch.tensor([[[1.,2.,3.,4.]],[[0.,0.,0.,0.]]])
print(input.shape)BN1 = nn.BatchNorm1d(num_features=1,affine=False,eps=0)   # 每个features的长度=4,第一个batch
print("---BN1---")
print(torch.squeeze(BN1(input)))
print("---BN1 Repeat---")
ans = (input-torch.mean(torch.flatten(input)))/torch.sqrt(torch.var(torch.flatten(input),unbiased=False) )
print(torch.squeeze(ans))BN2 = nn.BatchNorm1d(num_features=4,affine=False,eps=0)
print("---BN2---")
print(BN2(torch.squeeze(input)))
# BN2就手动算一下啦

3. 对于BatchNorm2d是类似的

  1. 注意点其实只有2点
    • 找准feature是什么
    • BN层做norm时会把每个feature在不同batch中的值拉平,然后做norm,不管是矩阵还是序列
http://www.tdrn.cn/news/337.html

相关文章:

  • 网站文字专题页面怎么做的互联网广告投放代理公司
  • 专门做游戏攻略的网站亚马逊关键词优化怎么做
  • 做网站 怎么样找客户品牌策划书
  • 怎么做网站内部搜索功能2345浏览器
  • 南充做网站的游戏代理加盟平台
  • 拉萨网站建设公司市场营销专业课程
  • 静态网站可以做哪些内容近期国内新闻摘抄
  • 电子邮箱网站建设东莞seo网站制作报价
  • 做业务查牙医诊所一般用什么网站公司网站建设开发
  • 建站之星怎么免费做网站如何接广告赚钱
  • wordpress怎么绑定域名奉化网站关键词优化费用
  • 创新的响应式网站建设百度网站电话是多少
  • github网站注册账号怎么做推广网站平台
  • 怎么用自己的电脑做网站涟源网站seo
  • 专做智能化施工的网站拉新充场app推广平台
  • 江西 网站制作推广方式营销方案
  • 兰州网站怎么建设seo外包服务专家
  • java编程代码大全优化水平
  • 合肥瑶海区寒假兼职工网站建设网站建设方案书模板
  • 政府网站改版建设报告window优化大师
  • 济南做网站0531soso免费投放广告的平台
  • 淮安 做网站 app广州公关公司
  • 安徽做政府网站的企业深圳最好的外贸seo培训
  • 做网站需要什么语言如何找外包的销售团队
  • 南昌网站建设方案推广网络推广软文
  • 乐清 网站建设qq群推广方法
  • 乐清建网站哪家强软文300字介绍商品
  • 天津做网站找哪家公司好市场监督管理局是干什么的
  • 百度手机网站提交为什么sem的工资都不高
  • 企业网站也需要在公安做备案么广州线上教学