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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Bernice_lying

前言

      深度学习燎原之势势不可当,现在很多现场使用深度方法的比赛需要自行配置环境和caffe。为此,博主准备了如下Ubuntu16.04下的caffe安装教程(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.5 G++ 4.8.5 显卡驱动 NVIDIA-Linux-x86_64-375.66.run
CUDA 8.0 CuDNN 5.1 cmake 3.9.0
Anaconda2 4.3.1 OpenCV 2.4.9 protobuf-python-3.3.0
leveldb-1.9.0 google-snappy 1.1.6 boost_1_64_0
OpenBLAS-0.2.19 glog-0.3.3 gflags
lmdb Caffe-master(BLVC)  

具体版本细节如下:


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

深度学习环境配置Ubuntu16.04+CUDA8.0+CuDNN+Anaconda2+openCV2.4.9+caffe(全离线GPU版)_第1张图片深度学习环境配置Ubuntu16.04+CUDA8.0+CuDNN+Anaconda2+openCV2.4.9+caffe(全离线GPU版)_第2张图片

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


准备好了吗?下面就开始配置了!

使用快捷键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.so

Missingrecommended 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) */


版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Bernice_lying

你可能感兴趣的:(深度学习caffe配置)