rohitg00/ai-engineering-from-scratch · error · ValueError
batch mismatch: text {x.shape[0]} vs memory {memory.shape[0]
Error message
batch mismatch: text {x.shape[0]} vs memory {memory.shape[0]} What it means
Error "batch mismatch: text {x.shape[0]} vs memory {memory.shape[0]}" thrown in rohitg00/ai-engineering-from-scratch.
Source
Thrown at phases/19-capstone-projects/61-cross-attention-fusion/code/main.py:111
self.out = nn.Linear(cfg.hidden, cfg.hidden, bias=True)
self.drop = nn.Dropout(cfg.dropout)
self.scale = 1.0 / math.sqrt(cfg.head_dim)
def project_memory(self, memory: torch.Tensor) -> tuple[torch.Tensor, torch.Tensor]:
if memory.dim() != 3:
raise ValueError(f"expected (B, Nv, vision_dim), got {tuple(memory.shape)}")
b, nv, _ = memory.shape
h, hd = self.cfg.heads, self.cfg.head_dim
kv = self.kv_proj(memory).reshape(b, nv, 2, h, hd).permute(2, 0, 3, 1, 4)
return kv[0], kv[1]
def forward(self, x: torch.Tensor, memory: torch.Tensor,
kv_cache: tuple[torch.Tensor, torch.Tensor] | None = None
) -> torch.Tensor:
if x.dim() != 3:
raise ValueError(f"expected (B, Nt, hidden), got {tuple(x.shape)}")
if memory.shape[0] != x.shape[0]:
raise ValueError(
f"batch mismatch: text {x.shape[0]} vs memory {memory.shape[0]}"
)
b, nt, d = x.shape
h, hd = self.cfg.heads, self.cfg.head_dim
q = self.q_proj(x).reshape(b, nt, h, hd).transpose(1, 2)
if kv_cache is None:
k, v = self.project_memory(memory)
else:
k, v = kv_cache
expected = (b, h, memory.shape[1], hd)
if k.shape != expected or v.shape != expected:
raise ValueError(
f"kv_cache must be (B,H,Nv,hd)={expected}, got "
f"k={tuple(k.shape)} v={tuple(v.shape)}"
)
scores = (q @ k.transpose(-2, -1)) * self.scaleView on GitHub (pinned to 39ea8a1c6d)
When it happens
Trigger: Thrown at phases/19-capstone-projects/61-cross-attention-fusion/code/main.py:111 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/47de2462198187ea.
Report an issue: GitHub.