记录一下cuda和tensorflow版本对应不上踩到的坑:对齐cuda和tensorflow版本

新入职一家公司,在做一个NER任务,有之前的albert NER代码,是在tensorflow-gpu1.12版本上写的,需要cuda9.0,新公司的cuda版本是10.0,对应不上

cuda的安装方法:

https://blog.csdn.net/hizengbiao/article/details/88625044

最简便的做法:

其实本来用tensorflow-gpu1.15就可以了,只要在

vim ~/.bashrc

后加入三行

export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda/lib64
source ~/.bashrc

使加入的三行生效

并重新设置软连接

    sudo rm -rf /usr/local/cuda   #删除之前创建的软链接
    sudo ln -s /usr/local/cuda-10.0 /usr/local/cuda
    nvcc --version    #查看当前 cuda 版本

即可。

记录一下cuda和tensorflow版本对应不上踩到的坑:对齐cuda和tensorflow版本_第1张图片

我这里显示的9.0,因为懒得切回去了。

注意:

    此时如果nvidia-smi上显示的cuda版本与nvcc --version显示的不一致没有关系,只要高于nvcc --version即可。

记录一下cuda和tensorflow版本对应不上踩到的坑:对齐cuda和tensorflow版本_第2张图片

当时的实际操作:

绕了好大一圈,安装cuda9.0,安装对应的cudnn,安装tensorflow-gpu 1.12,删除nvidia-smi驱动、重装,(实际上用不上)

如果出现 Driver/library version mismatch,删除驱动,再自动重装,再重启即可

sudo apt-get purge nvidia*
sudo ubuntu-drivers autoinstall
sudo reboot

这是踩坑之后最简单的方法了。

如果出现找不到 /usr/local/nvidia-smi,那就是驱动没装,直接

sudo ubuntu-drivers autoinstall

即可,这是输入nvidia-smi就正常了,再强调一遍,里面的cuda版本不用管,并不是本机实际的版本。

在cuda9.0,cudnn,tf都安装结束后,检查一下环境变量

vim ~/.bashrc

如果没有加入

export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda/lib64
source ~/.bashrc

再重置软连接,这也是在不同版本的cuda切换的方法

sudo rm -rf /usr/local/cuda   #删除之前创建的软链接
sudo ln -s /usr/local/cuda-9.0 /usr/local/cuda
nvcc --version    #查看当前 cuda 版本

此时的cuda版本变为了9.0,运行程序发现成功使用gpu,至此踩坑结束,绕了好大一圈。

你可能感兴趣的:(自然语言处理)