导航

从零开始系列-Caffe从入门到精通之一 环境搭建

Posted on 2017-05-22 20:21  bigdata大数据  阅读(5951)  评论(0编辑  收藏  举报

先介绍下电脑软硬件情况吧:

处理器:Intel® Core™ i5-2450M CPU @ 2.50GHz × 4

内存:4G

操作系统:Ubuntu Kylin(优麒麟) 16.04 LTS 64位

 

下面就是详细的安装过程(使用CPU,不使用GPU):

点击这里查看原文。


第一步:

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
出现问题:
无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)
....

解决办法:
ps  aux看有没有相关进程在运行,运气好的话也许等一会就好了。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
出现问题:
有几个软件包无法下载,要不运行 apt-get update 或者加上 --fix-missing 的选项再试试?

解决办法:
sudo apt-get update
重新sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


第二步

这里使用OpenBLAS
sudo apt-get install libopenblas-dev

第三步

下载caffe
git clone https://github.com/bvlc/caffe.git


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
出现问题:
提示git尚未安装。

解决办法:
sudo apt-get install git
重新git clone https://github.com/bvlc/caffe.git
(注意国内下载有些慢,需要等一些时间)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

第四步

修改配置文件


cd caffe
mv Makefile.config.example Makefile.config

打开Makefile.config文件

# CPU_ONLY := 1
改为
CPU_ONLY := 1


# BLAS choice:
# atlas for ATLAS (default)
# mkl for MKL
# open for OpenBlas
BLAS := atlas
改为
BLAS := open

 

第五步

开始编译(加速编译)

 

make -j
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
出现问题:

有错误,发现第一个问题与boost有关。

解决办法:
sudo apt-get install --no-install-recommends libboost-all-dev
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

再次 make -j
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
出现问题:
./include/caffe/util/db_lmdb.hpp:8:18: fatal error: lmdb.h: 没有那个文件或目录

解决办法:
sudo apt-get install liblmdb-dev
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

再次 make -j
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
出现问题:
src/caffe/layers/hdf5_output_layer.cpp:3:18: fatal error: hdf5.h: 没有那个文件或目录

解决办法:
将Makefile.config中的
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
改为
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

再次 make -j
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
出现问题:
tools/caffe.cpp:6:27: fatal error: gflags/gflags.h: 没有那个文件或目录

解决办法:
sudo apt-get install libgflags-dev
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

再次 make -j
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
出现问题:
./include/caffe/util/math_functions.hpp:7:26: fatal error: glog/logging.h: 没有那个文件或目录

解决办法:
sudo apt-get install libgoogle-glog-dev
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

再次 make -j

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

出现问题:

编译过程中死机了。

解决办法:

强制关机重启,不使用-j选项了。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

执行 make

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
出现问题:
AR -o .build_release/lib/libcaffe.a
LD -o .build_release/lib/libcaffe.so.1.0.0
/usr/bin/ld: 找不到 -lhdf5_hl
/usr/bin/ld: 找不到 -lhdf5
collect2: error: ld returned 1 exit status
Makefile:572: recipe for target '.build_release/lib/libcaffe.so.1.0.0' failed
make: *** [.build_release/lib/libcaffe.so.1.0.0] Error 1

解决办法:
sudo find / -name libhdf5.so
find: `/run/user/1000/gvfs': 权限不够
/usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5.so

于是将Makefile.config中的
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib
改为
LIBRARY_DIRS := $(PYTHON_LIB) /usr/lib/x86_64-linux-gnu/hdf5/serial /usr/local/lib /usr/lib
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
再次make
OK成功!

下一篇我们一起来运行手写体数字识别例程。

作者: bigdata大数据

出处: http://www.cnblogs.com/bigdata01/

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。 如有问题, 可邮件咨询。