生成时报张量尺寸不匹配:The size of tensor a (X) must match the size of tensor b (Y) at non-singleton dimension Z / 全站资源搜索
搜索 更新 2026-10-02
报错 045 执行期运行时错误(张量/尺寸/节点) 有来源可查

生成时报张量尺寸不匹配:The size of tensor a (X) must match the size of tensor b (Y) at non-singleton dimension Z

报错原文(原样)
RuntimeError: The size of tensor a (49) must match the size of tensor b (16) at non-singleton dimension 1
检索关键词 must match the size of tensor b、at non-singleton dimension、The size of tensor a、non-singleton dimension 1、RuntimeError: The size of tensor a
先看这一句 点 Queue Prompt 后进度条跑到一半卡住,红色错误框弹出,提示两个张量在某个维度上长度对不上;通常发生在采样之后、VAE 解码阶段。
适用版本 全版本通用(属于模型/尺寸配错,不是版本 bug) · 核实日期 2026-09-26 · 状态 已核实
适用环境:Windows 便携版、秋叶/绘世整合包、ComfyUI Desktop、Linux + 云 GPU、Docker/服务器、全部主流环境

现象与触发场景

常见触发场景:

  • 把大模型和不对应的 VAE 混用(例如 Flux 的 16 通道 latent 配 SD1.5/SDXL 的 4 通道 VAE)
  • 把 SD1.5 的 LoRA / ControlNet / IPAdapter 挂到 SDXL 或 Flux 的 UNet 上
  • Empty Latent Image 尺寸与 Reference / 尺寸节点给出的尺寸不一致

根因

  • 不同架构家族(SD1.5 4 通道、SDXL 4 通道、Flux/SD3 16 通道)的 latent 通道数与文本编码器组合不同,强行拼接就在维度上对不上
  • ControlNet / LoRA / IPAdapter 的权重是按某一个基础模型的张量形状训练的,形状不匹配时前向计算直接抛错
  • 错误发生在哪个节点要看 traceback 最底部的自定义节点文件名与函数名

解决步骤

已按「最可能有效」排序。请从上往下做,每做完一步用「验证」确认,不要一次改五处。

  1. 先在官方文档的"架构家族对照表"里核对你用的模型组合
    docs.comfy.org 的 model-issues 页面给出了各家族的 latent 通道数与文本编码器:Flux 用 16 通道 latent + CLIP-L + T5-XXL;SD1.5 用 4 通道 + 单个 CLIP ViT-L/14;SDXL 用 4 通道 + CLIP ViT-L/14 与 OpenCLIP ViT-bigG/14 双编码器;SD3 用 16 通道 + 三个文本编码器(CLIP-L + OpenCLIP bigG + T5-XXL)。把工作流里的 checkpoint、VAE、LoRA、ControlNet 全部分到同一个家族。
  2. 修正最常见的两类混搭:Flux 配错 VAE、SD1.5 ControlNet 配 SDXL 主模型
    官方文档明确列出:Flux 不能配 taesd 或 sdxl_vae.safetensors,要用 ae.safetensors(Flux VAE);SD1.5 的 ControlNet 只能配 SD1.5 checkpoint,SDXL 的 ControlNet 只能配 SDXL checkpoint。官方给的典型报错正是 mat1 and mat2 shapes cannot be multiplied (154x2048 and 768x320),根因就是这个混搭。
  3. 用报错里的通道数当诊断线索定位是哪个模型的锅
    看 "expected input[X, Y, Z] to have N channels, but got M channels":Y(通道数的位置)是 4 说明是 SD 系模型,是 16 说明是 Flux 系模型;看 "The size of tensor a (49) must match the size of tensor b (16)",(49) 是 7x7 的 token 数、(16) 是 latent 通道数,说明注意力层收到了空间尺寸和通道数不匹配的输入。

验证是否修好

换成同一架构家族的 checkpoint + VAE + ControlNet 后重新 Queue,能正常跑完并出图,且中途不再出现 non-singleton dimension 报错。

补充说明

本条 error_text 直接来自 docs.comfy.org 官方 model-issues 文档列出的 "Common error messages",属于官方认定的高频报错原文。

来源

按可信度排列:官方 issue / 官方文档 > 节点仓库 issue > 社区帖 > 中文社区文章。 链接以纯文本给出(本站不做站外跳转),需要核对时请自行复制到浏览器打开。
  1. [115] (官方文档) How to Troubleshoot and Solve ComfyUI Model Issues https://docs.comfy.org/troubleshooting/model-issues
  2. [122] (官方 issue) The size of tensor a (81) must match the size of tensor b (16) at non- https://github.com/Comfy-Org/ComfyUI/issues/7444

这条报错里提到的模型文件

下面这些文件名出现在本条报错的原文或解决步骤里(与权重库的文件名精确匹配),站内权重库有对应条目。 要哪个就按「放哪个目录」放好,文件名一字不差(含大小写与扩展名)。

文件名放哪个目录体积被哪些工作流引用权重库
ae.safetensors models/vae/ 0.34 GB 看第 46 条(共 6 条用到) 看条目

这条报错要用到的东西

按本条报错所属的类别(执行期运行时错误(张量/尺寸/节点))列出站内相关的下载包与板块入口。 它们不是「必须下载才能修好」,而是这一类问题里最常要动到的东西;具体怎么做,以上面的解决步骤为准。

ComfyUI 权重库(167 个文件 / 约 1187 GB)按 ComfyUI 的 models 目录分好类的 167 个权重文件 / 每个文件一份说明(放哪、被哪些工作流引用) 待挂载
工作流对照本条工作流的依赖清单,确认模型版本对得上 板块

同一类别的其他条目

这个解法对你有效吗 记录只存在你自己的浏览器里,不需要注册账号。

返回报错库