1. 程式人生 > >Ubuntu 16.04 安裝 Caffe

Ubuntu 16.04 安裝 Caffe

前言

Caffe的安裝大體分為5個步驟:參考地址

  • 安裝 CUDA 和 cuDNN
  • 安裝軟體 Python 和 Matlab
  • 安裝依賴
  • 編譯 Caffe,pycaffe 和 matcaffe
  • 路徑設定

安裝 CUDA 和 cuDNN

安裝 CUDA 參考地址 下載地址

  • Verify You Have a CUDA-Capable GPU: lspci | grep -i nvidia
  • Verify You Have a Supported Version of Linux: uname -m && cat /etc/*release
  • Verify the System Has gcc Installed: gcc --version
  • Verify the System has the Correct Kernel Headers and Development Packages Installed: uname -r,sudo apt-get install linux-headers-$(uname -r)
  • Create a file at /etc/modprobe.d/blacklist-nouveau.conf with the following contents:
    blacklist nouveau
    options nouveau modeset=0
  • Regenerate the kernel initramfs: sudo update-initramfs -u
  • Reboot into text mode (runlevel 3): systemctl set-default runlevel3.target
  • 重啟reboot
  • 確認nouveau被遮蔽:lsmod | grep nouveau,無輸出則被遮蔽
  • 安裝:sh cuda_8.0.61_375.26_linux.run,examples路徑設定為:/usr/local/cuda-8.0
  • 進入影象介面 systemctl set-default runlevel5.target
  • 重啟:reboot
  • 檢視顯示卡:cat /proc/driver/nvidia/version
  • 編譯示例:cd /usr/local/cuda-8.0/NVIDIA_CUDA-8.0_Samples/

    make
  • 新增PATH路徑:vim /etc/profile
    #CUDA
    export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
    . /etc/profile
  • 新增動態連結庫:vim /etc/ld.so.conf
    #CUDA
    /usr/local/cuda-8.0/lib64
  • 編譯例子 cd /usr/local/cuda-8.0/NVIDIA_CUDA-8.0_Samples
    make
  • 檢驗安裝結果:cd 1_Utilities/deviceQuery
    ./deviceQuery

    若出現下列結果,則安裝成功
./deviceQuery Starting...
CUDA Device Query (Runtime API) version (CUDART static linking)
Detected 1 CUDA Capable device(s)
Device 0: "GeForce GT 740"
  CUDA Driver Version / Runtime Version          8.0 / 8.0
  CUDA Capability Major/Minor version number:    3.0
  Total amount of global memory:                 974 MBytes (1021706240 bytes)
  ( 2) Multiprocessors, (192) CUDA Cores/MP:     384 CUDA Cores
  GPU Max Clock rate:                            993 MHz (0.99 GHz)
  Memory Clock rate:                             2500 Mhz
  Memory Bus Width:                              128-bit
  L2 Cache Size:                                 262144 bytes
  Maximum Texture Dimension Size (x,y,z)         1D=(65536), 2D=(65536, 65536), 3D=(4096, 4096, 4096)
  Maximum Layered 1D Texture Size, (num) layers  1D=(16384), 2048 layers
  Maximum Layered 2D Texture Size, (num) layers  2D=(16384, 16384), 2048 layers
  Total amount of constant memory:               65536 bytes
  Total amount of shared memory per block:       49152 bytes
  Total number of registers available per block: 65536
  Warp size:                                     32
  Maximum number of threads per multiprocessor:  2048
  Maximum number of threads per block:           1024
  Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
  Max dimension size of a grid size    (x,y,z): (2147483647, 65535, 65535)
  Maximum memory pitch:                          2147483647 bytes
  Texture alignment:                             512 bytes
  Concurrent copy and kernel execution:          Yes with 1 copy engine(s)
  Run time limit on kernels:                     Yes
  Integrated GPU sharing Host Memory:            No
  Support host page-locked memory mapping:       Yes
  Alignment requirement for Surfaces:            Yes
  Device has ECC support:                        Disabled
  Device supports Unified Addressing (UVA):      Yes
  Device PCI Domain ID / Bus ID / location ID:   0 / 1 / 0
  Compute Mode:
     < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >
deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 8.0, CUDA Runtime Version = 8.0, NumDevs = 1, Device0 = GeForce GT 740
Result = PASS

安裝 cuDNN

下載地址

  • 解壓下載檔案
    tar -zxvf cudnn-8.0-linux-x64-v5.1.tgz
  • 拷貝檔案到相應路徑
    sudo cp cuda/include/cudnn.h /usr/local/cuda-8.0/include
    sudo cp cuda/lib64/libcudnn* /usr/local/cuda-8.0/lib64

安裝軟體 Python 和 Matlab

安裝 Python

Ubuntu 16.04 自帶Python2和Python3想用哪個版本都可以,這裡就不介紹Python的安裝了

安裝Matlab

  • 拷貝安裝檔案到硬碟
  • 修改安裝檔案許可權chmod -R +777 R2015b_glnxa64
  • 執行安裝程式cd R2015_glnxa64 sudo ./install
  • 選擇不聯網安裝,序列號為09806-07443-53955-64350-21751-41297,若安裝Matlab Production Server,使用40236-45817-26714-51426-39281
  • 拷貝破解檔案sudo cp R2015b/bin/glnxa64/* /usr/local/MATLAB/R2015b/bin/glnxa64/
  • 啟用cd /usr/local/MATLAB/R2015b/binsudo ./matlab,選擇standalone進行啟用
  • 建立快捷方式, sudo vim /usr/share/applications/matlab.desktop輸入下列內容:
[Desktop Entry]
Encoding=UTF-8
Name=Matlab R2015b
Exec=/usr/local/MATLAB/R2015b/bin/matlab -desktop
Icon=/usr/local/MATLAB/R2015b/toolbox/shared/dastudio/resources/MatlabIcon.png
Terminal=false
Type=Application
Categories=Development;IDE;
Name[zh_CN]=Matlab R2015b
  • 注意剛安裝完執行時可能遇到兩個問題:
    1.啟動時終端顯示matlab is selecting software opengl rendering,執行imshow() 會提示錯誤,原因是沒安裝顯示卡驅動,所以要最好先安裝CUDA,再安裝Matlab
    2.用快捷方式啟動Matlab時,畫面卡住不動,而且在終端不用root許可權執行matlab時會出錯,解決辦法:
    sudo chmod a+w -R /home/sibo/.matlab

安裝依賴

General dependencie

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

BLAS

sudo apt-get install libatlas-base-dev

Python headers

apt-get install python3-dev

編譯 Caffe,pycaffe 和 matcaffe

編譯Caffe

  • 解壓檔案
    cd /usr/local
    unzip /media/sibo/UUI/軟體/caffe-master.zip
  • 修改Python依賴包
    cd caffe-master/python
    vim requirements.txt

    內容修改為
    Cython
    numpy==1.11.0
    scipy
    scikit-image
    matplotlib
    ipython
    h5py
    leveldb
    networkx
    nose
    pandas
    python-dateutil
    protobuf
    python-gflags
    pyyaml
    Pillow
    six
  • 安裝Python包
    sudo apt-get install python3-pip
    pip3 install --upgrade pip
    for i in $(cat requirements.txt); do sudo pip3 install $i; done
  • 複製配置檔案cp Makefile.config.example Makefile.config
  • 修改配置檔案
USE_CUDNN := 1
CUDA_DIR := /usr/local/cuda-8.0
BLAS := atlas
MATLAB_DIR := /usr/local/MATLAB/R2015b
PYTHON_LIBRARIES := boost_python3 python3.5m
PYTHON_INCLUDE := /usr/include/python3.5m \
                 /usr/local/lib/python3.5/dist-packages/numpy/core/include
PYTHON_LIB := /usr/lib/python3.5/config-3.5m-x86_64-linux-gnu
WITH_PYTHON_LAYER := 1
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib
BUILD_DIR := build
DISTRIBUTE_DIR := distribute
TEST_GPUID := 0
  • 編譯make all
    出現錯誤:fatal error: gflags/gflags.h: 沒有那個檔案或目錄
    解決辦法:apt-get install libgflags-dev
    出現錯誤:fatal error: glog/logging.h: 沒有那個檔案或目錄
    解決辦法:apt-get install libgoogle-glog-dev
    出現錯誤:fatal error: hdf5.h: 沒有那個檔案或目錄
    解決辦法:vim Makefile.config 新增
    INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include \
    /usr/include/hdf5/serial

    出現錯誤:fatal error: lmdb.h: 沒有那個檔案或目錄
    解決辦法:apt-get install liblmdb-dev
    出現錯誤:/usr/bin/ld: 找不到 -lhdf5_hl
    /usr/bin/ld: 找不到 -lhdf5
    /usr/bin/ld: 找不到 -lboost_python3

    解決辦法:vim Makefile.config 新增
    LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib \
    /usr/lib/x86_64-linux-gnu/hdf5/serial \
    /usr/lib/x86_64-linux-gnu

    cd /usr/lib/x86_64-linux-gnu/
    ln -s libboost_python-py35.so libboost_python3.so
  • make test, make runtest
  • make pycaffe
  • 修改python測試命令
    vim /usr/local/caffe-master/Makefile

    pytest: py
    cd python; python -m unittest discover -s caffe/test
    修改為
    pytest: py
    cd python; python3 -m unittest discover -s caffe/test
    
    make pytest
  • make matcaffe
    make mattest
    出現錯誤:Invalid MEX-file '/usr/local/caffe-master/matlab/+caffe/private/caffe_.mexa64':
    /usr/local/MATLAB/R2015b/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.6: version
    GLIBCXX_3.4.20’
    not found `
    解決辦法:
cd /usr/local/MATLAB/R2015b/sys/os/glnxa64/
mv libstdc++.so.6 libstdc++.so.6.bak
ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 libstdc++.so.6

出現錯誤:caffe_.mexa64: undefined symbol:
_ZN2cv8imencodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_11_InputArrayERSt6vectorIhSaIhEERKSB_IiSaIiEE

原因是caffe在編譯的時候用的是系統的opencv庫,而Matlab軟體用的是自己的opencv庫,所以有衝突
解決辦法:參考地址

root@sibo-All-Series:/usr/local/caffe-master# cd /usr/local/MATLAB/R2015b/bin/glnxa64/
root@sibo-All-Series:/usr/local/MATLAB/R2015b/bin/glnxa64# mv libopencv_imgproc.so.2.4 libopencv_imgproc.so.2.4.bak
root@sibo-All-Series:/usr/local/MATLAB/R2015b/bin/glnxa64# mv libopencv_highgui.so.2.4 libopencv_highgui.so.2.4.bak
root@sibo-All-Series:/usr/local/MATLAB/R2015b/bin/glnxa64# mv libopencv_core.so.2.4 libopencv_core.so.2.4.bak
root@sibo-All-Series:/usr/local/MATLAB/R2015b/bin/glnxa64# ln -s /usr/lib/x86_64-linux-gnu/libopencv_core.so.2.4.9 libopencv_core.so.2.4
root@sibo-All-Series:/usr/local/MATLAB/R2015b/bin/glnxa64# ln -s /usr/lib/x86_64-linux-gnu/libopencv_highgui.so.2.4.9 libopencv_highgui.so.2.4
root@sibo-All-Series:/usr/local/MATLAB/R2015b/bin/glnxa64# ln -s /usr/lib/x86_64-linux-gnu/libopencv_imgproc.so.2.4.9 libopencv_imgproc.so.2.4

設定路徑

  • 對於Python

    vim /home/sibo/.bashrc
    # caffe
    export PYTHONPATH=/usr/local/caffe-master/python${PYTHONPATH:+:${PYTHONPATH}}
    . /home/sibo/.bashrc
  • 對於Matlab
    編寫程式前將新增路徑
    addpath /usr/local/caffe-master/matlab

相關推薦

Ubuntu 16.04 安裝 Caffe

前言 Caffe的安裝大體分為5個步驟:參考地址 安裝 CUDA 和 cuDNN 安裝軟體 Python 和 Matlab 安裝依賴 編譯 Caffe,pycaffe 和 matcaffe 路徑設定 安裝 CUDA 和 cuDNN 安裝 CU

Ubuntu 16.04 安裝CUDA8.0+Cudnn6.0+TensorFlow+Caffe安裝

參考部落格: Ubuntu16.04 Caffe 安裝步驟記錄(超詳盡):http://blog.csdn.net/yhaolpz/article/details/71375762 ubuntu16.04安裝caffe:http://blog.csdn.net/u011272513/ar

ubuntu 16.04 安裝PhpMyAdmin

apt-get min tex server apache2 pac tle 賬號 pre 首先,安裝MySQL $ sudo apt-get install mysql-server $ sudo apt-get install mysql-client 安裝時輸出roo

ubuntu 16.04 安裝lamp

ubuntu安裝lamp lamp lamp安裝 sudo apt-get install apache2apache2 -vsudo apt-get install php7.0php7.0 -vsudo apt-get install libapache2-mod-php7.0cat /etc

Ubuntu 16.04 安裝Docker

his tput 64位 curl ins ade mon bfc lib 前置安裝 確保你的系統是64位 $ sudo apt-get install apt-transport-https ca-certificates curl

Ubuntu 16.04 安裝 Docker

echo llb tor art res port ces size inf Ubuntu 16.04 安裝 docker 是一件很麻煩的事情,但鑒於 docker 的各種優點,還是忍了。參考docker官網。   1.選擇國內的雲服務商,這裏選擇阿裏雲為例 curl -

Ubuntu 16.04 安裝python3.6 環境並設置為默認

ins 設置 posit ubun -s install code python版本 ln -s 1.添加python3.6安裝包,並且安裝 sudo add-apt-repository ppa:jonathonf/python-3.6 sudo apt-get upd

Ubuntu 16.04安裝 Let’s Encrypt並配置ssl

lan 域名 rtb blank cert org 配置 pac 安裝配置 1.安裝前準備 1)要確保python的默認版本為2.7及以上版本。 2)需要配置的apache、nginx需要提前配置綁定域名。 2.安裝ssl 在這個https://certbot.eff.or

如何在Ubuntu 16.04安裝的Git【轉】

date 創建文件 訪問 title 源代碼 make tomat change 右鍵 轉自:https://www.howtoing.com/how-to-install-git-on-ubuntu-16-04/ 介紹 現代軟件開發中不可或缺的工具是某種版本控制系統。

Ubuntu 16.04安裝uGet替代迅雷,並在Chrome中設置為默認下載器

ria 點擊下載 sdn 顯示 同時 bin style apt 使用 uGet是采用aria2作為下載後端,所以兩個軟件都必須同時安裝。 1、安裝uGet sudo add-apt-repository ppa:plushuang-tw/uget-stable

Ubuntu 16.04安裝XMind

下載 每次 unzip pre set targe tar linux. 遺憾 下載: http://www.xmind.net/download/linux/ 解壓 sudo unzip xmind-8-update2-linux.zip -d xmind8

Ubuntu 16.04安裝GIMP替代PS

get div clas 搜索 6.0 ref targe 替代 sudo GIMP雖然不能完全替代PS,但是也能彌補一下。 系統默認源中已經包含了GIMP,不需要使用PPA這些。 安裝: sudo apt-get install gimp 啟動: 通過D

Ubuntu 16.04安裝FTP客戶端filezilla

com log ubuntu file 安裝 targe blog clas code 1、安裝: sudo apt-get install filezilla 參考: http://os.51cto.com/art/201103/247564.htmU

Ubuntu 16.04安裝Gufw防火墻(轉)

table 限制 路由 按鈕 其他 ubuntu 在家 apt www 繼上一篇文章http://www.cnblogs.com/EasonJim/p/6851241.html講解的UFW防火墻是沒有界面的,下面將介紹在Gufw的GUI配置功能。 Ubuntu簡化了ipt

Ubuntu 16.04安裝Grub Customizer替代Startup-manager(解決找不到menu.lst,GRUB配置簡單介紹)

沒有 line 計算機 引導 tps 最好 file 自己 otl 關於GRUB的介紹: http://baike.baidu.com/item/GRUB http://blog.csdn.net/bytxl/article/details/9253713 menu.

Ubuntu 16.04 安裝 Open Jdk

ttr pri ubuntu apt upd sudo pos code 6.0 sudo add-apt-repository ppa:openjdk-r/ppa sudo apt-get update sudo apt-get install openjdk-7-j

Ubuntu 16.04安裝PPA圖形化管理工具Y PPA Manager

mage 分享 ger logs color ges manager img pre 安裝: sudo add-apt-repository ppa:webupd8team/y-ppa-manager sudo apt-get update sudo apt-

Ubuntu 16.04安裝idea

ide -s previous 6.0 技術 sudo -i cat ubuntu 此篇為http://www.cnblogs.com/EasonJim/p/7139275.html的分支頁。 前提:必須正確安裝JDK和Tomcat。 下載: https://www.

Ubuntu 16.04安裝Notepadqq編輯器替代Notepad++

產品 apt-get tle .com bsp http pda 編輯 ubun Notepad++只有Windows平臺產品,對於Linux下有其替代的產品Notepadqq。 安裝: sudo add-apt-repository ppa:notepadqq-t

ubuntu 16.04 安裝grpc

blog ubun 問題 aml sudo conf div .so needed 參考自:http://dreamlikes.cn/archives/555 ==== 其中在第四步,編譯安裝gRPC時, make 後,出現錯誤 /usr/bin/ld: warni