PreNorm
类中的数学原理: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
函数。