zoukankan      html  css  js  c++  java
  • Ubuntu下快速配置Caffe

    Caffe安装

    实际上在windows上安装过多次caffe了,无论是BLVC版本的还是Microsoft版本的,ubuntu的按照也进行过,这段时间在自己笔记本上
    又折腾了下caffe安装,发现其实直接照着官方的是最方便快捷的。
    具体可以参照 Installation instructions

    具体步骤

    根据系统的不同,ubuntu分为两种安装方式。Ubuntu17.04以即上的可以直接apt-get

      sudo apt install caffe-cpu # cpu only
      sudo apt install caffe-cuda # gpu
    

    其他版本的ubuntu也可以分为两种方式安装,但是依赖项是必须的,本文仅介绍简易的软件源中快速安装。源码安装可以参考本人的另外一篇博客:ubunt16.04 cud8.0 caffe 安装

    Nvidia显卡驱动

    由于要使用GPU,所以先要查看自己显卡所匹配的显卡驱动,网址:nvidia ,下载run文件。
    由于目前显卡和cuda更新迅速,容易造成笔记本循环登录,因此安装显卡驱动是关闭图形界面。

      # ctrl +alt +F1 进入tty1,
      sudo service lightdm stop
      sudo ./Nvidia-.....run 执行安装
      sudo reboot
    

    Cuda和CuDnn

    安装较为简单,官网下载,在安装cuda是需要注意显卡安装选项选择no即可。

        sudo sh cuda_8.0.44_linux.run --override
        # 安装结束后
        sudo vim ~/.bashrc  //末尾添加
        export CUDA_HOME=/usr/local/cuda-8.0
        export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH
        export PATH=/usr/local/cuda-8.0/bin:$PATH
        source ~/.bashrc
    
        # 测试
        cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
        make -j32
        sudo ./deviceQuery
    

    cudnn下载后接下的include lib拷贝到cuda的安装路径,并设置链接。

       sudo ln -s libcudnn.so.xxx libcudnn
       sudo ln -s libcudnn.so.xx libcudd.so
       sudo ldconfig
    

    其他依赖项

    其他依赖项安装可以直接从软件源获取,当然也可以自己源码安装。

      # protobuf,snappy,leveldb,opencv,hdf5,boost ,python-opencv,glog ,gflag,lmdb
      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 python-dev python-opencv
      sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
    

    关于blas可以选择atlas,openblas和MKL,由于后续cmake方式安装默认atlas,所以本人也用次

      sudo apt-get install libatlas-base-dev
      # openblas也很方便
      sudo apt-get install libopenblas-dev
    

    Matlab的接口可以自己先安装matlab ,此处省略,同时python可以安装anconda来管理库

    安装

    Caffe

    下载BVLC的caffe

      git clone --recursive https://github.com/BVLC/caffe
    

    编译

    1.Make方式

    Make方式为官方的编译方式,但是在后续caffe的使用时会稍显麻烦,这里要注意根据安装的库以及自己是否使用gpu、cudnn以及bals的选择等作出修改

      cp Makefile.config.example Makefile.config
      # For CPU & GPU accelerated Caffe, no changes are needed.
      #For cuDNN acceleration using NVIDIA’s proprietary cuDNN software, uncomment the USE_CUDNN := 1 switch in #Makefile.config. cuDNN is sometimes but not always faster than Caffe’s GPU acceleration.
      #For CPU-only Caffe, uncomment CPU_ONLY := 1 in Makefile.config.
      # Adjust Makefile.config (for example, if using Anaconda Python, or if cuDNN is desired)
      make all -j8
      make test
      make runtest
    
    

    2.Cmake方式

    Cmake方式针对自己使用Caffe以及从软件源安装Caffe的用户来说简直不要更方便.

      mkdir build
      cd build
      cmake ..
      make all
      make install
      make runtest
    

    由于自己使用Caffe不仅仅是停留在训练,可能很多都要具体的测试实际的项目,因此相比于Make方式,Cmake的优势就大大体现出来了。具体例子可以在我的github上看到https://github.com/zhanglaplace/MTCNN-Accelerate-Onet
    编译自己的项目,仅仅需要写一个简单的CMakeLists.txt文件,并且文件内的内容可以保证百分之九十的不变,这使得验证算法和项目变得相当方便.(强烈推荐)

      cmake_minimum_required(VERSION 2.9)
      project(MTCNN_Accelerate-Onet)  // 根据自己工程名字修改
    
      #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
      set(CMAKE_CXX_STANDARD 11)
    
      find_package(OpenCV)
    
      find_package(Caffe REQUIRED)
      #message(FATAL_ERROR ${Caffe_INCLUDE_DIRS})
      include_directories(${Caffe_INCLUDE_DIRS})
    
      set(SOURCE_FILES main.cpp mtcnn.cpp mtcnn.h) // 根据自己实际源码修改
      add_executable(MTCNN_Accelerate-Onet ${SOURCE_FILES})
    
      target_link_libraries(MTCNN_Accelerate-Onet ${OpenCV_LIBS} )
      target_link_libraries(MTCNN_Accelerate-Onet ${Caffe_LIBRARIES})
    
    

    本文作者: 张峰
    本文链接:http://www.enjoyai.site/2017/11/21/InstallCaffe/
    版权声明: 本博客所有文章,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!

  • 相关阅读:
    错误error: Exception at 0x613baa14, code: 0xc0000005: read access violation at: 0x0, flags=0x0 (first chance)的解决办法
    android项目在eclipse下编译运行的问题
    关于Eigen库在Visual Studio2013中传参对齐报错问题
    实时控制软件设计大作业总结
    实时软件控制成员任务分配进度表
    实时控制软件设计第三次作业
    实时控制软件设计第二次作业
    实时软件控制设计第一次作业
    《构建之法:现代软件工程》第一章读书笔记
    组员名单
  • 原文地址:https://www.cnblogs.com/LaplaceAkuir/p/7879926.html
Copyright © 2011-2022 走看看