Caffe编译

由于组里项目的问题,需要安装CUDA,之前其他同学弄了一段时间,没有太多关注这些问题。最近才发现,Caffe安装并不正确,因此重新进行了安装。

按照Makefile中的说法,是还需要opencv3.2版本(但是好像没有也可以)

先不安装

依赖库的安装

装其他依赖库glog这个我之前已经验证过了,必须选项

sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
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 libopenblas-dev liblapack-dev libatlas-base-dev

修改Makefile.config

下边是重要的一项,将Makefile.config文件中的

#Whatever else you find you need goes here. 下面的

INCLUDE_DIRS:= $(PYTHON_INCLUDE) /usr/local/include

LIBRARY_DIRS:= $(PYTHON_LIB) /usr/local/lib /usr/lib

修改为:

INCLUDE_DIRS:= $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial

LIBRARY_DIRS:= $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/usr/lib/x86_64-linux-gnu/hdf5/serial      

这是因为Ubuntu16.04的文件包含位置发生了变化,尤其是需要用到的hdf5的位置,所以需要更改这一路径。

 

 修改Makefile文件

打开Makefile文件,做如下修改,将:

NVCCFLAGS += -ccbin=$(CXX)  -Xcompiler-fPIC $(COMMON_FLAGS)

替换为:

NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)

上边已经装过opencv了,如果后边还是报undefined reference to 'cv::imread‘这一类的问题,请重新安装一遍libopencv-dev库,并且将目录配置好

INCLUDE修改1

Makefile.config文件的第85行,添加/usr/include/hdf5/serial/  INCLUDE_DIRS,也就是把下面第一行代码改为第二行代码。

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/

 

INCLUDE修改2

Makefile文件的第173行,把 hdf5_hl hdf5修改为hdf5_serial_hl  hdf5_serial,也就是把下面第一行代码改为第二行代码。

LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5

LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial opencv_core opencv_highgui opencv_imgcodecs

 这里有一个问题,如果你安装的是opencv2的话,没有opencv_imgcodecs库,这里就不应该加(opencv_imgcodecs属于opencv3)。

编译

然后进行编译

make all -j32

下边是测试:

 make test

 make runtest

 

posted @ 2018-06-16 20:19  转换无极限  阅读(702)  评论(0编辑  收藏  举报