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()
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,186评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,858评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,620评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,888评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,009评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,149评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,204评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,956评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,385评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,698评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,863评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,544评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,185评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,899评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,141评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,684评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,750评论 2 351

推荐阅读更多精彩内容