快速结论:这个报错通常出现在 ComfyUI 使用 MiniMax H3 Video VAE 进行解码,且显存不足导致 VAE 模型被部分 CPU offload 时。优先排查 ComfyUI 是否已更新(Issue 末尾标记为已修复),并确认 `comfy/ldm/minimax/vae.py` 中相关参数是否被显式搬到当前张量所在设备。
适用环境:ComfyUI;MiniMax H3 Video VAE;8GB 显存 GPU(如 RTX 3060 Ti)触发部分 CPU offload 时复现。Issue 中未确认 Python、CUDA、PyTorch 具体版本,也未提及操作系统,故不补写。
最快修复方案:暂未提供官方明确的一步修复命令;但 Issue 末尾评论为 “Fixed in the recent update”,可优先尝试将 ComfyUI 升级到包含 MiniMax H3 修复的最新版本。若无法升级,可参考用户验证过的本地补丁:在 `comfy/ldm/minimax/vae.py` 中将 `register_tokens`、`scale1`、`scale2` 显式 `.to(device=…, dtype=…)` 后再参与张量运算。
注意事项:该本地补丁是 Issue 报告者自行验证的临时方案,并非官方发布补丁;直接修改 `vae.py` 会在 ComfyUI 更新后被覆盖,且补丁可能未覆盖全部 CPU offload 路径。建议优先升级,而不是长期依赖手改源码。
问题场景
用户在使用 ComfyUI 生成 MiniMax H3 视频时,将潜在向量(latent)接入标准 `VAEDecode` 节点进行解码。在 8GB VRAM 显卡(如 RTX 3060 Ti)上,MiniMax H3 Video VAE 为了适配显存限制会被部分 offload 到 CPU,此时解码过程触发 PyTorch 设备不一致崩溃。用户已经确认禁用所有自定义节点后问题依然存在。
报错原文
File "comfy/ldm/minimax/vae.py", line 312, in forward
h = torch.cat([h, self.register_tokens.expand(B, -1, -1), torch.zeros_like(h[:, 0:1, :])], dim=1)
RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cpu! (when checking argument for argument tensors in method wrapper_CUDA_cat)
-- and after patching that line --
File "comfy/ldm/minimax/vae.py", line 293, in forward
x = x.addcmul_(self.attn(comfy.rmsnorm.rms_norm(x, self.norm1.weight, self.norm1.eps), rotary_pos_emb), self.scale1)
RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cpu!
原因分析
最可能的原因是 MiniMax H3 VAE 在部分 CPU offload 时,模型中的某些参数或 buffer 没有随激活张量一起被移动到 GPU,导致它们留在 CPU 上。Issue 中明确指出的问题点有两处:一是 ViT3DDecoder.forward 中的 self.register_tokens 留在 CPU,而 <code
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。


