pytorch中BatchNorm1d、BatchNorm2d、BatchNorm3d

本文详细介绍了批标准化(BatchNormalization)在不同维度数据中的应用,包括一维、二维和三维数据的批标准化操作。通过实例展示了如何在PyTorch中实现这些批标准化层。

BatchNorm

对小批量(mini-batch)的2d或3d输入进行批标准化(Batch Normalization)操作
在这里插入图片描述
在每一个小批量(mini-batch)数据中,计算输入各个维度的均值和标准差。gamma与beta是可学习的大小为C的参数向量(C为输入大小)
在训练时,该层计算每次输入的均值与方差,并进行移动平均。移动平均默认的动量值为0.1。

在验证时,训练求得的均值/方差将用于标准化验证数据。
参数:
num_features: 来自期望输入的特征数,C from an expected input of size (N,C,L) or L from input of size (N,L)
eps: 为保证数值稳定性(分母不能趋近或取0),给分母加上的值。默认为1e-5。
momentum: 动态均值和动态方差所使用的动量。默认为0.1。
affine: 一个布尔值,当设为true,给该层添加可学习的仿射变换参数。

Shape: - 输入:(N, C)或者(N, C, L) - 输出:(N, C)或者(N,C,L)(输入输出相同)
例子

1.nn.BatchNorm1d(num_features)

1.对小批量(mini-batch)的2d或3d输入进行批标准化(Batch Normalization)操作
2.num_features:
	来自期望输入的特征数,该期望输入的大小为'batch_size x num_features [x width]'
	意思即输入大小的形状可以是'batch_size x num_features''batch_size x num_features x width' 都可以。
	(输入输出相同)
     输入Shape:(N, C)或者(N, C, L)
     输出Shape:(N, C)或者(NCL)

eps:为保证数值稳定性(分母不能趋近或取0,给分母加上的值。默认为1e-5。
momentum:动态均值和动态方差所使用的动量。默认为0.1。
affine:一个布尔值,当设为true,给该层添加可学习的仿射变换参数。
3.在每一个小批量(mini-batch)数据中,计算输入各个维度的均值和标准差。gamma与beta是可学习的大小为C的参数向量(C为输入大小)
  在训练时,该层计算每次输入的均值与方差,并进行移动平均。移动平均默认的动量值为0.1。
  在验证时,训练求得的均值/方差将用于标准化验证数据。 
4.例子
	>>> # With Learnable Parameters
	>>> m = nn.
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值