下载官网caffe
git clone https://github.com/BVLC/caffe/
1.安装依赖项,与官网一致
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
2.安装
cd caffe
mkdir build && cd build
cmake ..
make -j4
若是提示 -stdlib=libstdc++ 做如下改变:
将set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ") 改为
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libstdc++")
基本能编译到80%多了,但是这时可能会报一堆link错误。
有可能是libgflag,libopencv,libprotobuf,LMDB,libglog等等,我看查看一下cmake文件夹下的dependencies.cmake,全都是里面的。这时可以先将上面sudo apt方法安装的依赖项删除再次安装一次,看是否消除。
这几个坑,我都有遇到,但是没有及时记录,下次遇到再截图了。
若上述方法不管用,則將有问题的sudo apt 安装的依赖项删除。
先按官网
http://caffe.berkeleyvision.org/install_apt.html
将 # glog # gflags # lmdb 装好。
# glog
wget https://github.com/google/glog/archive/v0.3.3.tar.gz
tar zxvf v0.3.3.tar.gz
cd glog-0.3.3
./configure
make && make install
# gflags
wget https://github.com/schuhschuh/gflags/archive/master.zip
unzip master.zip
cd gflags-master
mkdir build && cd build
export CXXFLAGS="-fPIC" && cmake .. && make VERBOSE=1
make && make install
# lmdb
git clone https://github.com/LMDB/lmdb
cd lmdb/libraries/liblmdb
make && make install
最后将opencv3.4.0 libprotobuf3.6.1安装好,按软件里的方法安装就好。
再次编译caffe记得sudo ldconfig
有的时候,就是安装了,可是caffe就是找不到,可能路径安装不对。
基本这些问题都解决掉,caffe也就安装好了,默认是安装的gpu版本。
-- BLAS : Yes (Atlas)
-- Boost : Yes (ver. 1.58)
-- glog : Yes
-- gflags : Yes
-- protobuf : Yes (ver. 3.6.1)
-- lmdb : Yes (ver. 0.9.70)
-- LevelDB : Yes (ver. 1.18)
-- Snappy : Yes (ver. 1.1.3)
-- OpenCV : Yes (ver. 3.4.0)
-- CUDA : Yes (ver. 9.0)