From b9dcdda116d472b1036bca56f0f8b80e5407478c Mon Sep 17 00:00:00 2001 From: Daniel Maddern Date: Wed, 19 Aug 2026 22:21:30 +0700 Subject: [PATCH] Debug _merge_tokens shapes --- src/h3_blackwell_runtime/qwen3vl_vision.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/h3_blackwell_runtime/qwen3vl_vision.py b/src/h3_blackwell_runtime/qwen3vl_vision.py index ef2fc80..dbf0dbc 100644 --- a/src/h3_blackwell_runtime/qwen3vl_vision.py +++ b/src/h3_blackwell_runtime/qwen3vl_vision.py @@ -676,6 +676,8 @@ class Qwen3VL32BVision(nn.Module): """Flatten 2x2 spatial-merge blocks (the reference's pre-merge flatten).""" t, h, w = (int(v) for v in grid_thw.tolist()[0]) merge = 2 + if x.ndim != 2 or x.shape[0] != t * h * w: + print(f"[merge_tokens] x.shape={tuple(x.shape)}, grid={(t, h, w)}, expected N={t*h*w}") return x.view(t, h // merge, merge, w // merge, merge, -1).permute(0, 1, 3, 2, 4, 5).reshape(-1, -1) def forward(self, flatten_patches: torch.Tensor, grid_thw: torch.Tensor) -> tuple[torch.Tensor, list[torch.Tensor]]: