保姆级教程:如何让30系显卡用上 Tensorflow 1.15.4
你是AMD Yes党?还是intel和NVIDIA的忠实簇拥呢?最新一届#装机大师赛#开始啦!本次装机阵营赛分为3A红组、intel NVIDIA蓝绿组、混搭组还有ITX组,实体or虚拟装机都能参与,可使用值得买定制化DIY装机工具在文中展现配置单!每个小组均有精美礼品,优秀文章还可角逐装机大师终极大奖,点击参与<<<
创作立场声明:原创
前言
相较于20系显卡,30系显卡性能的提升非常大。因此近期本人入手了一块3090。
然而30系显卡目前只支持CUDA11以上的版本。虽然Tensorflow和Pytorch最新版本已经适配了CUDA11.1,但是本人还有一些代码需要运行在Tensorflow 1.X版本上。网上已经有些教程了,然而个人感觉过程不太详细,所以这里总结一下从UBUNTU安装完成到Tensorflow 1.15.4配置完成的整个过程。
前提:必须使用Linux系统,目前没有研究出Windows的安装方法。推荐使用Ubuntu18.04。
过程
Ubuntu为刚安装完成的状态,没有进行任何设置。
配置环境所需要的安装包(ed2t )
1.下载cuda11.1和cudnn8.0.4,
可以自行在官网下载,也可以从上面的链接直接下载。记住下载目录,最好放在用户目录下(/home/用户名/),方便后面使用。
2.禁用nouveau
在终端输入
sudo gedit /etc/modprobe.d/blacklist.conf
在blacklist.conf的最后添加:
blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off
保存并退出
3.禁用nouveau内核模块
echo options nouveau modeset=0
sudo update-initramfs -u
重启(sudo reboot). 如果运行如下指令没用打印出任何内容, 则禁用nouveau成功.
lsmod | grep nouveau
4.关闭用户图形界面,并安装zhcon(如果出现中文乱码)
sudo systemctl set-default multi-user.target
sudo apt-get install zhcon
sudo adduser $(whoami) video
sudo reboot
5.安装显卡驱动和cuda11.1
三种安装方式:
a.runfile(local) b.deb(local) c.deb(network)
推荐用runfile方式,不管之前有没有装驱动,这里先卸载原有驱动
sudo zhcon --utf8
sudo apt-get remove --purge nvidia*
sudo apt-get update
sudo apt-get install dkms build-essential linux-headers-generic
运行安装文件
sudo chmod a+x cuda_11.1.0_455.23.05_linux.run
sudo ./cuda_11.1.0_455.23.05_linux.run
运行以后会看到协议页面,输入 accept
然后进入安装选项页面,这里要关闭OpenGL!!!!
Options - Driver Options- Do not install any of the OpenGL-related driver files
然后选择 Done 退回到初始页面,选择 Install 开始安装。安装完成后开启用户图形界面。
sudo systemctl set-default graphical.target
sudo reboot
查看NVIDIA显卡驱动是否安装完成 nvidia-smi
6.配置路径(这里还包括anaconda3,texlive,matlab)
打开bashrc
sudo gedit ~/.bashrc
在最后添加路径
(这里的cuda路径不加版本号,以便后续升级cuda版本的时候不需要重新配置)
(这里还包含了anaconda3,texlive,matlab2020b)
export CUDA_HOME=/usr/local/cuda
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${CUDA_HOME}/lib64
export PATH=${CUDA_HOME}/bin:${PATH}
export PATH="/home/用户名/anaconda3/install/bin:$PATH"
export MANPATH=${MANPATH}:/usr/local/texlive/2020/texmf-dist/doc/man
export INFOPATH=${INFOPATH}:/usr/local/texlive/2020/texmf-dist/doc/info
export PATH=${PATH}:/usr/local/texlive/2020/bin/x86_64-linux
export PATH=/usr/local/Polyspace/R2020b/bin:$PATH
保存,退出,输入 source ~/.bashrc 使其生效。
验证CUDA版本,会输出版本号
nvcc --version
cat /proc/driver/nvidia/version
7.安装cudnn 8.0.4
下载cuDNN Library for Linux(x86_64)并解压,在文件所在的路径下打开终端
sudo cp cuda/lib64/* /usr/local/cuda/lib64/
sudo cp cuda/include/* /usr/local/cuda/include/
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
8.安装anaconda3,创建并进入虚拟环境
conda create -n name python=3.6.8
conda activate name
9.安装tensorflow
运行requirements.sh安装安装nvidia-TensorFlow对应的依赖包:
sh requirements.sh
验证库文件
pip list | grep nvidia
测试Tensorflow是否安完成
python -c 'import tensorflow as tf; print(tf.__version__)'
总结
测试了一下,Tensorflow 1.15.4可以向下兼容到 Tensorflow1.13.1版本,再往下就没测试。

很好,我选择pytorch
显卡不用来玩游戏,都属于歪门邪道
因为tf1和tf2的代码不兼容……
为啥不用 tf2
我感觉添加nvidia的源然后无脑aptitude install cuda比较省事
深度学习已经卷到zdm这来了
还不如写一篇文章,叫做:如何原价买到3070/3080显卡
跑模型,训练数据
为了运算,用法不一样而已。市售GPU算力大于CPU
装这个干啥用的?
虽然不知道你在说什么。但是感觉很高深。。。
难得见到的知识型文章