vmware虚拟机中ubuntu 16.04 caffe 安装
简单介绍一下本次安装过程中的步骤以及编译出现的问题:
1.安装caffe依赖项:
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 libatlas-base-dev libopenblas-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
2.下载caffe源码
git clone https://github.com/BVLC/caffe.git
3.编译caffe
3.1 进入caffe目录
cd caffe/
3.2 生成Makefile.config文件:
cp Makefile.config.example Makefile.config
3.3 修改Makefile.config中的配置:
a.编辑Makefile.config:
vi Makefile.config
由于虚拟机无法使用GPU来跑数据,故修改为CPU模式,去掉CPU_ONLY前的#号
配置引用文件路径:
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial /usr/include/opencv4/
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial
b.执行编译
make all
make test
make runtest
4:编译失败问题的解决
4.1 ‘CV_LOAD_IMAGE_COLOR’ was not declared in this scope
原因:opencv版本问题,opencv4版本有些变量名已经变了
解决:找到对应的报错文件进行如下的修改
将CV_LOAD_IMAGE_COLOR 改成 cv::IMREAD_COLOR
将CV_LOAD_IMAGE_GRAYSCALE 改成 cv::IMREAD_GRAYSCALE
注意:修改完成后最好 make clean ;然后再make all.
4.2 .build_release/lib/libcaffe.so: undefined reference to `cv::imread(cv::String const&, int)'
原因:默认编译时,opencv3是不打开的,会少opencv_imgproc.
解决:1.将Makefile.config中OPENCV_VERSION := 3取消注释;
2.Makefile文件中,找到LIBRARIES(在PYTHON_LIBRARIES := boost_python python2.7 前一行)
LIBRARIES += glog gflags protobuf leveldb snappy lmdb boost_system hdf5_hl hdf5 m opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs