Ubuntu20.04+cuda11.2+cudnn8.1+Anaconda3安装tensorflow-GPU环境,亲测可用

(1)安装nvidia显卡驱动

注意Ubuntu20.04和Ubuntu16.04版本的安装方法不同,
安装驱动前一定要更新软件列表和安装必要软件、依赖(必须)

sudo apt-get update   #更新软件列表
 
sudo apt-get install g++
 
sudo apt-get install gcc
 
sudo apt-get install make

查看GPU型号

lspci | grep -i nvidia

官网下载对应驱动(必须)
https://www.nvidia.cn/Download/index.aspx?lang=cn
卸载原有驱动

sudo apt-get remove --purge nvidia*

禁用nouveau(nouveau是通用的驱动程序)(必须)

sudo chmod 666 /etc/modprobe.d/blacklist.conf
sudo gedit /etc/modprobe.d/blacklist.conf

在最后一行下面添加以下几行语句,保存退出
Ubuntu20.04版本

blacklist nouveau
 
options nouveau modeset=0

Ubuntu16.04版本

blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist rivatv
blacklist nvidiafb

更新文件

sudo update-initramfs -u

重启(必须重启)

reboot

验证nouveau是否已禁用

lsmod | grep nouveau

没有信息显示,说明nouveau已被禁用,接下来可以安装nvidia的显卡驱动。
安装lightdm,lightdm是显示管理器,主要管理登录界面

sudo apt-get install lightdm

按Ctrl + Alt + F1~F6中一个进入黑漆漆的文本界面tty,我的是联想thinkpad,使用的是Ctrl + Alt +F6或者用命令sudo telinit 3

sudo service lightdm stop                      //关掉图形界面
sudo apt-get remove nvidia-*     //卸载原有驱动
sudo chmod 755 NVIDIA-Linux-x86_64-525.85.05.run  //获取权限
sudo ./NVIDIA-Linux-x86_64-525.85.05.run -no-nouveau-check -no-x-check -no-opengl-files     //安装驱动
/*-no-x-check 安装驱动时关闭X服务,
 -no-nouveau 安装驱动时禁用nouveau
 -no-opengl-files 只安装驱动,不安装opengl文件。
 根据其他答主经验,最后一个参数一定要加,否则安装完驱动会出现桌面闪退、循环登录等问题。
*/
执行这一步会收到很多提示(注意:白色为选中,不是红色):
问题1:The distribution-provided pre-install script failed! Are you sure you want to continue?
Continue installation   Abort installation (选择Coninue)

问题2:Would you like to register the kernel module sources with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later.
Yes   No (选 No)

问题3:Install NVIDIA’s 32-bit compatibility libraries?
Yes   No (选 No)

问题4: Installation of the kernel module for the NVIDIA Accelerated Graphics Driver for Linux-x86_64 (version470.94) is now complete.
OK

问题5: Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up.
Yes    No (选 Yes)

挂载Nvidia驱动:

modprobe nvidia

退出文本界面到图形界面,输入sudo telinit 5或者Ctrl + Alt + F1(我的是联想thinkpad,F1和F12都试一下)
切换到图形界面:

sudo service lightdm start

检查驱动是否安装成功:

nvidia-smi

出现以下界面,则安装成功,可以看到此显卡驱动支持的最高CUDA版本是12.0。


(2)安装cuda

cuda版本不超过nvidia驱动查询到的cuda版本
Ubuntu 20.04默认g++9版本太高,会导致CUDA无法安装,因此要先降低g++版本到7,将下列代码逐个执行

sudo apt-get install gcc-7 g++-7
 
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 1
 
sudo update-alternatives --display gcc     //查看默认版本
 
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 9
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 1
 
sudo update-alternatives --display g++

到nvidia官网下载cuda,网址为:https://developer.nvidia.com/cuda-toolkit-archive
我下载的是11.2

sudo sh cuda_11.2.0_460.27.04_linux.run

因为前面步骤已经安装了Driver
我们选择continue即可,然后出现下面这样的界面,enter一下把Driver取消



安装完成后的界面如下:



修改环境变量
sudo gedit ~/.bashrc
或
vim ~/.bashrc
export PATH=/usr/local/cuda-11.2/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.4/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

更新环境变量

source ~/.bashrc

检查是否安装成功
nvcc -V

#编译并测试设备 deviceQuery:
cd /usr/local/cuda-9.2/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery

#编译并测试带宽 bandwidthTest:
cd ../bandwidthTest
sudo make
./bandwidthTest

如果这两个测试的最后结果都是Result = PASS,说明CUDA安装成功啦。

(3)安装cudnn

下载和cuda相匹配的cudnn版本,我选用的是cudnn8.1,网址为:https://developer.nvidia.com/cudnn
解压tgz包

tar -xvzf cudnn-11.2-linux-x64-v8.1.0.77.tgz

对解压后文件夹中的文件进行拷贝

sudo cp cuda/include/cudnn* /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn*
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

修改权限

sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

查看cuDNN版本
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
如果输出如下,则表示安装成功:


(4)安装Anaconda3

进入Anaconda3下载目录,运行下面命令安装

bash Anaconda3-2022.10-Linux-x86_64.sh 

期间有ENTER的地方可以直接回车,遇到MORE信息,可以摁Q键跳过,遇到需要输入yes|no的地方输入yes即可。
考虑到其他用户的权限问题,最好不要安装在/root目录下,修改安装路径为/usr/local/anaconda3


输入 yes 来确认使用 conda init 来启动
启动已经修改的环境变量

source ~/.bashrc

命令前出现了base
查看版本

conda --version

conda 配置国内镜像源

添加清华镜像源

conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge 
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/

设置搜索时显示通道地址

conda config --set show_channel_urls yes

恢复默认源

conda config --remove-key channels

显示镜像源

conda config --show-sources

删除镜像源

conda config --remove channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

conda 创建虚拟环境

conda create -n py39 python=3.9

输入 y 并回车后,开始下载并创建
进入虚拟环境

conda activate py39

退出当前环境

conda deactivate

查看当前环境

conda env list 

删除环境
conda remove -n [your_env_name(虚拟环境名称)] --all

conda remove -n py39 --all

安装ipython

conda install ipython

(5)安装tensorflow-GPU

pip install tensorflow-gpu==2.6.0 -i https://pypi.mirrors.ustc.edu.cn/simple/

在虚拟python环境下测试tensorflow-GPU是否安装成功

from tensorflow.python.client import device_lib
device_lib.list_local_devices()

你可能感兴趣的:(Ubuntu20.04+cuda11.2+cudnn8.1+Anaconda3安装tensorflow-GPU环境,亲测可用)