RuntimeError: Error(s) in loading state_dict for Krea2Transformer2DModel:

这个报错通常出现在 InvokeAI 加载某些 Krea 2 的 Q4_K_M GGUF 模型进行生成时,模型权重与 InvokeAI 当前定义的 Krea2Transformer2DModel 结构不匹配,优先检查该 GGUF 是否为 InvokeAI 支持的 Krea 2 架构版本。

快速结论:这个报错通常出现在 InvokeAI 加载某些 Krea 2 的 Q4_K_M GGUF 模型进行生成时,模型权重与 InvokeAI 当前定义的 Krea2Transformer2DModel 结构不匹配,优先检查该 GGUF 是否为 InvokeAI 支持的 Krea 2 架构版本。

适用环境:InvokeAI 6.14.0-rc2,Windows,通过 Invoke’s Launcher 安装,NVIDIA GPU(CUDA)。Issue 未提供具体显卡型号、显存、Python/CUDA/PyTorch 版本。

最快修复方案:暂无确认的一步修复方案。Issue 中明确说明该问题未被 #9564 修复,因此不要依赖该 PR 作为解决手段。可优先尝试更换为其他可正常生成的 Krea 2 GGUF(包括其他 Q4_K_M 量化版本),以确认是否为模型文件本身与当前 InvokeAI 不兼容。

注意事项:并非所有 Krea 2 Q4_K_M GGUF 都会失败,问题表现为“部分模型可用、部分模型不可用”,因此不能简单归因于量化格式。Issue 在关闭时未记录已验证的修复方法,以下步骤属于基于报错信息的排查建议,不代表官方修复。

问题场景

用户在 InvokeAI 6.14.0-rc2(Windows + NVIDIA CUDA,通过 Launcher 安装)中使用 Krea 2 的 GGUF 模型执行生成。其他 Krea 2 GGUF(包括部分 Q4_K_M 量化版本)可以正常出图,但某些特定 Q4_K_M GGUF 模型在安装后可以识别,一旦开始生成就触发 krea2_denoise 节点的模型加载错误。Issue 中给出的失败模型为 Civitai 上的 krea2-sat-ior-imitation-of-reality(modelVersionId=3256116)。

报错原文

[2026-08-24 13:30:54,305]::[InvokeAI]::ERROR --> Error while invoking session 695c6873-119a-43ea-9ee1-9cc32d3f0592, invocation f4e39cd2-7bf6-4845-881e-18c360bfe60f (krea2_denoise): Error(s) in loading state_dict for Krea2Transformer2DModel:
        size mismatch for img_in.weight: copying a param with shape torch.Size([1536, 256]) from checkpoint, the shape in current model is torch.Size([6144, 64]).
[2026-08-24 13:30:54,306]::[InvokeAI]::ERROR --> Traceback (most recent call last):
  File "W:\AI\InvokeAI\.venv\Lib\site-packages\invokeai\app\services\session_processor\session_processor_default.py", line 167, in run_node
    output = invocation.invoke_internal(context=context, services=self._services)
  File "W:\AI\InvokeAI\.venv\Lib\site-packages\invokeai\app\invocations\baseinvocation.py", line 248, in invoke_internal
    output = self.invoke(context)
  File "W:\AI\InvokeAI\.venv\Lib\site-packages\invokeai\app\invocations\krea2_denoise.py", line 118, in invoke
    latents = self._run_diffusion(context)
  File "W:\AI\InvokeAI\.venv\Lib\site-packages\invokeai\app\invocations\krea2_denoise.py", line 269, in _run_diffusion
    transformer_info = context.models.load(self.transformer.transformer)
  File "W:\AI\InvokeAI\.venv\Lib\site-packages\invokeai\app\services\model_load\model_load_default.py", line 100, in load_model
    ).load_model(model_config, submodel_type)
  File "W:\AI\InvokeAI\.venv\Lib\site-packages\invokeai\backend\model_manager\load\load_default.py", line 195, in load_model
    cache_record = self._load_and_cache(model_config, submodel_type)
  File "W:\AI\InvokeAI\.venv\Lib\site-packages\invokeai\backend\model_manager\load\load_default.py", line 280, in _load_and_cache
    loaded_model = put_in_eval_mode(self._load_model(config, submodel_type))
  File "W:\AI\InvokeAI\.venv\Lib\site-packages\invokeai\backend\model_manager\load\model_loaders\krea2.py", line 398, in _load_model
    return self._load_from_gguf(config)
  File "W:\AI\InvokeAI\.venv\Lib\site-packages\invokeai\backend\model_manager\load\model_loaders\krea2.py", line 420, in _load_from_gguf
    model.load_state_dict(sd, assign=True, strict=False)
  File "W:\AI\InvokeAI\.venv\Lib\site-packages\torch\nn\modules\module.py", line 2639, in load_state_dict
    raise RuntimeError(
RuntimeError: Error(s) in loading state_dict for Krea2Transformer2DModel:
...

原因分析

报错核心是 img_in.weight 的形状不匹配:checkpoint 中的形状为 torch.Size([1536, 256]),而 InvokeAI 当前构建的 Krea2Transformer2DModel 期望 torch.Size([6144, 64])。这表明该 GGUF 文件内部的输入层权重结构与 InvokeAI 6.14.0-rc2 中 Krea 2 模型定义不一致。可能原因包括:

  • 模型架构变体不同:该 GGUF 可能基于与 InvokeAI 当前支持的 Krea 2 Transformer 不同的配置(例如输入通道数、patch 尺寸或内部维度不同)训练或转换而来。
  • 转换/量化脚本差异:GGUF 在从原始权重转成 Q4_K_M 时,可能使用了不同的张量命名或布局,导致 img_in 层被写出为不同形状。
  • InvokeAI 侧模型加载器覆盖不全:Issue 中提到其他 Q4_K_M GGUF 正常,说明问题不是 Q4_K_M 本身,而是该特定模型与当前加载逻辑不匹配。Issue 评论仅表示“i take a look”并指出“This isn’t fixed by #9564”,未给出根因确认。

环境排查

  • 确认 InvokeAI 版本是否为 6.14.0-rc2,以及是否通过 Launcher 安装。
  • 确认操作系统为 Windows,GPU 为 NVIDIA 且使用 CUDA 后端。
  • 确认 Python 版本、PyTorch 版本、CUDA 驱动/CUDA Toolkit 版本(Issue 未提供,若上述步骤无效可核对是否为 InvokeAI 6.14.0-rc2 官方推荐组合)。
  • 确认使用的 Krea 2 GGUF 文件来源、量化类型(Q4_K_M)以及是否与 Issue 中给出的 Civitai 模型版本一致。
  • 确认是否使用 krea2_denoise 节点,以及模型在 InvokeAI 模型管理器中是否被正确识别为 Krea 2 Transformer。

解决步骤

  1. 先复现并记录完整报错,确认失败信息中 img_in.weight 的形状为 torch.Size([1536, 256]) 而当前模型为 torch.Size([6144, 64]),以排除其他加载问题。
  2. 在相同 InvokeAI 6.14.0-rc2 环境中,换用 Issue 中提到的其他可正常工作的 Krea 2 Q4_K_M GGUF 进行生成,确认基础环境、CUDA 和节点配置本身正常。
  3. 如果其他 Krea 2 GGUF 可以正常生成,说明问题集中在该特定 GGUF 文件,可优先尝试从模型发布页获取其他量化版本或重新下载该模型,排除下载/转换损坏的可能。
  4. 不要将 #9564 作为修复手段;Issue 评论已明确“This isn’t fixed by #9564”,该 PR 并不能解决此形状不匹配。
  5. 关注 InvokeAI 后续版本或 issue #9537 的更新;在官方给出兼容修复前,避免在该版本中继续使用会触发此错误的 Krea 2 GGUF。
  6. 如果必须使用该模型,可向模型作者确认其 GGUF 是否按 InvokeAI 支持的 Krea 2 架构导出,或等待 InvokeAI 侧更新 Krea 2 模型加载器以覆盖该变体(属于推测方向,未经 Issue 验证)。

验证方法

使用替换后的 Krea 2 GGUF 重新执行生成,如果 krea2_denoise 节点不再抛出 RuntimeError: Error(s) in loading state_dict for Krea2Transformer2DModel 并且能正常出图,则说明问题与特定模型文件相关,当前环境本身可用。若更换多个 GGUF 仍失败,则需要进一步检查 InvokeAI 版本、模型管理器中模型类型识别和 CUDA 环境。

参考来源

invoke-ai/InvokeAI #9537

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 25934

发表回复

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