出现错误:
1.UserWarning: CUDA initialization: The NVIDIA driver on your system is too old (found version 10010). Please update your GPU driver by downloading and installing a new version
2.导入torch后torch.cuda.is_available()为false
出现原因:
最近服务器重启,重启之后驱动版本竟然降了(玄!!!)。降了之后发现pytorch又调用不了gpu了,但是这次又不能升级nvidia驱动版本(唉就不多说了,大家如果不明白也可以看看我上一篇文章,也是关于如何解决这个问题的)。
目前的环境
驱动版本跟真实安装的版本统一为10.1,按理来说驱动版本大于等于真实版本并不会出问题,确实不会是这样,出现问题的原因是cudatoolkit版本的版本装错了,安装的cudatoolkit版本必须小于驱动版本。如果未解决你的疑惑,可以参考下面的文章。显卡驱动版本、cudatoolkit版本、cudann版本、tensorflow-gpu版本之间的对应关系_Y.G.bh的博客-CSDN博客_cuda和cudatoolkit版本
进入pytorch官网PyTorch
我目前是驱动版本为10.1,我于是将这个设为cudatoolkit=10.1(在我上一篇文章2021(接近2022)linux(ubuntu16.04)安装cuda跑深度学习步骤以及踩坑过程(ELF标头无效、导入torch后torch.cuda.is_available()为False等等)_Dcityy的博客-CSDN博客有提到),但因为我之前的驱动版本是11.4所以不会造成影响,现在版本降低就出现了问题。所以正确的做法是将cudatoolkit设置为小于10.1的。但这里又需要注意一个版本对应问题。
版本对应
根据这篇文章显卡驱动版本/Cuda版本/Tensorflow/Pytorch版本的对应关系_#欧吼的博客-CSDN博客_tensorflow对应显卡版本
我们看到10.1对应的版本有很多,接下来我们进入pytroch官网查看历史版本Previous PyTorch Versions | PyTorch
进入后可以在左上角看到有vx.x.x
在这里我根据版本对应的关系挑选了v1.5.1,并且cudatoolkit=9.2(小于10.1)的版本
安装
conda install pytorch==1.5.1 torchvision==0.6.1 cudatoolkit=9.2 -c pytorch
命令之后就解决了。