近期使用 ComfyUI 0.27.1 版本加载量化 CLIP、GGUF 多模态模型时,很多人会遇到一个经典报错:AttributeError: ‘NoneType’ object has no attribute ‘Params’,报错定位在 comfy/ops.py 量化模块,看似是代码空值异常,实则是版本兼容、参数冲突、模型混用导致的综合问题。
本文结合完整报错日志、llama.cpp 官方已知问题、插件版本适配规则,整理出根因分析+从零到一完整修复方案+永久避坑技巧,一次性彻底解决该问题。
一、报错完整现象
1. 核心报错信息
AttributeError: 'NoneType' object has no attribute 'Params'
File "ComfyUI/comfy/ops.py", line 1108, in _load_quantized_module
params = layout_cls.Params(**scales, orig_dtype=compute_dtype, orig_shape=module._orig_shape)
2. 触发场景特征
- ComfyUI 版本:0.27.1(新版核心)
- 运行环境:Windows 独立便携包、RTX4090 CUDA 加速
- 启动参数开启:
--force-fp16强制半精度 - 加载模型:Qwen 系列 VLM 量化模型(GGUF 格式 mmproj 编码器)
- 插件状态:comfy-kitchen、comfy-aimdo 等核心插件版本过低
- 节点报错位置:CLIPLoader 节点(Node9)加载文本编码器失败
1. 核心元凶:comfy-kitchen 版本严重滞后
ComfyUI 0.27.1 新版重构了量化权重加载逻辑,依赖 comfy-kitchen 0.2.16+ 提供的量化布局解析类。
而默认安装的 0.2.10 旧版本,缺失 TensorWiseINT8Layout 等关键类,导致量化布局变量 layout_cls = None,最终调用 .Params 属性时报空指针错误。
日志明确预警:comfy-kitchen version: 0.2.10 is lower than the recommended version 0.2.16
2. 参数冲突:–force-fp16 与量化模型不兼容
全局强制 FP16 精度参数,会破坏 GGUF 量化 CLIP(mmproj)的混合精度加载逻辑,导致量化层参数解析失效,直接触发空值异常。
3. 高频人为失误:模型节点混用
原生 CLIPLoader 不支持 GGUF 格式编码器!
很多用户将 Qwen-VL 的 GGUF mmproj 量化文件,直接放入官方原生 CLIP 加载节点,新版量化校验机制会直接报错,旧版本则会隐性异常、推理精度崩坏。
同时匹配 llama.cpp 官方已知问题:QwenVL 系列模型需要专属图像像素预处理逻辑,普通加载方式会导致权重加载异常。
三、分步修复方案(从快到慢,优先最简方案)
按以下顺序操作,99% 场景可彻底解决问题,无需重装环境。
方案一:临时移除冲突启动参数(10秒快速验证)
找到 ComfyUI 启动脚本,删除启动参数中的:--force-fp16
重启 ComfyUI 测试运行,该参数是绝大多数量化模型加载报错的直接诱因。
方案二:升级核心依赖 comfy-kitchen(根本修复,必做)
这是解决 layout_cls None 报错的核心步骤,直接升级适配新版 ComfyUI 的量化依赖:
# 进入便携包内置 Python 环境执行
C:\Work\ComfyUI_windows_portable_nvidia\ComfyUI_windows_portable\python_embeded\python.exe -m pip install -U comfy-kitchen
升级后版本 ≥0.2.16,重启 ComfyUI,修复量化布局类缺失问题。
方案三:修正模型节点混用错误(关键避坑)
- ❌ 错误用法:原生 CLIPLoader 加载 GGUF 格式 mmproj/CLIP 文件
- ✅ 正确用法:GGUF 量化模型必须使用 ComfyUI-GGUF 专属加载节点
替换工作流中 Node9 节点,删除原生 CLIPLoader,更换为 GGUF 专用 CLIP 加载节点,重新选择模型文件。
方案四:全局更新 ComfyUI 及依赖(兜底修复)
修复插件版本碎片化问题,统一环境依赖:
- 运行内置更新脚本:
update\update_comfyui.bat - 更新全部依赖库:
python.exe -s -m pip install -r ComfyUI/requirements.txt
方案五:禁用动态量化(终极兜底)
若以上方案仍报错,在启动参数中添加禁用动态量化参数,规避算子兼容问题:
新增启动参数:--disable-dynamic-quant
四、日志无关报错说明(无需处理)
很多用户会被日志冗余警告干扰,以下问题不影响本次报错,无需修复:
ModuleNotFoundError: No module named 'comfy_angle':GLSL 扩展插件依赖缺失,与模型加载无关WinError 121 信号灯超时时间已到:内网环境 GitHub 网络超时,仅影响插件市场,不影响推理- llama-cpp token slot 日志:VLM 图像推理正常输出日志,非报错
五、永久避坑总结
- 版本配对:ComfyUI 0.27+ 必须搭配 comfy-kitchen 0.2.16+,禁止旧版插件运行新版核心
- 模型分区:GGUF 量化模型一律用 GGUF 专属节点,原生节点不兼容量化权重
- 参数克制:加载 VLM、量化模型时,尽量关闭
--force-fp16强制精度参数 - 官方适配:QwenVL 系列视觉模型需遵循官方图像预处理规则,避免尺寸、token 参数异常
六、快速修复复盘
该报错的本质就是:新版UI + 旧版量化插件 + 错误节点混用 + 精度参数冲突 四重问题叠加。优先升级 comfy-kitchen、移除 force-fp16、更换 GGUF 节点,即可 100% 解决。