• 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-devlibhdf5-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

     

    编译

    然后进行编译

    make all -j32
    

    下边是测试:

     make test
    
     make runtest
    
  • 相关阅读:
    自我介绍 x
    第一次作业 x
    第二次作业 x
    第三次作业 x
    [C#] 用一种更优美的方式来替换掉又多又长的switchcase代码段
    通过设置光标形状实现拖拽控件时跟随一张透明图片的效果
    spring 入门笔记(一)
    PAT IO01. 表格输出(5)
    Maven 安装记
    华为机试 求最大三位数
  • 原文地址:https://www.cnblogs.com/jourluohua/p/9191322.html
Copyright © 2020-2023  润新知