如何在Anaconda启动的Jupyter Notebook中配置GPU(PyTorch检测CUDA不可用)
我之前也遇到过一模一样的问题,折腾了好一阵才搞定,给你几个排查和解决的步骤,应该能帮到你:
确认你的Anaconda环境里装的是CUDA版PyTorch
很多人会不小心装成CPU版PyTorch,这自然就检测不到GPU了。你可以打开Anaconda Prompt,先激活你的目标环境(比如conda activate 你的环境名),然后输入conda list torch,看看输出里的torch包名称是否带有cuda标识——比如类似torch 2.3.0 py310_cuda12.1_cudnn8.9.2_0这种。如果显示的是cpu_only版本,那你需要重新安装对应CUDA版本的PyTorch。
安装命令可以根据你的系统CUDA版本来选,比如你的系统装的是CUDA 12.1,用conda安装的命令大概是:conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia记得一定要在激活目标环境后再执行安装命令,别装到默认的base环境里了。
检查Jupyter Notebook使用的内核是否对应正确环境
有时候你从Anaconda启动Jupyter,但它默认调用的是base环境的内核,而你的CUDA版PyTorch装在另一个单独的环境里,这也会导致检测失败。解决方法很简单:- 激活你的目标环境,安装ipykernel:
conda install ipykernel - 将这个环境添加为Jupyter的可用内核:
python -m ipykernel install --user --name=你的环境名称 --display-name="Python (你的环境名称)" - 重启Jupyter Notebook,在页面右上角的「Kernel」菜单里切换到你刚才添加的那个内核,再运行
torch.cuda.is_available()试试。
- 激活你的目标环境,安装ipykernel:
验证系统CUDA与PyTorch内置CUDA版本的兼容性
你可以在Jupyter里运行下面两行代码,查看PyTorch内置的CUDA版本:import torch print(torch.version.cuda)然后在系统命令行里输入
nvcc --version,查看你手动安装的CUDA Toolkit版本。这两个版本不需要完全一致,但要保证PyTorch支持你的系统CUDA版本(比如PyTorch 2.3支持CUDA 11.8、12.1等主流版本)。如果版本差距过大,要么升级/降级系统CUDA,要么重新安装对应版本的PyTorch。确认CuDNN配置正确
如果你是通过conda安装的PyTorch,那conda会自动匹配安装对应版本的CuDNN,这一步基本不用操心。但如果你是手动安装的CuDNN,要确保它的版本和系统CUDA版本匹配,并且已经把CuDNN的库路径添加到系统环境变量中(Windows是PATH,Linux是LD_LIBRARY_PATH)。
备注:内容来源于stack exchange,提问作者Hasham Asif




