RuntimeError: Sizes of tensors must match except in dimension 0. Expected size 16 but got size 8 for tensor number 1 in the list.

用户在 ComfyUI 中使用 WanVideoWrapper 自定义节点的 WanVideoSampler 节点(Node ID: 70)执行视频生成工作流时触发此错误。涉及工具包括 ComfyUI v0.10.0、Python 3.12.10、PyTorch 2.6.0+cu126 及 NVID

RuntimeError: Sizes of tensors must match except in dimension 0. Expected size 16 but got size 8 for tensor number 1 in the list.

RuntimeError: Sizes of tensors must match except in dimension 0. Expected size 16 but got size 8 for tensor number 1 in the list.

快速结论:此报错通常出现在 ComfyUI WanVideoWrapper 的 WanVideoSampler 节点执行时,优先排查 CUDA 环境版本是否正确,以及推理时的块交换(block swap)参数是否设置过大。

问题场景

用户在 ComfyUI 中使用 WanVideoWrapper 自定义节点的 WanVideoSampler 节点(Node ID: 70)执行视频生成工作流时触发此错误。涉及工具包括 ComfyUI v0.10.0、Python 3.12.10、PyTorch 2.6.0+cu126 及 NVIDIA GeForce RTX 4070。

报错原文

RuntimeError: Sizes of tensors must match except in dimension 0. Expected size 16 but got size 8 for tensor number 1 in the list.

Stack trace 关键行:
File "...\ComfyUI-WanVideoWrapper\nodes_sampler.py", line 2283, in process
    temporal_ref_latents = torch.cat([msk, temporal_ref_latents], dim=0) # 4+C T H W

原因分析

根据 Issue 讨论,可能原因包括:

  • CUDA 版本不匹配:用户安装了错误版本的 CUDA,或系统中存在多个 CUDA 版本导致路径混乱,使得 PyTorch 无法正确调用 GPU 资源。
  • 块交换(block swap)参数设置过大:当使用 CPU 推理并开启块交换时,若交换大小参数(例如设置为 30 或 40)超出模型可处理范围,可能导致张量维度计算错误。

环境排查

  • 确认 CUDA 版本与 PyTorch 版本是否匹配。用户环境中 PyTorch 2.6.0+cu126 要求 CUDA 12.6。
  • 检查系统 PATH 环境变量中是否存在多个 CUDA 路径,确保只保留正确的版本。
  • 确认 ComfyUI 启动参数中是否使用了 --use-sage-attention--disable-cuda-malloc 等可能影响内存管理的选项。
  • 确认显卡显存是否充足(用户 RTX 4070 显存约 12GB,需根据工作流复杂度判断)。

解决步骤

  1. 修复 CUDA 环境(优先尝试)
    • 卸载系统中所有无关的 CUDA 版本,仅保留与 PyTorch 匹配的版本(本案例中为 CUDA 12.6)。
    • 确保 CUDA 的 bin 和 lib 路径在系统 PATH 中优先出现,且无冲突。
    • 重启 ComfyUI 后重新执行工作流。
  2. 调整块交换参数(如果使用 CPU+块交换模式)
    • 将块交换大小参数降低至 20/40 或更低(例如 16/32),避免设置超过 20 的值。
    • 如果问题消失,可尝试逐步增大该参数,找到系统可稳定运行的阈值。
  3. 检查工作流配置
    • 确认 WanVideoSampler 节点的输入张量尺寸与模型预期一致,特别是掩码(msk)和参考潜变量(temporal_ref_latents)的维度。
    • 如果使用自定义的 Wan22 工作流(如用户提供的 wan22.json),尝试使用官方示例工作流进行对比测试。
  4. 可优先尝试:如果以上步骤无效,考虑完全卸载并重新安装 ComfyUI 及其依赖,确保环境干净。

验证方法

执行相同的视频生成工作流,观察 WanVideoSampler 节点是否不再报错,且能正常输出潜变量或最终视频。若不再出现 RuntimeError: Sizes of tensors must match,说明问题已解决。

参考来源

kijai/ComfyUI-WanVideoWrapper #1922

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

celebrityanime
celebrityanime
文章: 7542

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注