- 心血来潮想玩玩caffe,看到官网的这句话果断就用了Ubuntu17.10
-
没错,如果你使用的是Ubuntu17.04以上的版本,那么安装caffe的时候只要
sudo apt install caffe-cpu
-
去GitHub上clone
git clone https://github.com/BVLC/caffe.git
-
打开你的caffe目录,cd caffe,将目录下的Makeflie.config.example文件后缀改掉,变成Makefile.config
cp Makefile.config.example Makefile.config
-
打开Makefile.config文件,将
CPU_ONLY := 1
-
这行代码前面的注释去掉,保存这个时候我以为就可以了,于是
make pycaffe
naive!虽然是偷懒的想法,但是Ubuntu17.10是新装的,什么都木有配置,编译过程中一定会出问题,该装的依赖还是要装上的,以下总结安装过程中遇到的部分问题和解决方法,部分文档来源于网络,毕竟我已经编译结束不想从头再来一遍= 。=
安装依赖
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 libgflags-dev libgoogle-glog-dev liblmdb-dev
以下是出现的问题以及解决方法:
-
1
./include/caffe/common.hpp:5:27: fatal error: gflags/gflags.h: No such file or directory
-
解决办法:
sudo apt-get install libgflags-dev
-
2
./include/caffe/util/mkl_alternate.hpp:14:19: fatal error: cblas.h: No such file or directory
-
解决办法:
sudo apt-get install libblas-dev
-
3
./include/caffe/util/hdf5.hpp:6:18: fatal error: hdf5.h: No such file or directory
-
解决办法:在Makefile.config找到以下行并添加蓝色部分
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial -
4
/usr/bin/ld: cannot find -lcblas
/usr/bin/ld: cannot find -latlas -
解决办法:
sudo apt install libatlas-base-dev
-
5
fatal error: numpy/arrayobject.h: No such file or directory
-
解决办法
sudo apt-get install python-numpy
- 总之缺什么装什么,缺pip就装pip,缺 protoc-c就安装protoc
最终编译成功