Ubuntu 16.04深度学习环境搭建
所需软件
-
NVIDIA驱动
-
CUDA9.0
-
CUDNN7.0
-
Anaconda3.5.0.0
-
Tensorflow1.8
NVIDIA驱动
下载cuda_10.1.168_418.67_linux.run
下载cuda 10 的目的是为了安装NVIDIA驱动,而我们实际工作使用的是cuda 9
wget https://developer.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.168_418.67_linux.run
sudo chmod +x *.run # 赋予所有run文件可执行文件
sudo ./cuda_10.1.168_418.67_linux.run # 因为文件比较大,需要加载较长时间
按Ctrl+F可以快速跳过这些前言,然后我们只安装NVIDIA驱动,所以其他的我们全部选择no。
驱动安装完成之后,我们用nvidia-smi
查看我们的显卡运行状态,如果成功显示,则驱动安装成功。
安装cuda9.0
下载 cuda 9.0
wget https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_384.81_linux-run
创建我们 cuda9.0 解压的文件夹
mkdir -p local/cuda9.0
./cuda_9.0.176_384.81_linux.run # 因为我们不用安装驱动了,所以可以不用sudo权限,直接运行它就好
驱动选择no,toolkit选择yes,路径输入我们刚才的路径,应该要输入绝对路径,/home/michael/local/cuda9.0。记得把michael改成你们自己的用户名,然后其他都选择no。
这时候我们的cuda9.0就安装好了,我们进入到它的bin文件夹中,运行命令查看cuda版本。
cd local/cuda9.0/bin/
./nvcc -V
添加环境变量
我们这里查看的命令是./nvcc -V
,我们之所以输入./
,是因为nvcc这个已经编译好的程序只存在于local/cuda9.0/bin/
这个当前目录下,并不是全局目录下,如果我们要让我们的程序能够在全局调用得到我们的cuda,我们需要将cuda加入到环境变量里面,因此,而在我们的主文件夹(Home)下,有一个环境变量 的配置文件.bashrc
,这是一个隐藏文件,使用ls -a
可以看见。
我们编辑.bashrc
这个文件,然后将我们cuda的目录信息加入到里面,刷新环境变量,这时候我们的cuda就变成全局了(~/
是指我们的默认目录,就是我们的home目录)。
vim ~/.bashrc
然后按i进入insert模式,到最下面一行,添加我们的配置信息。
# cuda9.0
export PATH=/home/michael/local/cuda9.0/bin:$PATH
export LD_LIBRARY_PATH=/home/michael/local/cuda9.0/lib64:$LD_LIBRARY_PATH
export C_INCLUDE_PATH=/home/michael/local/cuda9.0/include:$C_INCLUDE_PATH
export CPLUS_INCLUDE_PATH=/home/michael/local/cuda9.0/include:$CPLUS_INCLUDE_PATH
然后按:wq保存并退出。
刷新一下环境变量
source ~/.bashrc
这时候输入这个就可以查看cuda版本信息了,而不需要加入./
nvcc -V
Cudnn7.0
下载 Cudnn7.0
配置Cudnn的步骤很简单,把cudnn的头文件
和库文件
都拷贝到cuda安装文件夹里面就好了
我们从Nvidia官网上下载下来的cudnn for linux的文件格式是.solitairetheme8,想要解压的话需要先转成tgz格式再解压:
cp cudnn-9.0-linux-x64-v7.5.0.56.solitairetheme8 cudnn-9.0-linux-x64-v7.5.0.56.tgz
1.解压,生产的文件夹叫cuda,最后cp(拷贝)完后这个文件夹就可以删掉了
tar -zxvf cudnn-9.0-linux-x64-v7.5.0.56.tgz
2.cp(拷贝)这个文件夹
cp cuda/include/cudnn.h local/cuda9.0/include/
cp -a cuda/lib64/* local/cuda9.0/lib64/
Anaconda3.5.0.0
下载 Anaconda3-5.0.0-Linux-x86_64.sh
wget https://repo.anaconda.com/archive/Anaconda3-5.0.0-Linux-x86_64.sh
运行安装程序
sh Anaconda3-5.0.0-Linux-x86_64.sh
然后输入yes再按回车采用默认路径就行了。
安装完成时,它问你要不要加入到环境变量里面,我们选择yes,然后它会把它的解压的目录自行添加到~/.bashrc
里面。
这时候我们可以查看我们的~/.bashrc
,可以看到环境变量里面以及由Anaconda了。
重新打开终端,会刷新环境变量(或者手动用source ~/.bashrc
刷新一下),我们输入Python
,可以看到Anaconda
的字样。
修改pip源
cd ~/
创建.pip
目录
mkdir -p .pip
进入.pip
目录
cd .pip
编辑(之前若无则新建) pip.conf
文件
vim pip.conf
然后按i进入insert状态,粘贴我们的配置信息。
[global]
index-url=https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=pypi.tuna.tsinghua.edu.cn
disable-pip-version-check = true
timeout = 6000
然后按:wq保存并退出,这时候我们的pip配置信息已经完成了。
Tensorflow1.8
pip install tensorflow-gpu==1.8
这时候它提示我们的tensorflow以及它的依赖包已经安装好了,那我们检验一下。
这个不是报错,它只是提升在未来版本有些函数会改变,其实只要更新一下h5py
就行了。
pip install -U h5py
然后再import tensorflow试一下。
这时候就完全没有问题了,到这里,基于GPU的Tensorflow已经安装完成了。
参考:https://blog.csdn.net/Wuzebiao2016/article/details/87886356