
AttributeError: module ‘torch’ has no attribute ‘float8_e4m3fn’
快速结论:此报错发生在 Stable Diffusion WebUI Forge 启动时,原因是当前 PyTorch 版本过旧(低于 2.1),不支持 FP8 数据类型。优先排查 PyTorch 版本并升级至 2.1 或更高。
问题场景
用户运行 Stable Diffusion WebUI Forge,在更新代码后启动时出现该错误。用户使用 RTX 2060 6GB VRAM,启动参数为 --xformers --cuda-malloc --cuda-stream,且 Forge 共享了 A1111 的 venv 虚拟环境。
报错原文
File "C:\Users\TUF\Desktop\Ai\A1111\modules_forge\main_entry.py", line 17, in <module>
'fp8e4m3': torch.float8_e4m3fn,
AttributeError: module 'torch' has no attribute 'float8_e4m3fn'
原因分析
Forge 的新版本代码引入了 FP8 支持,在 main_entry.py 中引用了 torch.float8_e4m3fn。该属性仅在 PyTorch 2.1 及以上版本中可用。用户当前的 PyTorch 版本过旧,导致模块无法找到该属性。
环境排查
- 确认当前 PyTorch 版本:在终端运行
python -c "import torch; print(torch.__version__)",如果版本低于 2.1,则需要进行升级。 - 检查 Forge 使用的 Python 环境(虚拟环境路径),特别是是否与 A1111 共用 venv。
- 对于 Intel Arc 显卡用户,需额外确认 IPEX 和 torch 是否为兼容版本(参考 Issue 中的补丁)。
解决步骤
- 升级 PyTorch(可优先尝试)
在 Forge 对应的 Python 虚拟环境中执行:
pip install --upgrade torch torchvision torchaudio
升级完成后,PyTorch 版本应至少为 2.1。 - 验证升级
运行python -c "import torch; print(torch.__version__)"确认版本为 2.1 或更高。 - 如果共用 A1111 的 venv
建议为 Forge 创建独立的虚拟环境,避免依赖冲突。但本质仍需确保该环境中的 PyTorch 版本满足要求。 - Intel Arc 显卡用户注意
Issue 中提供了一个针对 Intel Arc 的补丁(修改modules/launch_utils.py中的 PyTorch 下载地址),以升级至 IPEX 2.1.20(基于 PyTorch 2.1)。但需注意该构建为 CPU AOT 版本,首次推理速度极慢,后续运行正常。
验证方法
重新启动 Stable Diffusion WebUI Forge,观察是否还会出现 AttributeError: module 'torch' has no attribute 'float8_e4m3fn' 报错。若启动成功且无此错误,则表明问题已解决。



