歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Ubuntu 16.04+CUDA8.0+Caffe安裝教程

Ubuntu 16.04+CUDA8.0+Caffe安裝教程

日期:2017/2/28 13:44:54   编辑:Linux教程

分享下Ubuntu 16.04+CUDA8.0+Caffe安裝教程,CUDA CUDA(Compute Unified Device Architecture),顯卡廠商NVidia推出的運算平台。 CUDA是一種由NVIDIA推出的通用並行計算架構,該架構使GPU能夠解決復雜的計算問題。 它包含了CUDA指令集架構(ISA)以及GPU內部的並行計算引擎。 開發人員現在可以使用C語言來為CUDA架構編寫程序,C語言是應用最廣泛的一種高級編程語言。所編寫出的程序於是就可以在支持CUDA的處理器上以超高性能運行。

1、安裝nvidia驅動

首先去官網上查看適合你GPU的驅動(http://www.nvidia.com/Download/index.aspx?lang=en-us)
例如,本人的GPU適合的驅動如圖:

執行如下語句,安裝

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-367
sudo apt-get install mesa-common-dev
sudo apt-get install freeglut3-dev

執行完上述後,重啟(reboot)。
重啟後輸入:

nvidia-smi

如果出現了你的GPU列表,則說明驅動安裝成功了。另外也可以通過

nvidia-settings

查看自己機器上詳細的GPU信息,本人機器的信息如下:

2、安裝CUDA

cuda是nvidia的編程語言平台,想使用GPU就必須要使用cuda。
從這裡下載cuda的安裝文件
https://developer.nvidia.com/cuda-release-candidate-download

注意這裡下載的是cuda8.0的runfile(local)文件。
這裡是nvidia給出的官方安裝指南(遇到問題時可以查閱):
http://docs.nvidia.com/cuda/cuda-installation-guide-linux/#axzz4HIBXnwyt
下載完cuda8.0後,執行如下語句,運行runfile文件:

sudo sh cuda_8.0.27_linux.run

執行後會有一系列提示讓你確認,但是注意,有個讓你選擇是否安裝nvidia361驅動時,一定要選擇否,因為前面我們已經安裝了更加新的nvidia367,所以這裡不要選擇安裝。其余的都直接默認或者選擇是即可。
安裝成功後會出現如下界面:

===========
= Summary =
===========
Driver: Not Selected
Toolkit: Installed in /usr/local/cuda-8.0
Samples: Installed in /home/textminer
Please make sure that
– PATH includes /usr/local/cuda-8.0/bin
– LD_LIBRARY_PATH includes /usr/local/cuda-8.0/lib64, or, add /usr/local/cuda-8.0/lib64 to /etc/ld.so.conf and run ldconfig as root
To uninstall the CUDA Toolkit, run the uninstall script in /usr/local/cuda-8.0/bin
Please see CUDA_Installation_Guide_Linux.pdf in /usr/local/cuda-8.0/doc/pdf for detailed information on setting up CUDA.
***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 361.00 is required for CUDA 8.0 functionality to work.
To install the driver using this installer, run the following command, replacing with the name of this run file:
sudo .run -silent -driver
Logfile is /opt/temp//cuda_install_6583.log

安裝完畢後,再聲明一下環境變量,並將其寫入到 ~/.bashrc 的尾部:

export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

然後設置環境變量和動態鏈接庫,在命令行輸入:

$ sudo gedit /etc/profile

在打開的文件末尾加入:

export PATH = /usr/local/cuda/bin:$PATH

保存之後,創建鏈接文件:

sudo gedit /etc/ld.so.conf.d/cuda.conf

在打開的文件中添加如下語句:

/usr/local/cuda/lib64

然後執行

sudo ldconfig

使鏈接立即生效。

3、測試cuda的Samples

cd /usr/local/cuda-7.5/samples/1_Utilities/deviceQuery
make
sudo ./deviceQuery

如果顯示的是一些關於GPU的信息,則說明安裝成功了。

4、使用cudnn

首先去官網下載你需要的cudnn,下載的時候需要注冊賬號。選擇對應你cuda版本的cudnn下載。這裡我下載的是cudnn5.1,是個壓縮文件(.tgz)

下載完cudnn5.0之後進行解壓,cd進入cudnn5.1解壓之後的include目錄,在命令行進行如下操作:

sudo cp cudnn.h /usr/local/cuda/include/    #復制頭文件

再將cd進入lib64目錄下的動態文件進行復制和鏈接:

sudo cp lib* /usr/local/cuda/lib64/    #復制動態鏈接庫
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.5    #刪除原有動態文件
sudo ln -s libcudnn.so.5.0.5 libcudnn.so.5  #生成軟銜接
sudo ln -s libcudnn.so.5 libcudnn.so      #生成軟鏈接

5、matlab的安裝與配置

在網盤上下載安裝包,見這篇文章 http://www.linuxidc.com/Linux/2016-07/132860.htm 。裡面有一個crack文件夾,MATHWORKS_R2014A.iso用於安裝。

1、掛載iso(需新建matlab_iso文件夾):
   sudo mount -o loop MATHWORKS_R2014A.iso ~/matlab_is
2、開始安裝:
   cd ~/matlab_iso
   sudo ./install
3、選擇不聯網安裝
4、密鑰隨便輸入,比如 12345-67890-12345-67890
5、激活:選擇”license_405329_R2014a.lic”文件進行激活(在Crack文件夾下面)
6、將libmwservices.so復制到/usr/local/MATLAB/R2014a/bin/glnxa64中:
   sudo cp libmwservices.so /usr/local/MATLAB/R2014a/bin/glnxa64/libmwservices.so

6、安裝opencv3.1.0

從官網上下載opencv3.1.0
http://opencv.org/downloads.html
並將其解壓到你要安裝��位置,假設解壓到了/home
首先安裝Ubuntu系統需要的依賴項,雖然我也不知道有些依賴項是干啥的,但是只管裝就行,也不會占據很多空間的。

sudo apt-get install --assume-yes libopencv-dev build-essential cmake git libgtk2.0-dev pkg-config python-dev python-numpy libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libtiff5-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libxine2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev libtbb-dev libqt4-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils unzip

然後安裝OpenCV需要的一些依賴項,一些文件編碼解碼之類的東東。

sudo apt-get install build-essential cmake git

sudo apt-get install ffmpeg libopencv-dev libgtk-3-dev python-numpy python3-numpy libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libtiff5-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libxine2-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libv4l-dev libtbb-dev qtbase5-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils unzip

在終端中cd到opencv文件夾下,然後

mkdir build   #新建一個build文件夾,編譯的工程都在這個文件夾裡
cd build/    
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D WITH_V4L=ON -D WITH_QT=ON -D WITH_OPENGL=ON -DCUDA_NVCC_FLAGS="-D_FORCE_INLINES" ..

cmake成功後,會出現如下結果,提示配置和生成成功:

-- Configuring done
-- Generating done
-- Build files have been written to: /home/ise/software/opencv-3.1.0/build

然後make編譯就可以了

make -j8

上面是將opencv編譯成功,但是並沒有安裝到我們的系統中,有很多的設置都沒有寫入到系統中,因此還要進行install。

sudo make install
sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig

重啟系統,重啟系統後cd到build文件夾下:

sudo apt-get install checkinstall
sudo checkinstall

然後按照提示安裝就可以了。
使用checkinstall的目的是為了更好的管理我安裝的opencv,因為opencv的安裝很麻煩,卸載更麻煩,其安裝的時候修改了一大堆的文件,當我想使用別的版本的opencv時,將當前版本的opencv卸載就是一件頭疼的事情,因此需要使用checkinstall來管理我的安裝。
執行了checkinstall後,會在build文件下生成一個以backup開頭的.tgz的備份文件和一個以build開頭的.deb安裝文件,當你想卸載當前的opencv時,直接執行dpkg -r build即可。

7、安裝caffe

首先安裝各種依賴包

sudo apt-get update 
sudo apt-get install -y build-essential cmake git pkg-config 
 sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev protobuf-compiler 
 sudo apt-get install -y libatlas-base-dev 
 sudo apt-get install -y--no-install-recommends libboost-all-dev 
 sudo apt-get install -y libgflags-dev libgoogle-glog-dev liblmdb-dev 
 sudo apt-get install -y python-pip 
 sudo apt-get install -y python-dev 
 sudo apt-get install -y python-numpy python-scipy

將終端cd到你要安裝caffe的位置,執行如下指令,從github上clone caffe。

git clone https://github.com/BVLC/caffe.git  //從github上git caffe
cd caffe //打開到剛剛git下來的caffe 
sudo cp Makefile.config.example Makefile.config   //將Makefile.config.example的內容復制到Makefile.config 
//因為make指令只能make Makefile.config文件,而Makefile.config.example是caffe給出的makefile例子 
sudo gedit Makefile.config //打開Makefile.config文件
打開之後修改如下內容:
//若使用cudnn,則將# USE_CUDNN := 1 修改成: USE_CUDNN := 1 
//若使用的opencv版本是3的,則將# OPENCV_VERSION := 3 修改為: OPENCV_VERSION := 3 
//若要使用python來編寫layer,則需要將# WITH_PYTHON_LAYER := 1 修改為 WITH_PYTHON_LAYER := 1 
//重要的一項 將# 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的位置,所以需要更改這一路徑

//若使用MATLAB接口的話,則要講MATLAB_DIR換成你自己的MATLAB安裝路徑
MATLAB_DIR := /usr/local
MATLAB_DIR := /usr/local/matlab2014a

打開makefile文件,

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

編輯/usr/local/cuda/include/host_config.h,將其中的第115行注釋掉:

#error-- unsupported GNU version! gcc versions later than 4.9 are not supported!

改為
//#error-- unsupported GNU version! gcc versions later than 4.9 are not supported!

之後再

make all -j8
make runtest
make pycaffe
make matcaffe

PDF版到Linux公社資源站下載:

------------------------------------------分割線------------------------------------------

免費下載地址在 http://linux.linuxidc.com/

用戶名與密碼都是www.linuxidc.com

具體下載目錄在 /2017年資料/1月/7日/Ubuntu 16.04+CUDA8.0+Caffe安裝教程/

下載方法見 http://www.linuxidc.com/Linux/2013-07/87684.htm

------------------------------------------分割線------------------------------------------

Ubuntu 14.04 安裝配置CUDA http://www.linuxidc.com/Linux/2014-10/107501.htm

Ubuntu 12.04配置NVIDIA CUDA5.5實錄 http://www.linuxidc.com/Linux/2014-10/107502.htm

Ubuntu安裝Theano+CUDA http://www.linuxidc.com/Linux/2014-10/107503.htm

關於Ubuntu 12.04 下 CUDA5.5 的安裝請參看如下鏈接 Ubuntu 12.04 安裝 CUDA-5.5

Caffe配置簡明教程 ( Ubuntu 14.04 / CUDA 7.5 / cuDNN 5.1 / OpenCV 3.1 ) http://www.linuxidc.com/Linux/2016-09/135016.htm

在Ubuntu 14.04上配置CUDA+Caffe+cuDNN+Anaconda+DIGITS http://www.linuxidc.com/Linux/2016-11/136775.htm

Ubuntu16.04下CUDA8.0+Caffe安裝配置過程 http://www.linuxidc.com/Linux/2017-01/139313.htm

Ubuntu 14.04下CUDA8.0 + cuDNN v5 + Caffe 安裝配置 http://www.linuxidc.com/Linux/2017-01/139300.htm

Ubuntu 16.04+Nvidia GTX 1080+CUDA8.0 深度學習環境配置 http://www.linuxidc.com/Linux/2017-01/139319.htm

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

Copyright © Linux教程網 All Rights Reserved