ComfyUI 报错解决:RuntimeError Boolean value of Tensor 多值张量布尔歧义问题(Bernini节点专属)

5次阅读
没有评论

最近在使用 ComfyUI 运行 Wan 视频模型工作流时,频繁遇到一个经典且极易踩坑的报错:RuntimeError: Boolean value of Tensor with more than one value is ambiguous。报错定点触发在 BerniniConditioning 节点,全网很多同类问题大多只给笼统方案,这里结合完整日志、报错根源、临时修复+永久根治方案,整理成可直接套用的实战教程。

一、完整报错信息 & 触发场景

核心报错

RuntimeError: Boolean value of Tensor with more than one value is ambiguous
File nodes_bernini.py, line 85, in execute
    if reference_images:

触发环境

  • ComfyUI 版本:0.27.1
  • 运行模型:Wan 视频系列模型
  • 报错节点:内置原生 BerniniConditioning(ID:87:34)
  • 设备:RTX 4090 CUDA 运算

简单来说:只要你在用新版 ComfyUI 内置 Bernini 节点、搭配图文/视频参考图引导,大概率会遇到这个BUG

二、报错根本原因(通俗易懂讲解)

这个报错是 PyTorch 语法限制 + ComfyUI 原生节点代码缺陷 共同导致的:

1. PyTorch 规定:包含多个数值的 Tensor 张量,不能直接用于 if 布尔判断,无法判定整体为 True/False,直接抛出歧义报错;

2. 官方内置 Bernini 节点源码存在漏洞:第85行直接使用 if reference_images: 做判空逻辑,没有做类型校验;

3. 正常工作流:参考图为空是 None、有图是标准图片张量列表;

4. 报错异常流:上游传入了 单个裸 Tensor 张量(Latent、VAE 中间张量、图像编码张量),而非标准 IMAGE 输出,直接触发语法报错。

重点:这不是显卡、模型、版本冲突问题,是 节点输入类型不匹配 + 官方源码校验不严谨 导致的必现BUG。

三、三种解决方案(从快到彻底,优先顺序推荐)

方案一:工作流快速修复(5秒生效,临时解决)

适合不想改代码、快速跑通工作流的场景,操作极简:

1. 在画布定位报错节点:BerniniConditioning 87:34

2. 找到 reference_images 参考图输入端;

3. 核对上游连线:

  • ❌ 错误连线:Latent 张量、VAE 解码/编码张量、Clip 图像编码、单张量输出;
  • ✅ 正确连线:仅接入 标准 ComfyUI IMAGE 图片输出节点

4. 按需处理:

  • 不需要参考图:直接删除该输入端连线,空置即可;
  • 需要参考图:重构图片链路,保证上游是标准图片输出。

❗ 高频踩坑点:Wan 视频工作流极易混淆张量类型,绝对不能把 VAE、Latent 中间张量接入 Bernini 参考图输入。

方案二:源码永久根治(推荐,一劳永逸)

修复官方节点BUG,彻底杜绝该报错,后续任意工作流都不会再触发:

1. 找到源码文件

ComfyUI/comfy_extras/nodes_bernini.py

2. 修改关键代码(85行左右)

原始报错代码:

if reference_images:

替换为安全兼容写法:

if reference_images is not None and not isinstance(reference_images, torch.Tensor):

3. 生效操作

保存文件,完全关闭重启 ComfyUI 即可。

修复原理:先判空、再拦截裸张量输入,规避 PyTorch 布尔歧义限制,兼容所有正常/异常输入场景。

方案三:节点替换规避(兜底方案)

如果不想修改源码,可直接替换节点:

将 ComfyUI 内置原生 BerniniConditioning 节点,替换为第三方自定义节点 comfyui-rh-bernini

第三方节点做了完善的输入类型校验,原生BUG完全不存在,稳定性更强。

四、日志附带隐患修复(可选,优化环境)

本次报错之外,日志还爆出两个环境警告,不影响本次运行,但长期会导致节点加载异常:

1. comfy_angle 模块缺失警告

ModuleNotFoundError: No module named 'comfy_angle'

原因:nodes_glsl.py 依赖缺失,属于无效废弃节点,直接删除该自定义节点文件即可,不影响核心功能。

2. 前端/插件版本过低警告

多个官方插件版本低于推荐值,容易出现兼容bug:

操作:打开 ComfyUI 目录下 update/update_comfyui.bat,双击执行一键更新,修复版本适配问题。

五、最终排查优先级(高效排错)

  1. 优先检查 Bernini 参考图连线,修正张量类型错误(最快见效);
  2. 源码修改永久修复BUG(推荐长期使用);
  3. 替换第三方节点兜底规避;
  4. 优化环境版本、清理失效节点,杜绝后续隐患。

六、总结

这个Tensor 布尔歧义报错 是 ComfyUI 新版原生 Bernini 节点的典型设计缺陷,并非硬件、模型问题。90% 的情况都是输入张量类型不匹配导致,简单调整连线即可解决,通过源码修改可以彻底根治,完美适配 Wan 视频、图文生成等所有工作流。

正文完
可以使用微信扫码关注公众号(ID:xzluomor)
post-qrcode
 0
评论(没有评论)
验证码