2.1层归一化(Layer Normalization)在 PreNorm
类中的数学原理:
2.2代码实现:
class PreNorm(nn.Module):
def __init__(self, dim, fn):
super().__init__()
self.norm = nn.LayerNorm(dim)
self.fn = fn
def forward(self, x, **kwargs):
return self.fn(self.norm(x), **kwargs)
层归一化:
self.norm = nn.LayerNorm(dim)
前向传播(forward
方法):
def forward(self, x, **kwargs)
: 在前向传播过程中,PreNorm
类首先对输入x
应用层归一化,然后将归一化后的结果传递给fn
函数或模块。return self.fn(self.norm(x), **kwargs)
: 这行代码先对x
应用层归一化,然后将归一化的结果传递给fn
。这里的**kwargs
允许传递额外的参数给fn
函数。