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

batchnorm1d,layernorm,revin区别

注意:

batchnorm1d是指同一特征下,所有batch的所有序列进行求均值标准差归一化

layernorm是指每个序列的所有特征进行求均值标准差归一化

revin是指同一batch,同一特征下,所有序列进行均值标准差归一化,即样本归一

class RevIN(nn.Module):def __init__(self, num_features: int, eps=1e-5, affine=True):""":param num_features: the number of features or channels:param eps: a value added for numerical stability:param affine: if True, RevIN has learnable affine parameters"""super(RevIN, self).__init__()self.num_features = num_featuresself.eps = epsself.affine = affineif self.affine:self._init_params()def forward(self, x, mode:str):if mode == 'norm':self._get_statistics(x)x = self._normalize(x)elif mode == 'denorm':x = self._denormalize(x)else: raise NotImplementedErrorreturn xdef _init_params(self):# initialize RevIN params: (C,)self.affine_weight = nn.Parameter(torch.ones(self.num_features))self.affine_bias = nn.Parameter(torch.zeros(self.num_features))def _get_statistics(self, x):dim2reduce = tuple(range(1, x.ndim-1))self.mean = torch.mean(x, dim=dim2reduce, keepdim=True).detach()self.stdev = torch.sqrt(torch.var(x, dim=dim2reduce, keepdim=True, unbiased=False) + self.eps).detach()def _normalize(self, x):x = x - self.meanx = x / self.stdevif self.affine:x = x * self.affine_weightx = x + self.affine_biasreturn xdef _denormalize(self, x):if self.affine:x = x - self.affine_biasx = x / (self.affine_weight + self.eps*self.eps)x = x * self.stdevx = x + self.meanreturn x

http://www.dtcms.com/a/282276.html

相关文章:

  • 关于程序=数据结构+算法这句话最近的一些思考
  • 【数据结构】「栈」(顺序栈、共享栈、链栈)
  • iOS 抓包工具选择与配置指南 从零基础到高效调试的完整流程
  • 时序大模型为时序数据库带来的变革与机遇
  • Flutter 记录 使用ModalRoute获取参数
  • flutter app内跳转到其他安卓 app的方法
  • qt udp接收时 丢包
  • 安卓开发使用Android Studio配置flutter环境
  • 《Qt信号与槽机制》详解:从基础到实践
  • Flutter运行Android项目时显示java版本不兼容(Unsupported class file major version 65)的处理
  • 《Qt实战开发》:从计算器到音乐播放器的全栈实现指南
  • 7月16日作业
  • QOpenGLWidget自定义控件— 2D点云显示(支持平移、放缩、绘制网格)
  • 桥下的蓝色风景线
  • 数据库连接池调优以及常见问题
  • SSM框架学习——day3
  • 如何解决WordPress数据库表损坏导致的错误
  • Python 测试全景:单元测试、集成测试与端到端测试实战指南
  • 【收银系统源码】-适用于零售餐饮连锁多门店
  • Docker化Web服务部署全景指南:从基础服务器到企业级应用
  • VUE指令大全
  • 使用Node搭建一个直播服务器,实时直播当前桌面
  • WAMP允许远程访问
  • WAN技术
  • 基于 Python/PHP/Node.js 的淘宝 API 商品数据抓取开发教程
  • 高德mcp结合智能体生成旅游计划推荐
  • Typecho插件开发:自定义表单验证规则addRule实战指南
  • 20250716|【继续19的快慢指针】Leetcodehot100之237【pass】今天计划
  • python--杂识--20 sse与websocket区别
  • 【RTSP从零实践】13、TCP传输AAC格式RTP包(RTP_over_TCP)的RTSP服务器(附带源码)