FLUX.2 Klein 4B Qwen3 encoder: sharded safetensors cannot be auto-detected

这个报错通常出现在 InvokeAI 导入 Hugging Face 分片(sharded)Qwen3 文本编码器时,例如 FLUX.2 Klein 4B 的 text_encoder 目录。问题出在模型识别阶段,优先确认权重文件是否为 model-00001-of-00002.safetensor

快速结论:这个报错通常出现在 InvokeAI 导入 Hugging Face 分片(sharded)Qwen3 文本编码器时,例如 FLUX.2 Klein 4B 的 text_encoder 目录。问题出在模型识别阶段,优先确认权重文件是否为 model-00001-of-00002.safetensors 这类多分片结构,而不是缺文件或下载失败。

适用环境:Issue 中确认的环境为 macOS、Python 3.12、Invoke Community Edition 1.8.4、InvokeAI Python package 6.14.1;模型来源为 black-forest-labs/FLUX.2-klein-4B::text_encoder+tokenizer。

最快修复方案:暂无确认的一步修复方案。Issue 中明确表示修复已完成、将在下个版本发布,因此最直接的路径是升级到包含该修复的 InvokeAI 版本。

注意事项:不要通过只选择单个 .safetensors 分片作为完整权重来绕过问题。Issue 已明确指出,每个分片只包含部分模型权重,单独指定一个分片并不是有效 workaround。

问题场景

用户在 InvokeAI 中从 Hugging Face 安装 FLUX.2 Klein 4B 的 Qwen3 文本编码器与 tokenizer,来源写法为 black-forest-labs/FLUX.2-klein-4B::text_encoder+tokenizer。文件可以正常下载,但在导入 / 模型识别阶段失败,导致 Qwen3 encoder 无法完成注册。

报错原文

Multiple weight files found for this model: [.../text_encoder/model-00002-of-00002.safetensors, .../text_encoder/model-00001-of-00002.safetensors]. Please specify the intended file using the 'path' argument

Issue 标题中的核心报错为:

FLUX.2 Klein 4B Qwen3 encoder: sharded safetensors cannot be auto-detected

原因分析

根据 Issue 中观察到的根因,InvokeAI 的模型识别路径在遇到一个目录内存在 2 个及以上权重文件时会直接报错。具体链路为:backend/model_manager/model_on_disk.py 中的 resolve_weight_file() 在发现多个权重文件时抛出异常;而 backend/model_manager/configs/qwen3_encoder.py 中的 Qwen3 encoder matcher 会通过 _reject_if_sdnq_quantized() 调用 _has_sdnq_keys(mod.load_state_dict())。当 load_state_dict() 间接调用 resolve_weight_file() 时,它默认模型只有一个权重文件,因此无法处理标准 Hugging Face 分片 checkpoint。

FLUX.2 Klein 4B 的 Qwen3 encoder 正是标准 Hugging Face 分片格式,包含 model-00001-of-00002.safetensors 和 model-00002-of-00002.safetensors。因此模型识别在 encoder 被注册之前就失败了。这是导入器 / 模型检测逻辑问题,不是下载问题。

环境排查

  • 确认 InvokeAI Python package 是否为 6.14.1 或同样受影响的版本。
  • 确认 Invoke Community Edition 是否为 1.8.4 或相近版本。
  • 确认操作系统是否为 macOS,Python 是否为 3.12。
  • 确认模型来源是否为 black-forest-labs/FLUX.2-klein-4B::text_encoder+tokenizer。
  • 确认 text_encoder 目录下是否存在多个 safetensors 权重文件,例如 model-00001-of-00002.safetensors 与 model-00002-of-00002.safetensors。
  • 确认文件已成功下载,排除网络中断或磁盘写入失败。

解决步骤

  1. 先确认报错目录中确实存在两个或更多 .safetensors 分片文件,而不是单个完整权重文件。
  2. 不要尝试只指定其中一个分片作为 path 来绕过。Issue 已说明每个分片只包含部分模型权重,这样不能构成完整 state dict。
  3. 关注 InvokeAI 后续版本发布。Issue 评论摘要写明 “Fix is made. Will be fixed next Version.”,说明修复已合并,将在下个版本提供。
  4. 升级到包含该修复的 InvokeAI 版本后,再重新执行原来的模型安装 / 导入流程。
  5. 如果没有可升级版本,可优先尝试关注该 Issue 或相关 release notes,确认分片 safetensors 自动识别支持是否已进入你使用的版本。

验证方法

升级到包含修复的版本后,重新安装或重新识别同一 Hugging Face 来源的 FLUX.2 Klein 4B Qwen3 encoder。如果不再出现 Multiple weight files found for this model,并且 Qwen3 encoder 能正常注册,则说明分片 safetensors 已被正确识别为一个模型。若仍报错,需要确认当前运行版本是否确实包含该修复,以及模型目录是否仍为多分片结构。

参考来源

invoke-ai/InvokeAI #9600

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 26026

发表回复

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