您的位置:首页 > Web前端

深度学习环境配置Ubuntu16.04+CUDA8.0+CuDNN+Anaconda2+openCV2.4.9+caffe(全离线GPU版)

2018-03-26 16:18 1136 查看
【[b]前言】[/b]
      深度学习燎原之势势必可当,之前博主在参加某比赛时被要求现场现搭caffe环境,面对的是一个只有Ubuntu16.04的电脑,其他什么都没有!还好博主之前有所准备,现在将安装教程GPU离线版整理,亲测在配有GTX960显卡的机器上可用。因为之前试验踩了不少坑,这次一并打包在安装过程中,若大家后续配置仍有问题,可在下面留言,咱们一起解决!
【参考】
1. https://blog.csdn.net/u010459819/article/details/53057171?locationNum=1&fps=1
2. http://blog.csdn.net/xuzhongxiong/article/details/52717285
3. http://blog.csdn.net/u012177034/article/details/52102676
【准备】
1、Ubuntu16.04 操作系统;
2、查好自己的电脑显卡型号,去NVIDIA GeForce官网: http://www.geforce.cn/drivers 查询可用的显卡驱动,下载下来备着;
3、本文caffe环境搭建所用的各种安装包版本(所需依赖或安装包大家可自行上各大网站搜索下载好)如下:

GCC 4.8.5G++ 4.8.5显卡驱动 NVIDIA-Linux-x86_64-375.66.run
CUDA 8.0CuDNN 5.1cmake 3.9.0
Anaconda2 4.3.1OpenCV 2.4.9protobuf-python-3.3.0
leveldb-1.9.0google-snappy 1.1.6boost_1_64_0
OpenBLAS-0.2.19glog-0.3.3gflags
lmdbCaffe-master(BLVC) 
具体版本细节如下:



这些建议放在Ubuntu16.04的/home/XX/ 目录下;
[b][b][b][b]





[/b][/b][/b][/b]
[b][b][b]后面这些包下载后,可以事先放在Ubuntu16.04的/home/XX/install_caffe文件夹里面,GCC/G++可以自己打个包放文件夹里,不然太凌乱了![/b][/b][/b]

准备好了吗?下面就开始配置了!
使用快捷键ctrl+alt+T打开终端,然后在终端输入出巴拉巴拉打命令了(我用$符号表示终端输入)!

【一、GCC & G++ 版本(可选)】
GCC:
1)安装
$sudo dpkg -i cpp-4.8_4.8.5-4ubuntu2_amd64.deb
$sudo dpkg -i gcc-4.8_4.8.5-4ubuntu2_amd64.deb
$sudo dpkg -i gcc-4.8-base_4.8.5-4ubuntu2_amd64.deb
$sudo dpkg -i libasan0_4.8.5-4ubuntu2_amd64.deb
$sudo dpkg -i libcloog-isl4_0.18.4-1_amd64.deb
$sudo dpkg -i libgcc-4.8-dev_4.8.5-4ubuntu2_amd64.deb
 
2)查看版本
$cd
$gcc -version
$ls /usr/bin/gcc*
 
3)更换版本
$sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8  100
$sudo update-alternatives --config gcc
 
G++:
1)安装
$sudo dpkg -i g++-4.8_4.8.5-4ubuntu2_amd64.deb
$sudo dpkg -i libstdc++-4.8-dev_4.8.5-4ubuntu2_amd64.deb
2)查看版本
$cd
$g++ --version
$ls /usr/bin/g++*
 
3)更换版本
$sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8  100
$sudo update-alternatives --config g++

【二、Ubuntu16.04 安装英伟达(Nvidia)显卡驱动】
参考:https://gist.github.com/dangbiao1991/7825db1d17df9231f4101f034ecd5a2b
**显卡型号** 
119: NVIDIA CorporationGM206 [GeForce GTX 960]
官方: TITAN X
(对应驱动查询网址http://www.geforce.cn/drivers)
可用驱动:NVIDIA-Linux-x86_64-375.66.run
查看显卡型号:$ lspci |grep -i nvidia
查看显卡驱动:$ lshw –c video
                     看driver项,nouveau即默认驱动,nvidia即英伟达显卡驱动
查看显卡驱动版本:$ cat /proc/driver/nvidia/version
 
#####1. 准备工作
*将驱动文件拷贝到待安装驱动的主机
在待安装驱动的主机上打开一个终端(Ctrl+Alt+T),或者直接切换到终端界面(Ctrl+Alt+F1),进行如下操作
*卸载可能存在的旧版本 nvidia 驱动(对没有安装过 nvidia 驱动的主机,这步可以省略,但推荐执行,无害)
              $sudo apt-get remove --purge nvidia*
*把 nouveau 驱动加入黑名单
              $sudo nano/etc/modprobe.d/blacklist-nouveau.conf
              在文件 blacklist-nouveau.conf 中加入如下内容:
              blacklist nouveau
              blacklist lbm-nouveau
              options nouveau modeset=0
              alias nouveau off
              alias lbm-nouveau off
              保存ctrl+O + enter + ctrl+X
*禁用 nouveau 内核模块
              $echo options nouveau modeset=0 |sudo tee -a /etc/modprobe.d/nouveau-kms.conf
              $sudo update-initramfs -u
*重启(reboot)
#####2. 运行驱动安装文件
*重启后再次 进入字符终端界面,并关闭图形界面
              $sudo service lightdm stop
*安装驱动
              $sudo chmod u+x NVIDIA-Linux-x86_64-375.66.run
              $sudo ./NVIDIA-Linux-x86_64-375.66.run
              获取权限、安装驱动、accept、continue installation
              可以进图形界面了
              $sudo service lightdm start
*重启
              $ reboot
#####3. 安装完毕
【三、cuda 8.0安装教程】
查看cuda版本:$ nvidia-cuda-mps-control –h
            或 $ nvcc -V
 
终端输入
$sudo sh cuda_8.0.61_375.26_linux.run --no-opengl-libs
然后一直按ENTER,直到出现问答。
会出现以下问答:
************************************************************
*Doyou accept the previously read EULA?
accept/decline/quit:    accept
 
*InstallNVIDIA Accelerated Graphics Driver for Linux-x86_64
361.62?(我们已经装了NVIDIA显卡驱动了,所以就选
(y)es/(n)o/(q)uit:         n
 
*Installthe CUDA 8.0 Toolkit?
(y)es/(n)o/(q)uit:         y
 
EnterToolkit Location
*[default is /usr/local/cuda-8.0 ]:
 
*Doyou want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit:         y
 
*Installthe CUDA 8.0 Samples?
(y)es/(n)o/(q)uit:         y
 
EnterCUDA Samples Location
*[default is /home/zhou ]:
 
Installingthe CUDA Toolkit in /usr/local/cuda-8.0 ...
Missingrecommended library: libGLU.soMissingrecommended library: libX11.so
Missingrecommended library: libXi.so
Missingrecommended library: libXmu.so
Installingthe CUDA Samples in /home/zhou ...
Copyingsamples to /home/zhou/NVIDIA_CUDA-8.0_Samples now...
Finishedcopying samples.
===========
=Summary =
===========
Driver:Not Selected
Toolkit:Installed in /usr/local/cuda-8.0
Samples:Installed in /home/zhou, but missing recommended
libraries
Pleasemake sure that
-PATH includes /usr/local/cuda-8.0/bin
-LD_LIBRARY_PATH includes /usr/local/cuda-8.0/lib64, or, add
/usr/local/cuda-8.0/lib64to /etc/ld.so.conf and run ldconfig as
root
Touninstall the CUDA Toolkit, run the uninstall script in
/usr/local/cuda-8.0/bin
Pleasesee CUDA_Installation_Guide_Linux.pdf in
/usr/local/cuda-8.0/doc/pdffor detailed information on setting up
CUDA.
***WARNING:Incomplete installation! This installation did not
installthe CUDA Driver. A driver of version at least 361.00 is
requiredfor CUDA 8.0 functionality to work.
Toinstall the driver using this installer, run the following
command,replacing with the name of this run file:
sudo.run -silent -driver
Logfileis /tmp/cuda_install_2961.log
******************************************************************
 
2)设置环境变量
在终端输入这两句:
export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH
 
然后修改文件中环境变量设置:
$sudo gedit /etc/profile
在文件底部输入上面 export 的两句,保存,退出:
export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH
 
$source /etc/profile
 
$sudo gedit /etc/ld.so.conf.d/cuda.conf
在文件中添加语句:
/usr/local/cuda/lib64
保存退出
 
$sudo ldconfig            //环境变量立即生效
$sudo reboot             //重启(可选)
 
3)验证安装是否完成
nvidia-smi
nvcc –V
显示:
nvcc-V nvcc: NVIDIA (R) Cuda compiler driver Copyright
(c)2005-2016
NVIDIACorporation Built on Wed_May__4_21:01:56_CDT_2016
 
4)测试 cuda 的 samples
cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
$sudo make
$./deviceQuery
显示GPU信息,则安装成功
【四、cudnn5.1安装教程】
查看cudnn已安装,$ mysql –help
              若有一串帮助提示即已装,没有就没装好
 
1)解压cudnn5.1压缩包
$tar -xvf cudnn-8.0-linux-x64-v5.1.tgz
 
显示以下信息:
*cuda/include/cudnn.h
cuda/lib64/libcudnn.so
cuda/lib64/libcudnn.so.5
cuda/lib64/libcudnn.so.5.1.10
cuda/lib64/libcudnn_static.a*
 
2)继续执行以下指令:
$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*
 
$cd /usr/local/cuda/lib64/
$sudo rm -rf libcudnn.so libcudnn.so.5     #删除原有动态文件
$sudo ln -s libcudnn.so.5.1.10 libcudnn.so.5 #生成软衔接
$sudo ln -s libcudnn.so.5 libcudnn.so      #生成软链接
 
3)验证一下
cuda的 samples 里面有个 deviceQuery 运行之后会显示信息,
$cd /usr/local/cuda/samples/1_Utilities/deviceQuery/
$./deviceQuery
最后一行出现result=pass 说明成功啦~~~~

【五、cmake-3.9.0安装教程】
查看版本:$ cmake --version
 
1)先把cmake-3.9.0.tar.gz copy到install_caffe/下
$tar -xvf cmake-3.9.0.tar.gz
$cd cmake-3.9.0/
$./configure
$make
$sudo make install
【六、Anaconda2安装教程】
1)安装
$bash Anaconda2-4.3.1-Linux-x86_64.sh
按ENTER直到出现yes/no,
同意条框,        yes
安装在这个目录下,ENTER
是否加入环境变量, yes (这里手要快点,不然跳过了,这里yes的下一步2)就不用做了)
$source .bashrc
 
2)添加环境变量
$sudo gedit .bashrc (路径应是在/home/neu_math/.bashrc)
添加库文件(路径根据安装地点决定):
export LD_LIBRARY_PATH=/home/XX/anaconda2/lib:$ LD_LIBRARY_PATH
export LD_LIBRARY_PATH
保存退出
$source .bashrc
 
3)验证一下
$python
会出现python和anaconda版本信息
$ipython
就可以看到python版本,并可以运用了

4)坑点,很多博客就到上面就结束了。但有时候系统调不到anaconda2的python2.7,因此我们需要做下面的事:

$cd
$ sudo gedit .bashrc
文件底部添加
export CPLUS_INCLUDE_PATH=/home/XX/anaconda2/include/python2.7/:$CPLUS_INCLUDE_PATH
保存退出
$source .bashrc

5)坑点,若没做以下步骤,后续会报错类似下面这样:
ImportError: /home/XX/anaconda2/../lib/libstdc++.so.6: version `GLIBCXX_3.4.21' not found
这时候,我们需要:

$sudo find / -name “libstdc++.so*”
找到/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
$cd /home/XX/anaconda2/lib/
$mkdir libori
$mv libstdc++.so* libori
$sudo cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21 /home/XX/anaconda2/lib/
$ln -s libstdc++.so.6.0.21 libstdc++.so.6
$ln -s libstdc++.so.6 libstdc++.so

【七、opencv2.4.9 安装教程】
坑点:opencv的安装一定要在Anaconda2之后!!!!因为要接上它的python

查看版本:$ pkg-config –modversion opencv
 
1)把opencv-2.4.9-mypack.zip压缩包copy到指定文件夹/install_caffe/
$cd /install_caffe/
$unzip opencv-2.4.9.zip
 
2)编译
$cd opencv-2.4.9

$mkdir build
$cd build
 
*****************
#GPU版
$cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -DCUDA_GENERATION=Kepler ..
 
#CPU版
$cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
*****************
 #下面 -j几都随意,看自己电脑支持多少了 如 2 4 8 16 32
$make -j2
$sudo make install
 
3)
$sudo sh -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
$ sudo ldconfig

【八、Caffe依赖项安装配置(离线条件下)】
1. protobuf3.3.0安装教程
1)解压protobuf-python-3.3.0.zip
$unzip protobuf-python-3.3.0.zip
 
2)
$cd protobuf-3.3.0
$./configure
$make
$sudo make install
 
$cd python
$python setup.py build
$python setup.py test
 
$sudo gedit /etc/ld.so.conf
添加:/usr/local/lib
$sudo ldconfig
 
3)查看版本
$protoc --version
 
2. leveldb-1.9.0安装教程
1)解压leveldb-1.9.0.tar.gz
$tar -xvf leveldb-1.9.0.tar.gz
 
2)
$cd leveldb-1.9.0
$ make
$sudo mv libleveldb.* /usr/local/lib
$cd include
$sudo cp -R leveldb /usr/local/include
$sudo ldconfig
 
3. snappy安装教程
1)解压
$tar -xvf google-snappy-1.1.6-0-g548501c.tar.gz
 
2)
$cd google-snappy-548501c
$mkdir build
$cd build && cmake ../ && make
 
3)坑点,很多博客到上面就为止了,但是后续配置caffe时可能会报错,跟snappy有关,报错内容大概是找不到的.so....文件问题,这时候需要做下面的事:

$sudo cp install_caffe/google-snappy-548501c/build/libsnappy.so* /usr/local/lib/

4. boost_1_64_0安装教程
1)解压
$tar -xvf boost_1_64_0.tar.bz2
 
2)编译
$cd boost_1_64_0
$./bootstrap.sh
$./b2
$sudo ./b2 install
 
5. OpenBLAS-0.2.19安装教程
1)解压OpenBLAS-0.2.19.zip
$unzip OpenBLAS-0.2.19.zip
 
2)编译
$cd OpenBLAS-0.2.19
$make -j 8
$sudo make PREFIX=/usr/local/OpenBLAS install
 
3)添加环境变量
一个是:
$sudo gedit /etc/profile
末尾添加:
export LD_LIBRARY_PATH=/usr/local/OpenBLAS/lib/:$LD_LIBRARY_PATH
然后
$source /etc/profile
 
4)可在环境变量中设置OpenBLAS所使用的CPU线程数
$export OPENBLAS_NUM_THREADS=4
 
注:修改Caffe配置文件以下几行
#open for OpenBlas
BLAS:= open
#Custom (MKL/ATLAS/OpenBLAS) include and lib directories.
#Leave commented to accept the defaults for your choice of BLAS
#(which should work)!
BLAS_INCLUDE:= /usr/local/OpenBLAS/include
BLAS_LIB:= /usr/local/OpenBLAS/lib
 
6. glog+gflags+lmdb安装教程
###glog
$tar zxvf glog-0.3.3.tar.gz
$cd glog-0.3.3
$./configure
$make
$sudo make install
 
###gflags
$unzip gflags-master.zip
$cd gflags-master
$mkdir build
$cd build
$export CXXFLAGS="-fPIC" && cmake .. && make VERBOSE=1
$make
$sudo make install
 
###lmdb
$unzip lmdb-mdb.master.zip
$cd lmdb-mdb.master/libraries/liblmdb
$make
$sudo make install

【九、Caffe编译】

1)编译前检查一下:

确认ld.so.conf文件是否有3个export
/usr/local/lib
/usr/local/OpenBLAS/lib
/home/XX/anaconda2/lib

2) 编译
$ cd caffe
$ make clean
$ make –j8
$ make test
$ make runtest
$ make pycaffe
 
3)如果要用OpenCV,要装个接口才能用~
$ pip install opencv_python-3.2.0.8

到这里就结束啦,祝大家配置顺利,有问题请在下方留言哦!

/* 文档是本地编辑完复制上来的,第一版有许多命令里的空格丢了,现已补上。              (2018.03.30) */
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐