Ubuntu Kylin 下安装Caffe
本文的安装目的:在虚拟机上只使用单个CPU能够把caffe运行起来。因此没有涉及GPU、python,matlab等相关内容,这此内容以后熟悉开发环境之后,再添加。
一、系统环境
截图如下:
主机是Winodws 10 64bit, 虚拟机软件vmware 9.0, 在虚拟机上安装的操作系统 是Ubutu Kylin15.10,如上图所示。
二、安装过程
参考1 安装过程主要参考《深度学习 21天实践caffe》 赵永科 著
参考2 官方参考网站 安装指导 http://caffe.berkeleyvision.org/installation.html
参考3 问题集合: https://github.com/BVLC/caffe/issues
1. 安装各种包
在控制台提示符下逐条输入如下命令:(命令可以直接从参考2上复制过来执行)
sudo apt-get update
sudo apt-get git
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install libatlas-base-dev
sudo apt-get install
python-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
2. 下载Caffe源码
继续输入如下命令:
git clone https://github.com/bvlc/caffe.git
cd caffe
mv Makefile.config.example Makefile.config
3. 继续安装各种包
以下各种包都是从参考1提供的云盘下载的,为了版权这里就不提供地址,以下情况默认都已经下载了。也可以自己找到下载。
这部分包全安装在 /home/sf/local_install 目录中,目录local_install,你需要首先创建。
3.1 安装protoBuffer
tar zxvf protobuf-2.5.0.tar.gz
cd protobuf-2.5.0.tar.gz
./configure --prefix=/home/sf/local_install 注意: 这里"="两边不能有空格
说明:
(1)上一条语句中sf是我的登录用户名,安装时根据自己的登录名进行修改。(2)而且这条语句表示把protoBuffer将安装到/home/sf/local_install目录下。
为了查看protoBuf是否安装成功,可以查看一下安装目录:
ls ~/local_install/bin
如果显示结果为 protoc,说明安装成功。
为了能在命令行下运行,需要执行如下命令,来设置环境变量:
export Path=/home/sf/local_install/bin/:$PATH
为了以后每次登录操作系统时能自动执行如下语句,可以将以上语句写入 /home/sf/.bashrc,可以使用gedit打开这个文件,注意这是一个隐藏文件。
以后还要在这个文件中加入其它语句,现在先它把列出来:
#for caffe by sf ,第一行是现在增加的,后面三行以后用到时加入
export PATH=~/local_install/bin/:$PATH
export LD_LIBRARY_PATH=/home/sf/local_install/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
export MKL_CBWR=AUTO
这里修改另一个重要的文件:caffe目录下的Makefile.config,,不是Makefile, 所要修改的语句,修改结果如下:
# CPU-only switch (uncomment to build without GPU support).
CPU_ONLY := 1
# Uncomment if you're using OpenCV 3
OPENCV_VERSION := 3
# BLAS choice:
# atlas for ATLAS (default)
# mkl for MKL
# open for OpenBlas 这部分《参考1》中使用OpenBlas,因为 本人在编译时,这部分一直出再错误,最终就使用默认的atlas。
BLAS := atlas
# Whatever else you find you need goes here.
INCLUDE_DIRS := /home/sf/local_install/include $(PYTHON_INCLUDE) /usr/local/include
LIBRARY_DIRS := /home/sf/local_install/lib $(PYTHON_LIB) /usr/local/lib /usr/lib
3.2 安装Boost
解压并运行:
tar jxvf boost_1_56_0.tar.bz2
cd boost_1_16_0
./bootstrap.sh --with-libraries=system,thread,python
./b2
生成的库需要手动复制到安装目录下:
cp -r boost/ /home/sf/local_install/include/
cp stage/lib/* /home/sf/local_install/lib/
3.3 安装 GFLAGS
unzip gflags-2.1.1.zip
cd gflags-2.1.1
mkdir build
cd build
cmake ..
ccmake ..
这时弹出CCMAKE配置界面
上图箭头为修改的后的内容。更改完毕后,输入按键C,表示configure,然后再输入按键g用于生成Makefile,并退出上图环境。
再输入以下命令 编译并安装:
make
make install
3.4 GLOG
tar zxvf glog-0.3.3.tar.gz
cd glog-0.3.3
./configure --prefix=/home/sf/local_install
make
make install
3.5 BLAS
按照《参考1》安装过程如下:
tar zxvf OpenBLAS-0.2.14.tar.gz
cd OpenBLAS-0.2.14
make
make PREFIX=/home/sf/local_install install
caffe目录下的Makefile文件,此文件中有一行默认情况如下:
BLAS:=atlas
如果使用OpenBLAS,则需要修改成如下:
BLAS:=open.
不过因为后面安装时我没有成功,所以就使用系统默认的 atlas
3.6 HDF5
tar zxvf hdf5-1.8.9.tar.gz
cd hdf-1.8.9
./configure --preifx =/home/sf/local_install
make -j
make install
3.7 OpenCV
unzip opencv-3.0.0.zip
cd opencv-3.0.0
mkdir build
cd build
cmake ..
ccmake ..
需要修改的如上图所示,然后分别按 c 、g键。生成Makefile文件,并退出。
再执行如下编译并安装:
make
sudo make install
3.8 LMDB和LEVELDB
如下是根据《参考1》提供的软件包进行的操作。如果自己从网上直接下载,则直接解压后然后make。
tar zxvf lmdb.tgz
然后后得到library目录,然后:
cd library
cd lmdb
make
然后,把lmdb.h 复制到/home/sf/local_install, 把liblmdb.so提制到/home/sf/local_install/lib下
下面安装 leveldb
tar zxvf leveldb-1.7.0.tar.gz
cd leveldb-1.7.0
make
cp -r include/leveldb /home/sf/local_install/include
cp libleveldb.so* /home/sf/local_install/lib
3.9 Snappy
tar zxvf snappy-1.1.1.tar.gz
cd snappy-1.1.1
./configure --prefix=/home/sf/local_install
make
make install
至此,安装完毕。最后,再检查一下3.1节所说的Makefile和Makefile.configure两个文件 需要进行修改,修改内容在3.1节已经做过。
4. 编译caffe
进行caffe目录下,然后执行如下命令:
make all -j8
make test
make runtest
5.说明
(1)如果需要重新完整编译Caffe,
则执行如下命令:
rm -rf ./build/*
make all -j8
(2) 遇到的问题,查找的解决方法 ,主要参考了以下帖子:
http://www.cnblogs.com/wangxiaocvpr/p/5200837.html
https://github.com/BVLC/caffe/issues/3109
https://github.com/BVLC/caffe/issues/2353
很多问题在这个网站都能找到解决方法:
https://github.com/BVLC/caffe/issues
http://issuehub.io/?label[]=multi-GPU
6 小结
安装Caffe主要涉及一些安装包的安装和三个文件的修改。本文所涉及的安装包是从《参考1》给出的网盘中下载。
各安装包的含义没有详细涉及,其含义可以从网上参考。