Spaces:
Sleeping
Sleeping
| import torch | |
| import torch.nn as nn | |
| class UstaLayerNorm(nn.Module): | |
| def __init__(self,embedding_dim,eps=1e-5,device="cpu"): | |
| super().__init__() | |
| self.eps = eps | |
| self.weight = nn.Parameter(torch.ones(embedding_dim,device=device)) | |
| self.device = device | |
| def forward(self,x): | |
| mean = x.mean(dim=-1,keepdim=True) | |
| variance = x.var(dim=-1,keepdim=True,unbiased=False) | |
| normalized_x = (x - mean) / torch.sqrt(variance + self.eps) | |
| return self.weight * normalized_x | |