From e42d13ed7c6ddc44c7009661f28568be949695ba Mon Sep 17 00:00:00 2001 From: infinityay Date: Thu, 27 Nov 2025 15:17:30 +0800 Subject: [PATCH] fix: correct LayerNorm class indentation --- ...40 Transformer\346\236\266\346\236\204.md" | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git "a/docs/chapter2/\347\254\254\344\272\214\347\253\240 Transformer\346\236\266\346\236\204.md" "b/docs/chapter2/\347\254\254\344\272\214\347\253\240 Transformer\346\236\266\346\236\204.md" index 8caab53..bfc26ee 100644 --- "a/docs/chapter2/\347\254\254\344\272\214\347\253\240 Transformer\346\236\266\346\236\204.md" +++ "b/docs/chapter2/\347\254\254\344\272\214\347\253\240 Transformer\346\236\266\346\236\204.md" @@ -419,18 +419,18 @@ $$ class LayerNorm(nn.Module): ''' Layer Norm 层''' def __init__(self, features, eps=1e-6): - super().__init__() - # 线性矩阵做映射 - self.a_2 = nn.Parameter(torch.ones(features)) - self.b_2 = nn.Parameter(torch.zeros(features)) - self.eps = eps + super().__init__() + # 线性矩阵做映射 + self.a_2 = nn.Parameter(torch.ones(features)) + self.b_2 = nn.Parameter(torch.zeros(features)) + self.eps = eps def forward(self, x): - # 在统计每个样本所有维度的值,求均值和方差 - mean = x.mean(-1, keepdim=True) # mean: [bsz, max_len, 1] - std = x.std(-1, keepdim=True) # std: [bsz, max_len, 1] - # 注意这里也在最后一个维度发生了广播 - return self.a_2 * (x - mean) / (std + self.eps) + self.b_2 + # 在统计每个样本所有维度的值,求均值和方差 + mean = x.mean(-1, keepdim=True) # mean: [bsz, max_len, 1] + std = x.std(-1, keepdim=True) # std: [bsz, max_len, 1] + # 注意这里也在最后一个维度发生了广播 + return self.a_2 * (x - mean) / (std + self.eps) + self.b_2 ``` 注意,在我们上文实现的 Layer Norm 层中,有两个线性矩阵进行映射。