AttributeError: ‘ModuleList’ object has no attribute ‘1’

当用户运行 ComfyUI IPAdapter Plus 或标准 ComfyUI 工作流,并使用 KSampler、KSamplerAdvanced、Efficiency Node 等采样节点时,触发该错误。错误发生在 ControlNet 的 pre_run 阶段,原因与 ControlNet 模

AttributeError: 'ModuleList' object has no attribute '1'

AttributeError: ‘ModuleList’ object has no attribute ‘1’

快速结论:此错误通常发生在使用 ControlNet 时,因加载了错误的模型(例如 SDXL 的 ControlNet 但在 SD1.5 模型上使用)导致。优先排查是否在配置中误选了不匹配的 ControlNet 类型。

问题场景

当用户运行 ComfyUI IPAdapter Plus 或标准 ComfyUI 工作流,并使用 KSampler、KSamplerAdvanced、Efficiency Node 等采样节点时,触发该错误。错误发生在 ControlNet 的 pre_run 阶段,原因与 ControlNet 模型类型不匹配有关。

报错原文

AttributeError: 'ModuleList' object has no attribute '1'

File "D:\Projects\ComfyUI_windows_portable\ComfyUI\comfy\utils.py", line 264, in set_attr
    obj = getattr(obj, name)
File "D:\Projects\ComfyUI_windows_portable\ComfyUI\python_embeded\lib\site-packages\torch\nn\modules\module.py", line 1614, in __getattr__
    raise AttributeError("'{}' object has no attribute '{}'".format(
AttributeError: 'ModuleList' object has no attribute '1'

原因分析

可能原因是用户将不兼容的 ControlNet 模型(例如用于 SDXL 的 ControlNet)应用于错误的基础模型上。在 Issue 评论中,作者提到:“I forgot to set the controlnet and the default was a SDXL controlnet”,说明默认加载了 SDXL 的 ControlNet,但用户可能在 SD1.5 或其他模型上运行,导致 ControlNet 内部模型结构(ModuleList)尝试访问不存在的属性 ‘1’,从而引发 AttributeError。这通常是 ComfyUI 内置 ControlNet 加载逻辑的验证问题。

环境排查

  • 检查正在使用的基础模型是 SD1.5、SD2.1 还是 SDXL。
  • 确认 ControlNet 模型文件名称或配置中的版本是否匹配基础模型。
  • 检查 ComfyUI 版本是否为更新版本(部分旧版本可能有 bug,但此问题更多与模型选择相关)。
  • 检查是否有其他自定义节点(如 Efficiency Nodes、Impact Pack)影响采样流程。

解决步骤

  1. 在 ComfyUI 工作流中,找到 ControlNet 节点(通常为 Load ControlNet Model 或 Apply ControlNet 节点)。
  2. 检查所加载的 ControlNet 模型文件。确保它不是 SDXL 专用的 ControlNet(例如文件名称带 “xl” 字样),除非你正在使用 SDXL 基础模型。
  3. 如果你的基础模型是 SD1.5(如 v1-5-pruned-emaonly),请加载对应的 SD1.5 风格 ControlNet(如 control_v11p_sd15_canny)。
  4. 若不确定,尝试禁用 ControlNet 相关节点,重新运行工作流。如果不再报错,则确认是 ControlNet 模型不兼容问题。
  5. 如果你是 ComfyUI IPAdapter Plus 用户,请检查是否有类似 ControlNet 的配置项,确保默认加载的 ControlNet 没有误设为 SDXL 版本。可优先尝试在设置中明确指定正确的 ControlNet 类型。

验证方法

成功加载与基础模型兼容的 ControlNet 后,重新运行相同工作流。如果不再出现 “Element ‘1’ object has no attribute” 错误,且采样正常进行,则问题已解决。

参考来源

cubiq/ComfyUI_IPAdapter_plus #8

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

celebrityanime
celebrityanime
文章: 8218

发表回复

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