从零开始系列-Caffe从入门到精通之一 环境搭建
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从零开始系列-Caffe从入门到精通之一 环境搭建相关的知识,希望对你有一定的参考价值。
先介绍下电脑软硬件情况吧:
处理器: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/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。 如有问题, 可邮件咨询。
以上是关于从零开始系列-Caffe从入门到精通之一 环境搭建的主要内容,如果未能解决你的问题,请参考以下文章
Cassandra数据库从入门到精通系列之一:认识Cassandra数据库