天天看點

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/article/details/52103453#

環境說明:

1)Ubuntu 16.04:ubuntu-16.04.3-desktop-amd64.iso

2)采用CUDA 8.0 :cuda_8.0.44_linux.run

3)Cudnn 6.0:cudnn-8.0-linux-x64-v6.0.tgz

4)TensorFlow

5)Caffe

6)Python 2.7

7)pip 9.0.1

具體安裝步驟:

一:CUDA 8.0安裝

(包括NVIDIA顯示卡驅動和CUDA庫檔案)

通過英偉達安裝包來分别安裝庫的驅動程式而不是使用apt-get 來安裝。如果隻有CPU,則可以跳過這步。

1)打開終端,加入官方PPa源:

sudo  add-apt-repository ppa:graphics-drivers/ppa
           

2)按enter鍵确認,之後更新軟體庫并安裝最新驅動

sudo apt-get update
    sudo apt-get install nvidia- nvidia-settings nvidia-prime
           

Note:該Ubuntu 鏡像檔案在sudo apt-get update 時報錯,解決方法:

輸入指令:sudo apt-get purge libappstream3

之後再次執行 sudo apt-get update指令就正常了。

3)安裝完成後,通過指令檢視是否安裝成功

此時,安裝完成後,要重新開機電腦,有如下效果則安裝完成,否則就說明安裝有問題,嘗試關閉UEFI保護試試。

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

4)從官網上下載下傳CUDA 8.0檔案,下載下傳cuda_8.0.44_linux.run檔案,将其放至~/CUDA檔案夾下,cd指令進入該檔案所在目錄,進行MD5檢驗,確定安裝包正常。

sudo md5sum cuda_8._linux.run
           

5)檢驗正确後,輸入如下代碼安裝(第一行修改檔案權限,第二行執行檔案安裝):

chmod  cuda_8_linux.run
sudo ./cuda_8_linux.run  --override
           
Ubuntu 16.04 安裝CUDA8.0+Cudnn6.0+TensorFlow+Caffe安裝

執行代碼後,跳出相關資訊,左下方出現–更多–(0%) 這樣,

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

一直按Enter鍵直到跳到100%結束退出,接下來要求輸入相關配置指令,如下圖,注意别弄錯了,第二行配置詢問是否要安裝NVIDIA圖像驅動器時,一定要選n,否則系統會報錯,具體如下圖:

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

安裝完成後出現如下說明安裝正确:

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

二、Cudnn 6.0安裝

注意下載下傳的版本為:cudnn-8.0-linux-x64-v6.0.tgz

其中CUDA對應的5.1版本,在後面安裝TensorFlow時會出現問題。

1)進入檔案所在目錄進行解壓:

tar zxvf cudnn--linux-x64-v6.tgz
           

2)解壓後有個cuda檔案,内有include 和 lib64兩個檔案,進入include檔案夾,執行如下指令:

再cd切換進lib64檔案夾,執行如下指令:

sudo cp lib* /usr/local/cuda/lib64/
           

3)進入複制後的動态連結庫進行新的連結:

cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.
sudo ln   -s  libcudnn.so..  libcudnn.s.
sudo ln   -s  libcudnn.so.  libcudnn.so
           

注意:此處Cudnn版本不一樣,後面的序号也會有差别,建議用補全鍵進行檔案補全。

4)設定環境變量和動态連結庫:

sudo gedit /etc/profile
           

在打開的檔案末尾加上(“=”前後不要有空格)

儲存之後建立連結檔案:

按下鍵盤i進行編輯:

/usr/local/cuda/lib64
           

按下Esc鍵,輸入:wq儲存退出。

最後在終端輸入以下指令使該連結生效:

sudo ldconfig
           

5)使用sample裡面的例子來測試還需要編譯。進入用例檔案進行編譯(注意執行第二部指令時需要較長時間是正常現象):

cd /usr/local/cuda/samples  
sudo make all -j4  
cd /usr/local/cuda/samples/bin/x86_64/linux/release  
sudo ./deviceQuery  
           

執行指令後出現如下資訊,則說明顯示卡驅動和cuda安裝成功。

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

三、TensorFlow安裝

直接運作指令:

sudo pip install pip --upgrade  //對pip進行版本更新
sudo pip install tensorflow-gpu  //安裝GPU版的tensorFlow
           

确認是否安裝成功:

python
import tensorflow as tf
           

如下圖檔:

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

注意,Ubuntu16.04,預設pip版本為8.0,而TensorFlow安裝需要版本為pip 9.0.1

另外,由于pip安裝為國外檔案下載下傳,是以下載下傳速度會很慢,在安裝過程中,注意換源或則執行如下方法:

報錯如下:

ReadTimeoutError: HTTPSConnectionPool(host=’pypi.python.org’, port=443): Read

解決辦法一:

加大逾時時間:

pip --default-timeout=100 install -U pip

解決辦法二:

在~目錄下,建一個.pip的目錄:

mkdir .pip
cd .pip
gedit pip.conf
           

在檔案中寫入以下内容,儲存并關閉(選用的豆瓣源):

[global]
index-url = http://pypi.douban.com/simple
trusted-host = pypi.douban.com#沒有這句會包warning
disable-pip-version-check = true #版本不檢查
timeout = #逾時時間設定 
           

四、caffe安裝

1.安裝各種依賴包

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  
sudo apt-get install -y libopencv-dev  
           

2.下載下傳caffe

cd ~
git clone https://github.com/BVLC/caffe.git    //從github上git caffe 
           

3.安裝配置caffe

cd caffe    //打開到剛剛git下來的caffe  
cp Makefile.config.example Makefile.config //make指令隻能make Makefile.config  
sudo gedit Makefile.config      //打開Makefile.config檔案  
           

4.配置檔案修改(看英文提示根據具體修改):

1)應用cudnn

将
 #USE_CUDNN :=1
修改成: 
USE_CUDNN := 1
           

2)應用opencv版本

将
 #OPENCV_VERSION := 3 
修改為: 
OPENCV_VERSION := 3
           

3)使用python接口

将
 #WITH_PYTHON_LAYER := 1 
修改為 
WITH_PYTHON_LAYER := 1
           

4)修改python路徑:

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       
           

5)修改caffe目錄下的Makefile檔案:

将:

替換為:

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

将:

改為:

6)最後進入caffe目錄,進行編譯

cd caffe
make all -j4
make test -i4
make runtest
make pycaffe
           

正确結果如下:

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

如果編譯沒有報錯,則基本沒有問題。

7)相關庫安裝:

首先要安裝python接口依賴庫,在caffe根目錄的python檔案夾下,有一個requirements.txt的清單檔案,上面列出了需要的依賴庫,安裝這個清單安裝就可以。

在安裝scipy庫的時候,需要fortran編譯器,如果沒有這個編譯器就會報錯,是以,可以先安裝以下。

首先進入 caffe/python 目錄下,執行安裝代碼:

sudo apt-get install gfortran
for req in $(cat requirements.txt); 
do sudo pip install $req; 
done
           

之後,執行以下指令:

sudo pip install -r requirements.txt
           

就會看到,安裝成功的,都會顯示Requirement already satisfied, 沒有安裝成功的,會繼續安裝。

注意如果有如下問題:

No module named caffe,

解決辦法一:

終端中輸入

sudo gedit /etc/profile
           

在最後添加:

儲存退出後,在終端輸入:

source /etc/profile
           

解決辦法二:

sudo gedit ~/.bashrc

#add the folling line

export PYTHONPATH=/path/to/caffe-master/python:$PATHONPATH

source ~/.bashrc
           

解決辦法三:

每次寫代碼的時候,都直接将caffe的路徑加入即可,隻要caffe安裝成功,其他都是小問題

import sys
sys.path.append('/path/to/caffe-master/python')
import caffe
           

8)安裝jupyter:

sudo pip install jupyter
           

安裝完成後,運作notebook

jupyter notebook
           

ipython notebook
           

出現如下畫面:

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

9)驗證是否安裝正确:

python
import caffe