(dim, position)
| 241 | |
| 242 | |
| 243 | def sinusoidal_embedding_1d(dim, position): |
| 244 | sinusoid = torch.outer(position.type(torch.float64), torch.pow( |
| 245 | 10000, -torch.arange(dim//2, dtype=torch.float64, device=position.device).div(dim//2))) |
| 246 | x = torch.cat([torch.cos(sinusoid), torch.sin(sinusoid)], dim=1) |
| 247 | return x.to(position.dtype) |
| 248 | |
| 249 | |
| 250 | def precompute_freqs_cis_3d(dim: int, end: int = 1024, theta: float = 10000.0): |
no test coverage detected