天天看点

2021-01-28vmware虚拟机中ubuntu 16.04 caffe 安装

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