Failed to initialize NVML: Driver/library version mismatch

这篇具有很好参考价值的文章主要介绍了Failed to initialize NVML: Driver/library version mismatch。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题描述

昨天跑代码,cuda还能好好的to(device),今天就不行了。输出torch.cuda.is_available()显示False,运行代码出现以下错误:

UserWarning:CUDA initialization:Unexpected error from cudaGetDeviceCount().

在终端输入nvidia-smi出现了以下错误

Failed to initialize NVML: Driver/library version mismatch

上网查询,发现了许多解决方法。为了更好的解决问题,并且避免再次出现,我对这些方法进行了简单的整理。希望能够帮到大家。

问题原因

我比较赞同这篇文章给出的解释:NVIDIA内核驱动版本与系统内核版本不一致
出现该问题的原因是:系统驱动自动更新
在终端输入:

cat /var/log/dpkg.log |grep nvidia

可以看到以下信息:
failed to initialize nvml: driver/library version mismatch,无限Bug,linux
红框里指的是,系统驱动从470.141.03更新到了470.161.03。
此时在终端输入:

cat /proc/driver/nvidia/version

可以发现显卡驱动内核版本还是原来的版本(由于我已经更新过了,这里不再贴图)

解决方法

解决方法1

重启服务器,在终端输入

sudo reboot

重启服务器之后内核会重新加载,并且与驱动版本一致。如下图所示,系统内核版本已经与驱动版本一致了。
failed to initialize nvml: driver/library version mismatch,无限Bug,linux

解决方法2

退出当前内核显卡模块,重新加载更新后的驱动作为内核模块
具体步骤参考这篇文章。

解决方法3

卸载现有驱动,重新安装。
具体步骤参考这篇文章。

ps:本人重启之后,问题就解决了。没有尝试第二种与第三中方法,请大家根据自己的情况选择合适的方法。

本来文章到这里就要结束了,但是为了避免再次出现这样的问题,机智的博主们给出了一些解决方案。

后续解决

由于是系统驱动更新导致出现的问题,那么就有可能再次出现这样的问题。应该如何解决呢?

后续解决方案1

停止nvidia更新
具体可参考这篇文章。

后续解决方案2

找到是哪个程序更新的显卡驱动,停止该程序的更新
具体步骤参考这篇文章。

文章到这里就结束了,希望大家都能顺利解决自己的问题。

参考文章

[1]Nvidia 显卡 Failed to initialize NVML Driver/library version mismatch 错误解决方案
[2]nvidia-smi Failed to initialize NVML: Driver/library version mismatch解决方法(不用重启)
[3]Failed to initialize NVML: Driver/library version mismatch解决方案
[4]Failed to initialize NVML: Driver/library version mismatch文章来源地址https://www.toymoban.com/news/detail-783264.html

到了这里,关于Failed to initialize NVML: Driver/library version mismatch的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包