当前位置: 首页 > news >正文

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 gccsudo 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 nouveauoptions 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 newmodule, 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 modulefor 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++-7sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-79
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-91sudo update-alternatives --display gcc     //查看默认版本sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-79
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-91sudo update-alternatives --display g++

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

我下载的是11.2

sudoshcuda_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-xvzfcudnn-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下载目录,运行下面命令安装

bashAnaconda3-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是否安装成功

fromtensorflow.python.clientimportdevice_libdevice_lib.list_local_devices()

http://www.lryc.cn/news/1894.html

相关文章:

  • 剑指Offer 第27天 JZ75 字符流中第一个不重复的字符
  • 科研试剂供应1476737-97-9,Bis-PEG2-endo-BCN可发生点击反应
  • Zabbix 构建监控告警平台(一)--部署安装
  • 【nodejs】nodejs入门核心知识(命令行使用、内置模块、node 模块化开发)
  • 5. Spring 事务
  • 【堆】数据结构堆的实现(万字详解)
  • Docker进阶 - 9. docker network 之自定义网络
  • springcloud-工程创建(IDEA)
  • Blender——物体的随机分布
  • 一文教你玩转 Apache Doris 分区分桶新功能
  • Spring JdbcTemplate 和 事务
  • C/C++:程序环境和预处理/宏
  • 什么是死锁?死锁产生的四个必要条件是啥?如何避免和预防死锁的产生?
  • 工程管理系统源码-物料管理-工程项目管理系统-建筑施工管理软件
  • Roboguide与TIA V16通讯
  • 利用PyTorch深度学习框架进行多元回归
  • EBS常用接口开发
  • 【完整】UR机械臂逆运动学求解过程及c++代码实现
  • 68. Python的相对路径
  • java数据类型
  • Kotlin 替换非空断言的几种方式
  • 2023年了,来试试前端格式化工具
  • spring cloud 企业工程项目管理系统源码+项目模块功能清单
  • TCP分片解析
  • 开发了一款基于 Flask 框架的在线电影网站系统(附 Python 源码)
  • 如何获得CSM--敏捷教练证书
  • Java面试数据库
  • 关于进行vue-cli过程中的解决错误的问题
  • Rockchip Linux USB Gadget
  • Linux -文件系统操作与帮助命令