ubuntu16.04+cuda8.0+cudnn5.1+GPU配置教程
1、 安装Ubuntu16.04
2、 安装必要的依赖库
3、 安装cuda8.0
4、 安装cudnn5.1
5、 安装虚拟工作空间
6、 安装机器学习相关的库
7、 安装Tensorflow
8、 参考博客
1、安装Ubuntu16.04
http://blog.csdn.net/YaoyuT/article/details/78003061
网上教程比较详细不再累赘!
2、安装必要的依赖库
2.1由于在安装过程中需要安装NVIDIA GPU驱动,所以首先将系统的图形界面关闭,采用如下方法:
1. 关闭所有的应用程序
2. 按下ctrl + alt + F2 进入SSh终端
3. 输入用户名和密码登陆
4. Sudo service lightdm stop
5. 然后执行所有的其他安装操作
2.2 关闭图形界面之后开始安装依赖库
2.2.1更新升级
sudoapt-get update
sudo apt-get upgrade
2.2.2 安装依赖库
1 2 3 4 5 6 7 8 |
$ sudo apt-get install build-essential cmake git unzip pkg-config $ sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev $ sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev $ sudo apt-get install libxvidcore-dev libx264-dev $ sudo apt-get install libgtk-3-dev $ sudo apt-get install libhdf5-serial-dev graphviz $ sudo apt-get install libopenblas-dev libatlas-base-dev gfortran $ sudo apt-get install python-tk python3-tk python-imaging-tk |
|
|
2.2.3安装Python
sudo apt-getinstall python2.7-dev python3-dev
2.2.4 准备我系统以交换NVIDIA CUDA驱动程序的默认驱动程序
$ sudo apt-get install linux-image-genericlinux-image-extra-virtual
$ sudo apt-get install linux-source linux-headers-generic
3、安装CUDA8.0 开发工具
3.1 首先通过创建新文件来禁用Nouveau内核驱动程序:
sudo vi/etc/modprobe.d/blacklist-nouveau.conf
输入一下内容:
1. 3 4 5 |
blacklist nouveau blacklist lbm-nouveau options nouveau modeset=0 alias nouveau off alias lbm-nouveau off |
3.2 接下来我们来更新最初的RAM文件系统并重新启动机器:
$ echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf
$ sudo update-initramfs -u
$ sudo reboot
3.3 重启之后,然后使用Ubuntu软件更新NVIDIA 驱动
系统设置->软件更新->附加驱动->选择nvidia最新驱动(361)->应用更改
3.4更新驱动之后要再次按照步骤一中将图形界面关闭,然后执行安装步骤
3.4.1从官网下载cuda8.0,然后按照如下命令安装
$ chmod +x cuda_8.0.61_375.26_linux-run
$ mkdir installers
$ sudo ./cuda_8.0.61_375.26_linux-run -extract=`pwd`/installers
将解压出三个文件:NVIDIA-Linux-x86_64-375.26.run、cuda-linux64-rel-8.0.61-21551265.run、cuda-samples-linux-8.0.61-21551265.run
由于前面利用软件更新安装好了NVIDIA驱动,这里就不用再安装NVIDIA-Linux-x86_64-375.26.run了,要是安装的话会出现一些问题,以为这个驱动基本跟我们的GUP驱动不相匹配,安装了可能导致循环登陆的问题。
3.4.2 然后安装:cuda-linux64-rel-8.0.61-21551265.run和cuda-samples-linux-8.0.61-21551265.run
$ sudo ./cuda-linux64-rel-8.0.61-21551265.run
$ sudo./cuda-samples-linux-8.0.61-21551265.run
3.4.3 配置环境变量
在~/.bashrc 的最后添加如下配置参数:
# NVIDIA CUDA Toolkit
export PATH=/usr/local/cuda-8.0/bin:$PATH
exportLD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64/
3.4.4 检验cuda是否安装成功
$ source ~/.bashrc
$ cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
$ sudo make
$ ./deviceQuery
deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 8.0, CUDA Runtime Version = 8.0, NumDevs = 1, Device0 = GTX1060
Result = PASS
当出现 Result = PASS
表示安装OK!
4、 安装cuDNN5.1
同样的去官网下载cuDNN5.1
4.1 解压安装cuDNN5.1
$ cd ~
$ tar -zxf cudnn-8.0-linux-x64-v6.0.tgz
$ cd cuda
$ sudo cp -P lib64/* /usr/local/cuda/lib64/
$ sudo cp -P include/* /usr/local/cuda/include/
$ cd ~
4.2配置环境变量并修改库的属性
sudo chmod a+r/usr/local/cuda/include/cudnn.h/usr/local/cuda/lib64/libcudnn*
同样的在~/.bashrc中添加如下配置参数
exportLD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
exportCUDA_HOME=/usr/local/cuda
5、 安装python 虚拟环境
5.1安装pip
$ wgethttps://bootstrap.pypa.io/get-pip.py
$ sudopython get-pip.py
$ sudopython3 get-pip.py
5.2
$ sudo pipinstall virtualenv virtualenvwrapper
$ sudo rm-rf ~/.cache/pip get-pip.py
5.3 添加环境变量(~/.bashrc中)
#virtualenv and virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
exportVIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source/usr/local/bin/virtualenvwrapper.sh
5.4 创建python3的虚拟工作空间
mkvirtualenv dl4cv -p python3
5.5 在工作空间上编程
Workon dl4cv
当创建完了虚拟空间之后,一下安装的依赖库都在虚拟工作空间下安装
6、安装机器学习相关的依赖库
6.1 安装 numpy
pip install numpy
6.2 编译和安装opencv3.3
6.2.1 下载opencv3.3
$ cd ~
$ wget -O opencv.ziphttps://github.com/Itseez/opencv/archive/3.3.0.zip
$ wget -Oopencv_contrib.zip https://github.com/Itseez/opencv_contrib/archive/3.3.0.zip
6.2.2 解压
$ unzip opencv.zip
$ unzip opencv_contrib.zip
6.2.3 利用cmake编译
$ cd ~/opencv-3.3.0/
$ mkdir build
$ cd build
$ cmake -D CMAKE_BUILD_TYPE=RELEASE \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-D WITH_CUDA=OFF \
-DINSTALL_PYTHON_EXAMPLES=ON \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.3.0/modules\
-D BUILD_EXAMPLES=ON..
6.2.4 编译和安装opencv
make –j4
sudo make install
sudo ldconfig
6.2.5 创建opencv连接到python虚拟空间
$ cd~/.virtualenvs/dl4cv/lib/python3.5/site-packages/
$ ln -s /usr/local/lib/python3.5/site-packages/cv2.cpython-35m-x86_64-linux-gnu.socv2.so
$ cd ~
6.2.6 测试opencv
$ python
>>> import cv2
>>> cv2.__version__
'3.3.0'
6.3 安装
$pip install scipy matplotlib pillow
$ pip install imutils h5py requestsprogressbar2
$ pip install scikit-learn scikit-image
7、安装tensorflow
pip install tensorflow-gpu
7.1 测试安装是否成狗
$ python
>>> import tensorflow
>>>
中途出现几次错误
1. importError:libcusolver.so.8.0 :cannot open shared objectfile:no such file or dirtectory
解决方案:cuda 安装的路径配置不正确。在~/.bashrc文件中添加
export PATH=/usr/local/cuda-8.0/bin:$PATH
exportLD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64/
2. importError:libcudnn.so.6:cannot open shared object file:nosuch file or dirtectory
解决方法:因为我们安装的是cudnn 5.1所以可定是没有libcudnn.so.6这个库的,所以我们要创建一个libcudnn.so.6的软链接:
Sudo ln -s libcudnn.so.5.* libcudnn.so.6
https://stackoverflow.com/questions/42013316/after-building-tensorflow-from-source-seeing-libcudart-so-and-libcudnn-errors
3. undefined symbol:cudnnConvolutionBiasActivationForward
这个问题主要是因为安装的tensorflow-gpu的版本可能不匹配导致的
解决方法:https://github.com/tensorflow/tensorflow/issues/12326(可能要)
先卸载安装的tensorflow-gpu:sudo pip uninstall tensorflow-gpu
然后安装指定版本:sudopip install tensorflow-gpu==1.2.1 –upgrade –force-reinstall
7.2 安装keras
pip install keras
7.2.1 验证是否安装成功
$ python
>>> import keras
Using TensorFlow backend.
>>>
至此tensorflow-gpu配置完成!
8、 参考博客
1、http://blog.csdn.net/zhaoyu106/article/details/52793183
2、https://www.pyimagesearch.com/2017/09/27/setting-up-ubuntu-16.04-cuda-gpu-for-deep-learning-with-python/
3、http://blog.csdn.net/lyc_yongcai/article/details/73244388
4、http://blog.csdn.net/m0_37336333/article/details/76794709
5、http://blog.csdn.net/ssmixi/article/details/70477808