Ubuntu 22.04下CUDA设备无法启用,PyTorch报_C未定义错误
解决PyTorch导入时
_C未定义的问题 问题描述
已完成以下基础操作仍报错:
- 在Anaconda中新建环境
- 更新GTX1070显卡驱动
- 按照PyTorch官方指引通过Anaconda安装PyTorch
运行代码时出现如下错误:
--------------------------------------------------------------------------- NameError Traceback (most recent call last) Cell In[2], line 2 1 # Device configuration ----> 2 import torch 3 print(torch.cuda.is_available()) 4 print(device) File ~/miniconda3/lib/python3.10/site-packages/torch/__init__.py:457 443 raise ImportError(textwrap.dedent(''' 444 Failed to load PyTorch C extensions: 445 It appears that PyTorch has loaded the `torch/_C` folder (...) 453 or by running Python from a different directory. 454 ''').strip()) from None 455 raise # If __file__ is not None the cause is unknown, so just re-raise. --> 457 for name in dir(_C): 458 if name[0] != '_' and not name.endswith('Base'): 459 __all__.append(name) NameError: name '_C' is not defined
解决步骤
确认环境激活状态
确保运行代码前已激活安装PyTorch的Anaconda环境,执行:conda activate 你的环境名检查当前Python路径,确认使用的是环境内的Python:
which python # Linux/macOS where python # Windows重新安装适配版本的PyTorch
GTX1070基于Pascal架构,支持CUDA 11.x版本,先卸载现有PyTorch:conda uninstall pytorch torchvision torchaudio cpuonly -y再安装适配CUDA版本的PyTorch(以CUDA 11.8为例):
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia验证安装完整性
激活环境后运行以下代码验证:import torch print(torch.__version__) print(torch.cuda.is_available())若仍报错,删除现有环境重新创建:
conda remove -n 你的环境名 --all -y conda create -n 新环境名 python=3.9 -y conda activate 新环境名 # 再次执行PyTorch安装命令检查CUDA与驱动兼容性
通过nvidia-smi查看当前驱动支持的最高CUDA版本,确保安装的PyTorch对应的CUDA版本在驱动支持范围内(GTX1070最低支持CUDA 11.0)。
内容的提问来源于stack exchange,提问作者Billy Matlock
相关产品推荐
相关产品推荐

