(Ubuntu16.04+cuda9.0+cuDNN7.4.2+tensorflow-gpu安装)
说明:大家搭建开发环境时如果是学习的目的,没有必要追求安装操作系统、驱动和软件的最新版本。一是最新版本可能会有坑要填,二则学习他人的代码(如Keras和Tensorflow)和最新版本可能会有兼容性问题。具体的cuda和cuDNN安装的版本要视自己的GPU配置而定。
首先去Nvidia官网上查看适合你的GPU的驱动(http://www.nvidia.com/Download/index.aspx?lang=en-us)。
选择GPU产品类型(本人用的是NVIDIA TITAN Xp),查找适合的驱动如下图:
找到的驱动版本如下所示:
下载NVIDIA驱动安装包(.run格式)。下载后的文件为:
/home/bai/Downloads/NVIDIA-Linux-x86_64-410.78.run
注意:这里的/home/bai是我机子上的路径;你的具体文件路径会有不同(下同)
run格式文件安装较麻烦。
首先要禁用nouveau驱动。Nouveau是由第三方为NVIDIA显卡开发的一个开源3D驱动。Ubuntu默认集成了Nouveau驱动。而用户在安装NVIDIA官方私有驱动的时候Nouveau又成为了阻碍。若不禁用Nouveau,安装时总是报错。
具体步骤如下:
sudo vim /etc/modprobe.d/blacklist.conf
文件末尾添加以下语句:
blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off
echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf
sudo update-initramfs -u
sudo reboot
ctrl + alt+ F1
sudo service lightdm stop
sudo init 3
cd ~/Downloads
mv NVIDIA-Linux-x86_64-410.78.run nvidia.run
chmod +x nvidia.run
sudo sh nvidia.run --no-opengl-files
备注:no前面是双杠号
安装时可能有出错提示,不用理会,继续安装。
安装成功后,在图形界面下可以通过命令:
nvidia-settings
执行完上述后,重启系统:
sudo reboot
cuda是nvidia的编程语言平台,想使用GPU就必须要使用cuda。
从这里下载cuda9.0(https://developer.nvidia.com/cuda-toolkit)的安装文件 。
首先选择合适的版本。
下载安装文件和补丁文件:
下载后的文件如下:
cuda_9.0.176_384.81_linux.run
cuda_9.0.176.1_linux.run
cuda_9.0.176.2_linux.run
cuda_9.0.176.3_linux.run
cuda_9.0.176.4_linux.run
执行如下语句,运行runfile文件:
sudo sh cuda_9.0.176_384.81_linux.run
sudo sh cuda_9.0.176.1_linux.run
sudo sh cuda_9.0.176.2_linux.run
sudo sh cuda_9.0.176.3_linux.run
sudo sh cuda_9.0.176.4_linux.run
因为Nvidia驱动已经安装,这里就不要选择安装Nvidia驱动。其余的都直接默认或者选择是即可。
使用:
sudo gedit /etc/profile
打开profile文件,在末尾处添加(注意不要有空格,不然会报错):
export PATH=/usr/local/cuda-9.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64$LD_LIBRARY_PATH
重启电脑:
sudo reboot
测试cuda的Samples
cd /usr/local/cuda-9.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
如果显示的是有关GPU的信息,则说明安装成功了。
测试cuda也可以通过命令:nvcc -V
查看。输出如下图所示:
去官网下载与CUDA 9.0搭配的cudnn版本。下载cudnn需要注册一个NIVDIA账号。
https://developer.nvidia.com/rdp/cudnn-download
官方已经给出了cuda与cudnn搭配的建议。
我下载的是 cuDNN v7.4.2。在下图所示选择cuDNN Library for Linux,下载cudnn-9.0-linux-x64-v7.4.2.24.tgz
解压:
tar -xvf cudnn-9.0-linux-x64-v7.4.2.24.tgz
拷贝相关的库文件:
sudo cp include/cudnn.h /usr/local/cuda/include/
sudo cp lib64/libcudnn* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
删除文件原来的软链接:
cd /usr/local/cuda/lib64
sudo rm libcudnn.so libcudnn.so.7 //删除原来的链接
sudo ln -s libcudnn.so.7.4.2 libcudnn.so.7 //生成新的链接
sudo ln -s libcudnn.so.7 libcudnn.so
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
sudo ldconfig
Anaconda 是一个用于科学计算的 Python 发行版,支持 Linux, Mac, Windows, 包含了众多流行的科学计算、数据分析的 Python 包。
先去官方地址下载好对应的安装包
Ubuntu - anaconda 下载地址:https://www.anaconda.com/download/#linux
然后安装anaconda
bash ~/Downloads/Anaconda3-2020.02-Linux-x86_64.sh
anaconda会自动将环境变量添加到PATH里面,如果后面你发现输出conda提示没有该命令,那么你需要执行命令source ~/.bashrc
更新环境变量,就可以正常使用了。
如果发现这样还是没用,那么需要添加环境变量。
编辑~/.bashrc 文件,在最后面加上
export PATH=/home/bai/anaconda3/bin:$PATH
保存退出后执行:source ~/.bashrc
再次输入conda list测试看看,应该没有问题!
anaconda国内镜像配置
清华TUNA提供了 Anaconda 仓库的镜像,运行以下命令:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
即可添加 Anaconda Python 免费仓库。
创建tensorflow环境,环境名字可自己确定,这里本人使用tfgpu作为环境名:
conda create -n tfgpu python=3.7
备注:python的版本可自己选择。这里的python是安装在tfgpu环境下,不是Ubuntu自带的Python 2.7。
安装成功后激活tfgpu环境:
source activate tfgpu
在所创建的tfgpu环境下安装tensorflow的gpu版本, 执行命令:
conda install --channel https://conda.anaconda.org/anaconda tensorflow-gpu=1.9.0
备注:所安装的tensorflow-gpu版本号可自己确定,这里本人安装的是1.9.0。
如果tfgpu环境没有激活,运行下面的命令来启用TensorFlow 环境,
source activate tfgpu
运行下面的命令conda install ipython
以及conda install jupyter
安装jupyter notebook。
执行命令jupyter notebook
,打开一个新的Jupyter Notebook,输入一行import tensorflow as tf
并运行,如果没有出现任何错误,那么就安装成功了。
为了使用TensorFlow,需要在tfgpu环境下安装spyder:
conda install spyder
注意: 这里安装的jupyter notebook和spyder是安装在tfgpu环境下,不是Anaconda自带的jupyter notebook和spyder,这样它们才能使用TensorFlow。每次使用时,需要先激活tfgpu环境。
在tfgpu环境下安装Anaconda没有安装的数值计算和数据分析相关包。这部分的安装根据所要开发的任务需要来安装,例如:
conda install keras
conda install matplotlib
conda install scikit-learn
conda install h5py
conda install pillow
conda install -c menpo opencv3
conda install seaborn
此时,开发环境搭建完毕。开发中需要升级时可自行更新版本,如keras的版本等。
有关基于深度学习的计算机视觉技术的学习,可参考课程《基于深度学习的计算机视觉:原理与实践》。