def BN1dForward(inputs, weight, bias, eps=1e-5): meanx = inputs.mean(dim=0) varx = inputs.var(dim=0) normx = (inputs - meanx) / torch.sqrt(varx + eps) return normx * weight + bias, normx, varx
时间: 2023-11-11 21:04:13 浏览: 65
Python库 | postcode-validator-uk-0.0.2.tar.gz
这是一个用于一维批量归一化的前向传播函数,其中:
- `inputs` 是输入数据,形状为 `(batch_size, num_features)`;
- `weight` 和 `bias` 分别是归一化的缩放因子和偏置项,形状均为 `(num_features,)`;
- `eps` 是一个小常数,用于避免除以零的情况;
- `meanx` 和 `varx` 分别是输入数据在当前 batch 的均值和方差,形状均为 `(num_features,)`;
- `normx` 是归一化后的数据,形状与 `inputs` 相同,计算公式为:$$\text{normx}=\frac{\text{inputs}-\text{meanx}}{\sqrt{\text{varx}+\text{eps}}}$$
- 返回值为归一化后的数据、当前 batch 的均值和方差。
阅读全文