歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 深度學習框架Caffe在Ubuntu下編譯安裝

深度學習框架Caffe在Ubuntu下編譯安裝

日期:2017/2/28 13:50:59   编辑:Linux教程

深度學習框架Caffe特點,富有表達性、快速、模塊化。下面介紹Caffe如何在Ubuntu上編譯安裝。

1. 前提條件

安裝依賴的軟件包:

  • CUDA 用來使用GPU模式計算.
    • 建議使用 7.0 以上最新的版本
  • BLAS via ATLAS, MKL, or OpenBLAS.
  • Boost >= 1.55
  • protobuf, glog, gflags, hdf5

可選依賴軟件包:

  • OpenCV >= 2.4 including 3.0
  • IO libraries: lmdb, leveldb (note: leveldb requires snappy)
  • cuDNN for GPU acceleration (v3)

編程開發接口:

  Pycaffe 和 Matcaffe,各自有各自的要求:

  • For Python Caffe: Python 2.7 or Python 3.3+, numpy (>= 1.7), boost-provided boost.python
  • For MATLAB Caffe: MATLAB with the mex compiler

編譯版本:

  cuDNN Caffe:支持CUDA和cuDNN快速操作

  CPU-only Caffe:無CUDA支持,只使用CPU。可用於雲和集群部署。

2. 編譯

安裝依賴包(boost 和 protobuf, glog, gflags, hdf5):

1 sudo apt-get install libboost-all-dev libprotobuf-dev protobuf-compiler libhdf5-serial-dev libgflags-dev libgoogle-glog-dev

安裝依賴包(atlas):

1 sudo apt-get install libatlas-base-dev

安裝依賴包(CUDA):

  下載網址: CUDA

  CUDA有幾種安裝方式,由於文件比較大,國內有源,所以這裡選擇從網絡安裝。

  下載相應的安裝包,如我的是 cuda-repo-ubuntu1504_7.5-18_amd64.deb 。然後執行如下命令:

1 2 3 sudo dpkg -i cuda-repo-ubuntu1504_7.5-18_amd64.deb sudo apt-get update sudo apt-get install cuda

  設置LD_LIBRARY_PATH,最簡單的方式在你的 /etc/profile 或 ~/.bashrc 文件中添加如下語句:

    export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
  

  或者執行命令 sudo vi /etc/ld.so.conf.d/cuda.conf,在文件中添加如下內容:

    /usr/local/cuda/lib64

  然後再執行命令:

1 sudo ldconfig

安裝可選包(IO libraries: lmdb, leveldb (note: leveldb requires snappy) 和 opencv):

1 sudo apt-get install libleveldb-dev libsnappy-dev liblmdb-dev libopencv-dev

安裝CUDNN:

  下載網址:CUDNN (需要注冊申請,批准通過,才能下載)

  解壓縮下載文件,將 include 和 lib64 拷貝放置在 /usr/local/cuda 目錄下即可。

  執行如下命令修改鏈接文件:

1 2 3 4 cd /usr/local/cuda/lib64 rm -rf libcudnn.so libcudnn.so.4 ln -s libcudnn.so.4.0.4 libcudnn.so.4 ln -s libcudnn.so.4 libcudnn.so

獲取源代碼:

? 1 git clone git://github.com/BVLC/caffe.git

添加修改編譯配置:

? 1 cp Makefile.config.example Makefile.config<br>vi Makefile.config

  a. 啟用CUDNN,去掉"#"

    USE_CUDNN := 1

  b. 配置一些引用文件(增加部分主要是解決新版本下,HDF5的路徑問題)

    INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/lib/x86_64-linux-gnu/hdf5/serial/include

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

  c.啟用opencv3,如果你使用的 opencv >= 3.0.0

    OPENCV_VERSION := 3

    否則編譯時候會報錯 “ 對‘cv::imdecode(cv::_InputArray const&, int)’未定義的引用 ”

執行如下命令編譯: 

1 2 3 make all -j4 make test -j4 make runtest -j4
  • 要編譯使用cuDNN加速,在Makefile.config文件中,設置 USE_CUDNN := 1
  • 要編譯 CPU-only Caffe版本,在Makefile.config文件中,設置 CPU_ONLY := 1

  要編譯Python 和 MATLAB 封裝包,在分別各自使用 make pycaffemake matcaffe 命令編譯前,確定在 Makefile.config 文件中,設置好 MATLAB 和 Python的路徑。

  要安裝使用pycaffe,必須安裝相應的python依賴包,可進入python,並執行如下命令安裝:

1 for req in $(cat requirements.txt); do pip install $req; done

  注意: 在安裝python包時,可能會失敗,是由於缺少相應的cpp版本,比如我的機器安裝pyyaml失敗,於是執行命令安裝libyaml

1 sudo apt-get install libyaml-cpp-dev

  執行如下命令編譯 pycaffe:

1 make pycaffe -j4

  在安裝完成之後,如果想要導入caffePython模塊,則添加模塊路徑到你的環境變量 $PYTHONPATH 中。比如在你的~/.bashrc中添加如下一行:

    export PYTHONPATH=/path/to/caffe/python:$PYTHONPATH

3. 測試安裝

  下面通過運行mnist來驗證caffe已正常安裝:

1. 數據預處理

1 data/mnist/get_mnist.sh

2. 重建lmdb文件。Caffe支持多種數據格式輸入網絡,包括Image(.jpg, .png等),leveldb,lmdb,HDF5等,根據自己需要選擇不同輸入吧。

1 2 examples/mnist/create_mnist.sh

生成mnist-train-lmdb 和 mnist-train-lmdb文件夾,這裡包含了lmdb格式的數據集

3. 訓練mnist

1 examples/mnist/train_lenet.sh

Ubuntu 16.04下Matlab2014a+Anaconda2+OpenCV3.1+Caffe安裝 http://www.linuxidc.com/Linux/2016-07/132860.htm

Ubuntu 16.04系統下CUDA7.5配置Caffe教程 http://www.linuxidc.com/Linux/2016-07/132859.htm

Caffe在Ubuntu 14.04 64bit 下的安裝 http://www.linuxidc.com/Linux/2015-07/120449.htm

Caffe + Ubuntu 14.04 64bit + CUDA 6.5 配置說明 http://www.linuxidc.com/Linux/2015-04/116444.htm

更多Ubuntu相關信息見Ubuntu 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=2

Copyright © Linux教程網 All Rights Reserved