版权声明:本文为博主原创文章,未经博主允许不得转载。 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的/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