MacBook Pro M2:TensorFlow可检测GPU但PyTorch不行,如何修复?
修复PyTorch无法检测GPU的问题
排查步骤与修复方案:
确认PyTorch安装版本类型
先运行以下代码检查当前PyTorch是否支持CUDA:import torch print(torch.version.cuda)如果输出为
None或空值,说明你安装的是CPU版本的PyTorch,这是导致无法检测GPU的核心原因。匹配CUDA版本重新安装PyTorch
- 先查看本地CUDA版本:
- 打开终端输入
nvidia-smi,查看右上角的CUDA Version(这是GPU驱动支持的最高CUDA版本);再输入nvcc -V查看系统实际安装的CUDA编译版本,选择二者中较低的版本作为匹配依据。 - 由于TensorFlow能正常识别GPU,说明你的CUDA环境配置是正常的,只需安装对应版本的PyTorch包。
- 打开终端输入
- 执行对应版本的安装命令(将
cuXXX替换为你的CUDA版本,比如cu117、cu118):
若pip默认源无法找到对应CUDA版本的包,可直接从PyTorch官方提供的对应版本安装包进行安装。pip install torch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2
- 先查看本地CUDA版本:
检查环境变量配置
确保CUDA相关路径已添加到系统环境变量:- Linux:在终端执行(替换
X.X为你的CUDA版本号):
可将上述命令添加到export PATH=/usr/local/cuda/X.X/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda/X.X/lib64:$LD_LIBRARY_PATH~/.bashrc或~/.zshrc文件中,实现环境变量永久生效。 - Windows:打开系统环境变量设置界面,将
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.X\bin和C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.X\libnvvp添加到系统PATH变量中。
- Linux:在终端执行(替换
验证修复结果
重新打开终端或命令行窗口,运行以下代码确认修复效果:import torch print(torch.cuda.is_available()) # 正常修复后应输出True print(torch.cuda.device_count()) # 输出当前可用的GPU数量 print(torch.cuda.get_device_name(0)) # 输出第一块GPU的型号
内容的提问来源于stack exchange,提问作者jeanluc
相关产品推荐
相关产品推荐

