caffe环境准备(CentOS)
caffe安装
1.安装通用依赖:
yum install protobuf-devel leveldb-devel snappy-devel opencv-devel boost-devel hdf5-devel atlas-devel
2.下载CAFFE源码:
git clone https://github.com/bvlc/caffe.git
cd caffe
mv Makefile.config.example Makefile.config
3.剩余依赖安装:
#glog的安装
git clone https://github.com/google/glog
yum install autoconf automake libtool
cd glog-master
./autogen.sh
./configure
make
make install
#gflags的安装
git clone https://github.com/gflags/gflags
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
4.编译caffe:
修改caffe/Makefile.config文件,将CPU_ONLY选项打开,CPU_ONLY:=1
make
遇到的问题
1.make: *** [.build_release/src/caffe/layers/hdf5_data_layer.o] 错误 1
错误1解决方法:上述问题是caffe的编译环境找不到hdf5.h所致,将你caffe目录的Makefile.config文件内容修改,INCLUDE_DIRS:=$(PYTHON_INCLUDE) /usr/local/include处,改为INCLUDE_DIRS:=$(PYTHON_INCLUDE) /usr/local/hdf5/include/(为你hdf5安装目录的include路径),重新编译:make clean;make。
2.make: *** [.build_release/src/caffe/util/db.o] 错误 1
错误2解决方法:上述问题是caffe的编译环境找不到leveldb/db.h所致,将你leveldb安装目录下的include/leveldb文件夹拷贝到你本地安装目录下的include目录下,我的是/usr/local/include/,再将你leveldb安装目录下的libleveldb.so*拷贝到你本地安装目录下的lib目录下,我的是/usr/local/lib/,重新编译,命令如下:
cp -r include/leveldb /usr/local/include/
cp ./libleveldb.so* /usr/local/lib/
make clean
make
3.make: *** [.build_release/lib/libcaffe.so.1.0.0] 错误 1
错误3解决方法:上述问题是caffe的编译环境找不到hdf5相关的库文件和OpenBLAS相关的库文件所致,将你hdf5安装目录下的lib目录下的libhdf5.so*文件和libhdf5_hl.so*文件拷贝到你本地安装目录下的lib目录下,我的是/usr/local/lib/。再将你caffe目录的Makefile.config文件内容修改。修改如下:
修改结果BLAS := open
BLAS_INCLUDE := (OpenBLAS安装目录/include)
BLAS_LIB := (OpenBLAS安装目录/lib)
重新编译:make clean;make。
编译总结
解决了上述问题,我的caffe就编译完了,其实上述遇到的问题都是找不到相关依赖文件的问题,总的来说,就是想办法让caffe将依赖的文件可以全部找到就好(Makefile.config里面配置就好)
测试
编译,测试运行代码:
完美编译完成export LD_LIBRARY_PATH=/home/weipengfei/installPath/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
make test
make runtest
以上所述如有不妥,恳请大家指正。
联系方式:QQ编程学习乐园群:624108656
群二维码