问题描述

在安装好tensorflow、cuda和cudnn后,在python中import tensorflow时仍然发生报错:
请输入图片描述

原因

这里是cuda版本不对的问题,我安装的是11.0版本,而需要的是10.1,所以在安装tensorflow之前,一定要确认tensorflow和cuda版本的对应!!

踩坑

cuda安装时选择了network网络版本

请输入图片描述

安装好后看看软件包里有什么版本:
选区_136.png

发现都是11.0版本
我安的明明是10.1deb包,你给我安11.0,这不坑人吗

  • 卸载cuda
    1
    2
    sudo apt remove --purge cuda
    sudo apt autoremove
    在看看是否卸载干净了ls /usr/local/|grep cuda:
    选区_137.png

还剩下一个cuda-11.0文件夹,原来的cuda软连接已经没有了,再看看这个文件夹里还剩啥tree /usr/local/cuda-11.0
选区_138.png

这些不是之前复制的cudnn的文件吗?那直接删掉就好sudo rm -rf /usr/local/cuda-11.0
再看看还有没有剩的,输入dpkg --get-selections |grep cuda查看:
选区_140.png
显示deinstall说明还有配置文件残留,一个个清除即可:

1
2
3
sudo dpkg -P cuda-cudart-11-0
sudo dpkg -P cuda-toolkit-11-0
sudo dpkg -P cuda-visual-tools-11-0

好了,这次是彻彻底底删完了!

  • 安装cuda10.1
    选区_142.png
    一定不能选择network版!!其它教程也有选择runfile(local),似乎也行
    下载完成后,在下载的目录下执行:
    1
    2
    3
    sudo dpkg -i cuda-repo-ubuntu1804-10-1-local-10.1.105-418.39_1.0-1_amd64.deb
    sudo apt update
    sudo apt install cuda
    下载开始前会有个确认的输入,这里先看看安装的包是不是10.1的
    选区_143.png
    然后环境变量就不说了,配置方法没有变,可以看ubuntu pip安装tensorflow-gpu