Spaces:
Running on Zero
Running on Zero
File size: 609 Bytes
9cde5e3 98d1e65 9cde5e3 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | """
Token embedding layer.
Transforms token IDs into dense, learnable vectors.
"""
import torch
import torch.nn as nn
class Embedding(nn.Module):
"""
Token Embedding
Input:
(batch_size, context_length)
Output:
(batch_size, context_length, d_model)
"""
def __init__(self, vocab_size: int, d_model: int):
super().__init__()
self.embedding = nn.Embedding(
num_embeddings=vocab_size,
embedding_dim=d_model
)
def forward(self, token_ids: torch.Tensor) -> torch.Tensor:
return self.embedding(token_ids) |