TypeError: Trying to convert Float8_e5m2 to the MPS backend but it does not have support for that dtype.

该报错常见于在 Apple Silicon(MPS 后端)上运行 Flux 时,模型权重以 Float8_e5m2 精度参与运算;而 PyTorch 的 MPS 后端对该 dtype 没有支持。可优先尝试将计算切换到 CPU,或调整 PyTorch 版本。

快速结论:该报错常见于在 Apple Silicon(MPS 后端)上运行 Flux 时,模型权重以 Float8_e5m2 精度参与运算;而 PyTorch 的 MPS 后端对该 dtype 没有支持。可优先尝试将计算切换到 CPU,或调整 PyTorch 版本。

适用环境:Issue 已确认:ComfyUI,macOS 14.5 (arm64),Apple M2 Pro (16G),Python 3.10.8,PyTorch 2.4.0(无法使用 CUDA,MPS 路径)。另有评论报告在 macOS Sequoia 15.0 上同样遇到该报错。

最快修复方案:暂无确认的一步修复方案。Issue 评论中验证过的临时处理是在启动命令中追加 --cpu,例如:python main.py --force-fp16 --use-split-cross-attentio --cpu;按评论反馈可消除报错,但运行速度很慢。

注意事项:该方案只是绕开 MPS 对 Float8_e5m2 的支持问题,并未在 MPS 上真正支持该 dtype,且会显著降低速度。评论中另外提到安装 PyTorch 2.4.1,但未提供验证结果,是否解决该问题尚不明确。

问题场景

用户在 macOS(Apple M2 Pro,arm64)上运行 ComfyUI,加载 Flux 相关工作流并执行采样推理。启动命令为 python main.py --force-fp16 --use-split-cross-attentio,在采样阶段触发异常。

报错原文

!!! Exception during processing!!! Trying to convert Float8_e5m2 to the MPS backend but it does not have support for that dtype.
Traceback (most recent call last):
  File "/Users/kummy/Documents/work/ComfyUI/execution.py", line 152, in recursive_execute
    output_data, output_ui = get_output_data(obj, input_data_all)
...
  File "/Users/kummy/Documents/work/ComfyUI/comfy/k_diffusion/sampling.py", line 143, in sample_euler

原因分析

最可能的原因:Flux 模型相关权重或计算过程中出现了 Float8_e5m2 数据类型,而 PyTorch 的 MPS 后端不支持该 dtype,因此在尝试将该张量转换到 MPS 时抛出 TypeError。Issue 中也有评论提出这属于 PyTorch 层面的限制(“Shouldn’t this go to pytorch?”)。

环境排查

  • 确认运行设备为 MPS(Apple Silicon),而非 CUDA。
  • 确认 PyTorch 版本,Issue 环境为 2.4.0;另有评论建议 2.4.1,但效果未经确认。
  • 确认 ComfyUI 启动参数,尤其是是否使用 --force-fp16、--use-split-cross-attention 等精度/注意力相关选项。
  • 确认所加载的 Flux 模型及节点是否涉及 Float8_e5m2 权重。
  • 确认 macOS 与 Python 版本,Issue 环境为 macOS 14.5 arm64、Python 3.10.8。

解决步骤

  1. 先确认问题是否固定出现在 MPS 推理路径上,记录完整 Traceback 与启动参数。
  2. 可优先尝试在启动命令中加入 --cpu,改用 CPU 推理,例如:python main.py --force-fp16 --use-split-cross-attentio --cpu。Issue 评论反馈该方式不再报错,但速度很慢。
  3. 如希望继续使用 MPS,可尝试升级 PyTorch 至 2.4.1(评论中提及),但该方案尚未在 Issue 中得到验证,结果不保证。
  4. 若升级后仍报同样的 dtype 错误,说明 MPS 仍不支持 Float8_e5m2,需等待 PyTorch/ComfyUI 对该路径的适配,或继续使用 CPU 作为临时方案。

验证方法

使用与原来相同的工作流和模型重新运行推理。若不再出现 Trying to convert Float8_e5m2 to the MPS backend but it does not have support for that dtype.,且采样能够正常完成,即说明当前启动参数或环境已规避该问题。若使用 --cpu,同时应预期生成速度明显下降。

参考来源

Comfy-Org/ComfyUI #4212

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 29686

发表回复

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