前言
前幾天ubuntu服務器重新安裝了一下,在編譯安裝caffe時也沒有去先安裝那些依賴庫。純粹是先git clone代碼後直接開始編譯。當然編譯前需要修改下Makefile.config,具體可以參考前面一篇博客(https://blog.csdn.net/avideointerfaces/article/details/89111955)。
遇到的問題及其解決方法
在caffe編譯及其安裝時遇到的每個問題都列在下面。
1、fatal error: boost/shared_ptr.hpp: No such file or directory
sudo apt-get install libboost-all-dev
2、fatal error: gflags/gflags.h: No such file or directory
sudo apt-get install libgflags-dev
3、fatal error: glog/logging.h: No such file or directory
sudo apt-get install libgoogle-glog-dev
4 caffe/proto/caffe.pb.h: No such file or directory
sudo apt install protobuf-compiler
sudo apt install protobuf-c-compiler
5 fatal error: hdf5.h: No such file or directory
sudo apt install libhdf5-serial-dev
6 fatal error: google/protobuf/stubs/common.h: No such file or directory
sudo apt-get install libprotobuf-dev
7 fatal error: leveldb/db.h: No such file or directory
sudo apt-get install libleveldb-dev
8 fatal error: cblas.h: No such file or directory
sudo apt-get install libblas-dev
9 fatal error: lmdb.h: No such file or directory
sudo apt install liblmdb-dev
src/caffe/util/io.cpp:6:10: fatal error: opencv2/core/core.hpp: No such file or directory
src/caffe/util/io.cpp:76:34: error: ‘CV_LOAD_IMAGE_COLOR’ was not declared in this scope
注意,io.cpp裏面用的是opencv2/3語法,所以這裏的話就安裝opencv3。補充,caffe可以使用opencv4,不過需要修改io.cpp裏面代碼。
10 /usr/bin/ld: cannot find -lsnappy
sudo apt install libsnappy-dev
11 /usr/bin/ld: cannot find -lcblas
/usr/bin/ld: cannot find -latlas
sudo apt install libatlas-base-dev
12 python/caffe/_caffe.cpp:10:10: fatal error: numpy/arrayobject.h: No such file or directory
sudo apt-get install python2.7-numpy
調用caffe遇到的問題及其解決辦法
在python2.7裏面import caffe遇到的問題如下:
ImportError: No module named skimage.io
注意,sudo pip install scikit-image由於網絡的原因很難安裝成功,所以採用另外一個方法:sudo apt install python-skimage
No module named google.protobuf.internal
解決辦法:sudo apt-get install python-protobuf
至此就能在python2.7中import caffe成功。