跑深度学习nvidia驱动忽然失效的详细解决方法

在运行pytorch框架和CUDA时遇到NoCUDAGPUsareavailable错误。通过检查发现是Ubuntu内核升级导致NVIDIA驱动不匹配。尝试通过切换内核、安装dkms和更新nvidia模块,最终关闭BIOS的securityboot解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于经常跑深度学习,所以对于显卡驱动什么的都还是整的比较明白的不含糊,所以都能跑的起来。但是今天跑pytorch框架时(用到cuda)忽然给我报了个错:

RuntimeError: No CUDA GPUs are available

这给我整不会了,因为用cuda一直都用的好好的今天忽然这样,我首先torch.cuda.is_available()试了一下,果然是false。
然后

nvidia-smi

结果

NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

应该是我的ubuntu偷偷趁我不注意把kernel给升级了,导致nvidia的版本不匹配。
运行cat /var/log/dpkg.log |grep nvidia
在这里插入图片描述
看第一行,可以看到从525.116.04升级到525.125.06,然后cat /proc/driver/nvidia/version可以看到nvidia的版本还是旧的116的(因为我已经解决了所以现在是新的了截图不了),所以验证了猜想。
所以接下来,我本着尽量不重装的原则尝试解决方法。
首先重启的时候选择低版本的内核进入然后运行nvidia-smi就变成了

Failed to initialize NVML: Driver/library version mismatch

且再运行cat /proc/driver/nvidia/version就显示找不到路径,方法1 failed。
然后试一下一下两条命令:

sudo apt-get install dkms
sudo dkms install -m nvidia -v 525.125.06

这个nvidia的版本号可以用ls /usr/src查看
在这里插入图片描述
正常来说,百分之七八十的人都是到这一步之后再运行nvidia-smi就可以成功显示了。但是我还不行,我运行第二句显示我已经installed了:

Module nvidia/525.125.06 already installed on kernel 5.xxx-xx-generic/x86_64

所以继续。
最后我是进入bios将security boot关掉就成功了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值