所用安裝包鏈接等審覈通過了我貼上,收了一個金幣,包含cuda9.0+cuDNN7.4.1+Matlab2015b+opencv3.4.0+caffe源碼
1 禁用nouveau
重啓系統,在選擇系統的界面安鍵盤“e”,將倒數第二行的quiet splash -- 改爲 quiet splash acpi=off
進入Ubuntu系統後輸入lsmod | grep nouveau ,沒有任何輸出就是禁用成功。
2 安裝NVIDIA顯卡驅動
卸載老版本
sudo apt-get remove --purge nvidia*
查看推薦版本
ubuntu-drivers devices
從官網下載推薦的版本之一
#我是從官網下載的390的。
sudo dpkg -i NVIDIA-Linux-x86_64-390.87.run
#將下載好的run文件拷貝至home目錄下
在ubuntu下按ctrl+alt+f1進入命令行界面,登錄帳號和密碼後。然後在命令行界面下輸入:
$ sudo service lightdm stop //這個是關閉圖形界面,不執行會出錯
$ sudo chmod a+x NVIDIA-Linux-x86_64-390.87.run //賦予執行權限
$ sudo ./NVIDIA-Linux-x86_64-390.87.run -no-x-check -no-opengl-files
//只有禁用opengl這樣安裝纔不會出現循環登陸的問題
//-no-x-check:安裝驅動時關閉X服務
//-no-nouveau-check:安裝驅動時禁用nouveau.我們前邊已經禁用了這一步可以省略
//-no-opengl-files:只安裝驅動文件,不安裝OpenGL文件
查看驅動是否安裝成功
#查看驅動是否安裝成功.如果沒有顯示,重啓後再輸入查看
$ nvidia-smi
#重啓指令
$ reboot
3 安裝CUDA9.0及補丁
去官網下載相應的cuda9.0版本及補丁,不建議用sudo安裝,不然裝過會遇到很多權限的問題。
$ sudo sh cuda_9.0.176_384.81_linux.run
#注意:不要安裝這裏推薦的驅動。因爲上邊安裝過了。然後根據提示填寫cuda的路徑和samples的路徑。
#配置環境變量
emacs /etc/profile
#打開文件後在文件末尾添加路徑,也就是安裝目錄,命令如下:
export PATH=/usr/local/cuda-9.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH
#保存,然後重啓電腦
$ sudo reboot
#安裝補丁,和上邊的步驟一樣.這裏不用配置環境變量了
$ sudo sh cuda_9.0.176.1_linux.run
$ sudo sh cuda_9.0.176.2_linux.run
$ sudo sh cuda_9.0.176.3_linux.run
$ sudo sh cuda_9.0.176.4_linux.run
4 安裝cuDNN
下載cuDNN, 進入cuDNN官網註冊下載,我下載的是7.4.1 for cuda9.0的,等會貼連接。
cuDNN的官方安裝方式網址, 網址裏講的很詳細。不過也可以看我的:
首先解壓安裝包,然後將所需文件copy至CUDA,並改變文件訪問權限:
$ tar -xzvf cudnn-9.0-linux-x64-v7.4.1.5.tgz
$ sudo cp cuda/include/cudnn.h /usr/local/cuda-9.0/include
$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda-9.0/lib64
$ sudo chmod a+r /usr/local/cuda-9.0/include/cudnn.h /usr/local/cuda-9.0/lib64/libcudnn*
到這裏cuDNN就安裝完成了。
查看CUDA和CUDNN是否安裝成功及相應的版本號:
cat /usr/local/cuda/version.txt
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
nvcc -V
5 安裝python2.7
Ubuntu16.04自帶python2.7但是庫較爲簡單,具體的安裝了配置見我的博客 ,
那裏有很詳細完善的步驟。python2.7配置caffe的Makefile.config文件時更簡單,更容易通過。
6 安裝Tensorflow
我的python2.7主要用來配置caffe使用。Tensorflow是在python3.6下運行的,所以通過pip3直接安裝
#用於python3
pip3 install tensorflow-gpu
#用於python2.7
pip install tensorflow-gpu
7安裝Opencv-3.4.0 和Matlab2015b
詳細的過程見我的博客 。
8 安裝Caffe
下載源碼
git clone https://github.com/BVLC/caffe
安裝
#安裝依賴
$ 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 protobuf-c-compiler protobuf-compiler
$ sudo apt-get install libgoogle-glog-dev
$ cd caffe
$ cp Makefile.config.example Makefile.config
更改Makefile.config
#這是我的修改的地方
USE_CUDNN := 1
OPENCV_VERSION := 3
CUDA_DIR := /usr/local/cuda
CUDA_ARCH :=
#-gencode arch=compute_20,code=sm_20 \
# -gencode arch=compute_20,code=sm_21 \
-gencode arch=compute_30,code=sm_30 \
-gencode arch=compute_35,code=sm_35 \
-gencode arch=compute_50,code=sm_50 \
-gencode arch=compute_52,code=sm_52 \
-gencode arch=compute_60,code=sm_60 \
-gencode arch=compute_61,code=sm_61 \
-gencode arch=compute_61,code=compute_61
BLAS := atlas
MATLAB_DIR := /usr/local/MATLAB/R2015b
PYTHON_INCLUDE := /usr/include/python2.7 \
/usr/lib/python2.7/dist-packages/numpy/core/include
PYTHON_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
更改Makefile
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial
更改GCC版本權限
sudo eamcs /usr/local/cuda/include/crt/host_config.h
#error-- unsupported GNU version! gcc versionslater than 6 are not supported!
使用雙斜槓註釋掉,改爲:
//#error-- unsupported GNU version! gcc versionslater than 6 are not supported!
編譯
#編譯 測試
sudo make all -j16
sudo test -j16
sudo runtest -j16
如果再編譯的過程中,遇到問題,建議查看這篇博客