快速结论:这类报错通常出现在 ComfyUI IPAdapter Plus 工作流中,并且只在图生图/带 IPAdapter 的 KSampler 采样时触发;纯 text2image 正常、加 IPAdapter 就报 dtype 不一致,优先排查 –force-fp16 参数写法与模型/节点之间的半精度混用。Issue 中提到的方向是 how to use –force-fp16 to solve the problem,对应报错为 KSampler: Expected query, key, and value to have the same dtype, but got query.dtype: struct c10::Half key.dtype: float and value.dtype: float instead。
适用环境:Windows 平台,使用 ComfyUI(含 ComfyUI-master 直接部署与 ComfyUI_windows_portable),涉及 ComfyUI IPAdapter Plus、ComfyUI-AnimateDiff-Evolved、ComfyUI-Advanced-ControlNet 等自定义节点。Issue 中未给出确认的 Python、CUDA、PyTorch、显卡版本,因此不补写。
最快修复方案:暂无确认的一步修复方案。Issue 中提交者尝试用 –force-fp16 处理,但按他自己描述的两种用法仍然复现报错,因此该参数并未被验证为有效解法,可优先尝试排查 dtype 混用,而不是只改启动参数。
注意事项:–force-fp16 不是本 Issue 中已验证成立的修复手段,加错位置或依然存在 fp32/fp16 混用都无法解决;此外从评论堆栈看,AnimateDiff-Evolved、Advanced-ControlNet 等节点会包裹原始采样流程,报错不一定只来自 IPAdapter Plus 本身。
问题场景
用户在 ComfyUI 中运行图生图或带有 IPAdapter 的工作流,使用 KSampler 采样时触发 dtype 不一致报错。提交者反馈:纯 text2image 时 KSampler 工作正常,一旦走 IPAdapter Plus 相关流程(评论中进一步出现 AnimateDiff-Evolved、Advanced-ControlNet 的采样包装)就会在 KSampler 执行阶段报错,说明问题与采样过程中 query/key/value 的精度类型未能保持一致有关。
报错原文
Error occurred when executing KSampler:
Expected query, key, and value to have the same dtype, but got query.dtype: struct c10::Half key.dtype: float and value.dtype: float instead.
原因分析
报错核心是注意力计算里 query 与 key/value 的 dtype 不一致:query 是 c10::Half(fp16),而 key、value 是 float(fp32)。这通常意味着模型或部分节点在 fp16 路径上运行,但另一部分张量仍以 fp32 参与运算,二者混合后进入 attention 就报 dtype mismatch。
纯 text2image 正常,说明基础采样链路本身可用;加入 IPAdapter/相关自定义节点后出现问题,可能原因是这些节点在拼接或转换条件张量时改变了精度。–force-fp16 只是启动参数,若混用发生在节点内部或模型加载环节,仅靠该参数未必能统一所有张量的 dtype。以上均为基于报错与堆栈的合理推断,Issue 中未给出确认的根因结论。
环境排查
- 确认 ComfyUI 启动方式,以及 –force-fp16 实际添加的位置和写法是否正确。
- 确认是否使用 ComfyUI_windows_portable、ComfyUI-master 直接部署,或其他整合包(评论中提到 Stability Matrix、Pinokio)。
- 确认 ComfyUI IPAdapter Plus 版本,以及是否同时启用 ComfyUI-AnimateDiff-Evolved、ComfyUI-Advanced-ControlNet。
- 确认采样所用模型(checkpoint、IPAdapter 模型)本身是 fp16 还是 fp32。
- 对比纯 text2image 与带 IPAdapter 工作流的节点差异,定位是哪一个节点引入 fp32 张量。
- Issue 未提供确认的 Python、CUDA、PyTorch、显卡版本,需自行按实际环境记录。
解决步骤
- 先复现最小对比:运行纯 text2image 确认 KSampler 正常,再逐步加回 IPAdapter 节点,定位到从哪一步开始报 dtype 错误。
- 检查 –force-fp16 的写法与位置是否符合 ComfyUI 启动参数规范,确认不是像 Issue 提问者那样“用法不对”导致参数未生效。
- 若参数写法正确仍报错,可优先尝试排查并统一精度路径:检查 IPAdapter 模型与主模型是否处于同一精度,避免 fp16 与 fp32 混用。
- 如同时启用了 AnimateDiff-Evolved、Advanced-ControlNet,临时禁用这些节点后重跑,判断报错是否由它们的采样包装引入。
- 若单一节点可稳定复现,向对应节点或 IPAdapter Plus 仓库反馈,并附上完整堆栈与最小复现工作流。
验证方法
用相同工作流与相同模型重新执行 KSampler,若不再出现 Expected query, key, and value to have the same dtype 报错,且能正常出图,即视为该配置下问题已解决。仅纯 text2image 正常不足以证明修复,必须在带 IPAdapter 的工作流上验证。
参考来源
cubiq/ComfyUI_IPAdapter_plus #614
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。

![[Bug] Control Bridge inside subgraph causes workflow crash](https://www.chat-gpts.plus/wp-content/uploads/2026/09/1076-6d290573-768x403.jpg)
