1.对2d或3d数据进行批标准化(Batch Normlization)操作:
原类定义:
class torch.nn.BatchNorm1d(num_features, eps=1e-05, momentum=0.1, affine=True):
参数释义:
num_features:特征的维度 (N,L) -> L ;(N,C,L) -> C
eps:在分母上添加一个定值,不能趋近于0
momentum:动态均值和动态方差所使用的动量(原理尚未涉及,日后补上)
affine:布尔变量,是否为该层添加可学习的仿设变换(原理尚未涉及,日后补上)
原理:计算各个维度均值和标准差。
2.对由3d数据组成的4d数据(N,C,X,Y)进行Batch Normlization;
类定义:
class torch.nn.BatchNorm2d(num_features, eps=1e-05, momentum=0.1, affine=True):
参数释义:
num_features:特征的维度 (N,C,X,Y) -> C
eps:在分母上添加一个定值,不能趋近于0
momentum:动态均值和动态方差所使用的动量(原理尚未涉及,日后补上)
affine:布尔变量,是否为该层添加可学习的仿设变换(原理尚未涉及,日后补上)
原理:计算各个维度均值和标准差。
3.调用:
import torch
import torch.nn as nn
import torch.nn.function as F
self.batch_norm = nn.BatchNorm1d(num_features)#默认参数可以不填
self.batch_norm1 = nn.BatchNorm2d(num_features) #默认参数可以不填