rohitg00/ai-engineering-from-scratch · error · ValueError
text length {nt} exceeds max {self.cfg.max_text_len}
Error message
text length {nt} exceeds max {self.cfg.max_text_len} What it means
Error "text length {nt} exceeds max {self.cfg.max_text_len}" thrown in rohitg00/ai-engineering-from-scratch.
Source
Thrown at phases/19-capstone-projects/61-cross-attention-fusion/code/main.py:189
self.pos_emb = nn.Embedding(cfg.max_text_len, cfg.hidden)
self.blocks = nn.ModuleList([DecoderBlock(cfg) for _ in range(cfg.depth)])
self.norm = nn.LayerNorm(cfg.hidden, eps=1e-6)
self.head = nn.Linear(cfg.hidden, cfg.text_vocab, bias=False)
def build_kv_cache(self, memory: torch.Tensor) -> list[tuple[torch.Tensor, torch.Tensor]]:
cache = []
for block in self.blocks:
k, v = block.cross_attn.project_memory(memory)
cache.append((k, v))
return cache
def forward(self, text_ids: torch.Tensor, memory: torch.Tensor,
use_cache: bool = False) -> torch.Tensor:
if text_ids.dim() != 2:
raise ValueError(f"expected (B, Nt) ids, got {tuple(text_ids.shape)}")
b, nt = text_ids.shape
if nt > self.cfg.max_text_len:
raise ValueError(f"text length {nt} exceeds max {self.cfg.max_text_len}")
positions = torch.arange(nt, device=text_ids.device)
x = self.tok_emb(text_ids) + self.pos_emb(positions).unsqueeze(0)
mask = causal_mask(nt).to(text_ids.device)
cache = self.build_kv_cache(memory) if use_cache else [None] * len(self.blocks)
for block, kv in zip(self.blocks, cache):
x = block(x, memory=memory, text_mask=mask, kv_cache=kv)
x = self.norm(x)
return self.head(x)
def synth_memory(batch: int, n_tokens: int, dim: int, seed: int) -> torch.Tensor:
gen = torch.Generator().manual_seed(seed)
return torch.randn(batch, n_tokens, dim, generator=gen)View on GitHub (pinned to 39ea8a1c6d)
When it happens
Trigger: Thrown at phases/19-capstone-projects/61-cross-attention-fusion/code/main.py:189 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of rohitg00/ai-engineering-from-scratch@39ea8a1c6d (2026-08-26).
Data as JSON: /api/errors/3ad1836f6e6715cb.
Report an issue: GitHub.