主要环节:Ubuntu18.04(已安装好)、CUDA安装、cuDNN安装、Anaconda设置虚拟环境安装TF等
背景:在经过过漫长的小论文准备实验和写作后,终于将稿子交与导师审校,想来也有时间可以学习盼望已久的东西了。在经历一整天反复折腾后,结合几篇博客对每一步进行稍作记录,作为备忘的同时也许可以帮到其他萌新。

1 版本选择

CUDA10.0+cuDNN7.5.0 for CUDA10.0

官网:

cuda:https://developer.nvidia.com/cuda-10.0-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1804&target_type=runfilelocal

cudnn(需要先注册账户):https://developer.nvidia.com/rdp/cudnn-download

2 安装显卡NVIDIA显卡驱动

这里本来以前我通过在官网下载run文件安装过,但是稍显麻烦也忘了具体流程,于是参考别人的做法用了ppa源的安装方式

2.1 卸载原有驱动

1
2
# 删除
sudo apt-get purge nvidia*

2.2 禁止自带驱动

1
2
# 打开配置文件
sudo vim /etc/modprobe.d/blacklist-nouveau.conf

将以下字段添加到文件末尾

1
2
blacklist nouveau
options nouveau modeset=0

更新文件

1
sudo update-initramfs -u

这里可能需要重启电脑

1
2
# 重启
sudo reboot

2.3 添加Graphic Drivers PPA

1
2
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update

查看合适的驱动版本以安装

1
ubuntu-drivers devices

如图:

drevers

我选择推荐的418版本安装:

1
2
3
4
# 安装
sudo apt-get install nvidia-driver-396
# 重启
sudo reboot

安装成功后会显示显卡信息:

1
2
sudo nvidia-smi
sudo nvidia-settings

GPU

gpusetting

以上便安装好了显卡驱动。

3 安装CUDA

3.1 下载CUDA10.0

cuda

以上是我的选择情况。

3.2 安装依赖关系

参考:https://www.cnblogs.com/Ph-one/p/9000211.html

1
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev

3.3 降低GCC版本

根据诸多博客的经验,还需要先降低GCC版本,先查看:

1
2
3
4
#查看版本信息
gcc --version
#或者
g++ --version

安装低GCC版本(多数博客均是该版本):

1
2
3
4
sudo apt install gcc-5 g++-5
#或者
sudo apt-get install gcc-5
sudo apt-get install g++-5

根据提示开始安装低版本

然后替换:

1
2
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 50   # you will find that message that tells you the gcc-5 is set to be automatic.
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 50 # similiar message as gcc

值得一提的是文章https://blog.csdn.net/sinat_40276791/article/details/80403784中提到说:**安装cuda的时候并没有降级gcc,g++;说明cuda9.0已经支持gcc7.0安装,所谓降级是后面要编译cuda测试例子的时候用到6.0以下的g++,和gcc版本。**但是我的gcc版本较高,为保险,我还是先降低。

3.4 开始安装CUDA

1
sudo sh cuda_10.0.130_410.48_linux.run

ctrl+c 可快速结束阅读文档接下来根据提示选择就好了,

值得一提的是,在安装过程中会提示是否需要安装显卡驱动,这里要选择n,因为我们已经提前安装了驱动,提前安装驱动也是几乎所有博主的选择,我并没有单独尝试不提前安装的情况。其他的选择y或者回车键进行安装即可。

3.5设置环境变量:

1
sudo gedit ~/.bashrc

在打开的文本中添加下列内容,根据版本进行改动

1
2
export PATH=/usr/local/cuda-10.0/bin${PATH:+:${PATH}}  
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

更新:

1
source ~/.bashrc

也许需要重启

3.6 测试是否成功

验证CUDA10.0是否安装成功:

1
2
3
4
5
6
# 第一步,进入例子文件
cd /usr/local/cuda-10.0/samples/1_Utilities/deviceQuery
# 第二步,执行make命令
sudo make
# 第三步
./deviceQuery

输出结果有GPU的信息,以及显示Result = PASS等,说明CUDA安装成功。

4 安装cuDNN

4.1 cuDNN下载

udnn

下载对应的Deb文件,这里对应Ubnuntu18.04共有三项,都要下载。

4.2 安装

注意:这里有的博客直接下载了cuDNN Library for Linux项,安装方式有所不同(这在官网也有安装说明),如下:

1
2
3
4
5
6
7
8
#1.Navigate to your <cudnnpath> directory containing the cuDNN Tar file.
#2.Unzip the cuDNN package.
$ tar -xzvf cudnn-9.0-linux-x64-v7.tgz
#3.Copy the following files into the CUDA Toolkit directory, and change the file permissions.
$ sudo cp cuda/include/cudnn.h /usr/local/cuda/include
$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
$ sudo chmod a+r /usr/local/cuda/include/cudnn.h
$ sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

官网安装说明:https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html#installlinux

之前已经下载好了文件(对应的三项),我现在直接安装:

1
2
3
sudo dpkg -i libcudnn7_7.5.0.56-1+cuda10.0_amd64.deb
sudo dpkg -i libcudnn7-dev_7.5.0.56-1+cuda10.0_amd64.deb
sudo dpkg -i libcudnn7-doc_7.5.0.56-1+cuda10.0_amd64.deb

4.3 测试

执行以上命令后,测试是否安装好:

1
2
3
4
cp -r /usr/src/cudnn_samples_v7/ $HOME
cd $HOME/cudnn_samples_v7/mnistCUDNN
make clean && make
./mnistCUDNN

最终显示Test passed!则安装成功

版本查看

1
nvcc -V

以上是cuDNN的安装。

5 安装Anaconda

5.1 安装anaconda

Anaconda的优点有口皆碑,安装也十分方便,根据不同版本选择修改即可:

1
bash Anaconda3-5.3.0-Linux-x86_64.sh

5.2 更改pip和conda为国内的源

1
mkdir ~/.pip
1
2
3
4
5
cat > ~/.pip/pip.conf << EOF
[global]
trusted-host=mirrors.aliyun.com
index-url=https://mirrors.aliyun.com/pypi/simple/
EOF
1
2
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes

5.3 为TF准备虚拟环境

1
2
conda create --name tensorflow python=3.6 
#创建tf环境,这里我的虚拟环境名字叫tensorflow,根据喜好替换即可

一些常用命令:

1
2
3
4
5
source activate tensorflow            #激活环境
#或者conda activate tensorflow #激活环境
source deactivate tensorflow #退出环境
#conda deactivate tensorflow #退出环境
conda remove --name tensorflow --all #删除tensorflow环境(全部删除)

5.4 安装Tensorflow

进入虚拟环境后再进行安装:

1
2
3
4
conda  activate tensorflow
# 安装 gpu 版本的 tensorflow 和 keras
conda install tensorflow-gpu # 默认安装最新版本
conda install keras

命令将会自动安装相关组件,如:numpy 、wheel 、tensorflow-tensorboard 、six、protobuf 、html5lib 、markdown、werkzeug 、bleach、setuptools等。

5.6 测试

进入虚拟环境,找到python:

1
2
source activate tf
python

在Python命令下:

1
2
3
4
import tensorflow as tf
hello= tf.constant('Hello, TensorFlow!')
sess= tf.Session()
print(sess.run(hello))

如果没有报错则安装成功。

5.7 其他框架:

同样在我们设置的虚拟环境内:

1
2
#安装Keras
conda install keras
1
2
3
4
5
6
7
#安装Pytorch
conda install pytorch torchvision -c pytorch
#测试
source activate tf
python
import torch
print(torch.cuda.is_available())

参考

anaconda安装详细过程:https://blog.csdn.net/u012318074/article/details/77074665

机器学习初学者文章(Ubuntu 18.04深度学习环境配置(CUDA9.0+CUDDN7.4+TensorFolw1.8)):

https://mp.weixin.qq.com/s?__biz=Mzg5NzAxMDgwNg==&mid=2247483901&idx=1&sn=f02bd7866ad172ef0c9669851dffde2a&chksm=c0791ce4f70e95f2343047e62d513c0106eedebc09cc25d1c45598ede21da8655a974c6a69c5&mpshare=1&scene=1&srcid=04179jALGhka70U7n9ovBuKY&pass_ticket=KprLcHSq%2F%2FifAFYAESWtIOC2CUJ3iHrXGxrel4jNTybt4taMs41OkZkLKgYztL0x#rd

Ubuntu18.04深度学习GPU环境配置:https://blog.csdn.net/weixin_41863685/article/details/80303963