求助:Torch无float8_e4m3fn属性报错及CUDA版本冲突问题
问题:Keras导入触发Torch属性错误
在Jupyter Lab环境(Python 3.10.12)运行脚本时,导入Keras出现如下错误:
Traceback (most recent call last): File "/home/jupyter/work/resources/evalatin2024-latinpipe/latinpipe_evalatin24.py", line 25, in <module> import keras File "/home/jupyter/.local/lib/python3.10/site-packages/keras/__init__.py", line 4, in <module> from keras.api import DTypePolicy File "/home/jupyter/.local/lib/python3.10/site-packages/keras/api/__init__.py", line 8, in <module> from keras.api import activations File "/home/jupyter/.local/lib/python3.10/site-packages/keras/api/activations/__init__.py", line 7, in <module> from keras.src.activations import deserialize File "/home/jupyter/.local/lib/python3.10/site-packages/keras/src/__init__.py", line 1, in <module> from keras.src import activations File "/home/jupyter/.local/lib/python3.10/site-packages/keras/src/activations/__init__.py", line 3, in <module> from keras.src.activations.activations import elu File "/home/jupyter/.local/lib/python3.10/site-packages/keras/src/activations/activations.py", line 1, in <module> from keras.src import backend File "/home/jupyter/.local/lib/python3.10/site-packages/keras/src/backend/__init__.py", line 39, in <module> from keras.src.backend.torch import * # noqa: F403 File "/home/jupyter/.local/lib/python3.10/site-packages/keras/src/backend/torch/__init__.py", line 17, in <module> from keras.src.backend.torch import core File "/home/jupyter/.local/lib/python3.10/site-packages/keras/src/backend/torch/core.py", line 47, in <module> "float8_e4m3fn": torch.float8_e4m3fn, AttributeError: module 'torch' has no attribute 'float8_e4m3fn'
环境信息
- 系统CUDA版本:12.2(通过
!nvidia-smi查看) - 关键已安装包:
keras 3.5.0 tensorflow 2.17.0 torch 2.0.1+cu118 torchaudio 2.0.2+cu118 torchvision 0.15.2+cu118
torch.version.cuda返回11.8(符合脚本要求)
解决方案
核心原因
Keras 3.5.0依赖的Torch版本需要支持float8_e4m3fn属性,该属性在Torch 2.1及以上版本才引入,而当前安装的Torch 2.0.1不具备此属性。同时脚本要求Torch对应CUDA 11.8,因此需要安装Torch 2.1.0+cu118版本,该版本既满足CUDA 11.8要求,又包含所需属性。
操作步骤
- 卸载当前Torch相关包:
pip uninstall -y torch torchaudio torchvision
- 安装兼容版本:
pip install torch==2.1.0+cu118 torchaudio==2.1.0+cu118 torchvision==0.16.0+cu118 --index-url https://download.pytorch.org/whl/cu118
- 验证安装结果:
import torch print(torch.version.cuda) # 预期输出:11.8 print(hasattr(torch, 'float8_e4m3fn')) # 预期输出:True
额外说明
系统CUDA 12.2可向下兼容CUDA 11.8的Torch包,无需降级系统CUDA。PyTorch自带独立的CUDA runtime,只要系统CUDA版本≥Torch所需版本即可正常运行。
内容的提问来源于stack exchange,提问作者LocusClassicus
相关产品推荐
相关产品推荐

