版本匹配、环境变量排查:【一文解决】已安装CUDA与Pytorch但torch.cuda.is_available()为False_torch.cuda.is available返回false-优快云博客
排查完 1. 版本匹配 2. 环境变量 仍然解决不了问题的,看下面
一、问题
print(torch.__version__) # 打印出 PyTorch 的版本号
print(torch.cuda.is_available()) # 检查并打印出 CUDA 是否可用
print(torch.version.cuda) # 打印出 PyTorch 所使用的 CUDA 的版本号
2.3.0+cu121True False
12.1
二、解决方案
命令窗口:
sudo apt-get install nvidia-modprobe
三、解析
nvidia-modprobe
,NVIDIA的内核模块加载工具,允许操作系统在启动时自动加载NVIDIA的内核模块,这些内核模块是NVIDIA显卡驱动的一部分。
当你安装了nvidia-modprobe
后,你的操作系统就可以加载NVIDIA的驱动,这样你的PyTorch就可以通过这些驱动来访问你的NVIDIA显卡,所以torch.cuda.is_available()
返回true
。
我现在
2.3.0+cu121
True
12.1
如果上方解决不了,或者之前解决过一次,然后cuda 又变成false了,使用下列解决方案:
python - CUDA initialization: CUDA unknown error - this may be due to an incorrectly set up environment - Stack Overflow
摘录至下面,希望可以帮到大家
命令窗口:
# 卸载
sudo rmmod nvidia_uvm
# 重装
sudo modprobe nvidia_uvm
重置 GPU 的一些设置
如果遇到卸载不了
sudo lsof /dev/nvidia-uvm # 列出使用nvidia-uvm的进程
杀掉进程
sudo kill <PID>,然后 立刻 卸载nvidia-uvm: sudo rmmod nvidia_uvm
最后安装回来:
sudo modprobe nvidia_uvm