1. 程式人生 > >caffe環境配置

caffe環境配置

tool tram 新的 可用 wget ota fcm copyright blank

參考:http://blog.csdn.net/enjoyyl/article/details/47397505

http://blog.csdn.net/baobei0112/article/details/77996369

0.檢查你的電腦是否支持CUDA
檢查GPU是否支持:輸入如下命令,如果輸出的GPU型號是NVIDIA的,並且在此http://developer.nvidia.com/cuda-gpus列表內,則支持。

lspci | grep -i nvidia

第1步 安裝依賴包

安裝後續步驟或環境必需的依賴包,依次輸入以下命令:

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 libopenblas-dev liblapack-dev libatlas-base-dev

sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

sudo apt-get install git cmake build-essential
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

有一定幾率安裝失敗而導致後續步驟出現問題,所以要確保以上依賴包都已安裝成功,驗證方法就是重新運行安裝命令,如驗證 git cmake build-essential是否安裝成功共則再次運行以下命令:

 sudo apt-get install git cmake build-essential 
  • 1

界面提示如下則說明已成功安裝依賴包,否則繼續安裝直到安裝成功。

yhao@yhao-X550VB:~$ sudo apt-get install git cmake build-essential
正在讀取軟件包列表... 完成
正在分析軟件包的依賴關系樹       
正在讀取狀態信息... 完成       
build-essential 已經是最新版 (12.1ubuntu2)。
cmake 已經是最新版 (3.5.1-1ubuntu3)。
git 已經是最新版 (1:2.7.4-0ubuntu1.1)。
下列軟件包是自動安裝的並且現在不需要了:
  lib32gcc1 libc6-i386
使用‘sudo apt autoremove‘來卸載它(它們)。
升級了 0 個軟件包,新安裝了 0 個軟件包,要卸載 0 個軟件包,有 94 個軟件包未被升級。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

第2步 禁用 nouveau

安裝好依賴包後需要禁用 nouveau,只有在禁用掉 nouveau 後才能順利安裝 NVIDIA 顯卡驅動,禁用方法就是在 /etc/modprobe.d/blacklist-nouveau.conf 文件中添加一條禁用命令,首先需要打開該文件,通過以下命令打開:

sudo gedit /etc/modprobe.d/blacklist-nouveau.conf
  • 1

打開後發現該文件中沒有任何內容,寫入:

blacklist nouveau option nouveau modeset=0 
  • 1

保存時命令窗口可能會出現以下提示:

** (gedit:4243): WARNING **: Set document metadata failed: 不支持設置屬性 metadata::gedit-position
  • 1
  • 2

無視此提示~,保存後關閉文件,註意此時還需執行以下命令使禁用 nouveau 真正生效:

sudo update-initramfs -u
  • 1

第3步 配置環境變量

同樣使用 gedit 命令打開配置文件:

sudo gedit ~/.bashrc
  • 1
  • 2

打開後在文件最後加入以下兩行內容:

export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH

export LD_LIBRARY_PATH=/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH 
  • 1
  • 2
  • 3

保存退出。

第4步 下載 CUDA 8.0


在官網下載的deb安裝包,9.0版。

第5步 安裝 CUDA 8.0

2.安裝依賴工具:需要連網。

# installation of required tools
sudo apt-get install -y gcc g++ gfortran build-essential   git wget linux-image-generic libopenblas-dev python-dev   python-pip python-nose python-numpy python-scipy
  • 1
  • 2
  • 3
  • 4

3.安裝CUDA

# installing CUDA
sudo dpkg -i cuda-repo-ubuntu1404-7-0-local_7.0-28_amd64.deb

sudo apt-get update
sudo apt-get install cuda
  • 1
  • 2
  • 3
  • 4
  • 5

4.設置環境變量

註意:此環境變量為64位系統下的,32位的把lib64改成lib即可。

方式1,僅修改用戶變量

# setting the environment variables so CUDA will be found

echo "\nexport PATH=/usr/local/cuda-7.0/bin:$PATH" >> ~/.bashrc
echo "\nexport LD_LIBRARY_PATH=/usr/local/cuda-7.0/lib64:$LD_LIBRARY_PATH" >> ~/.bashrc
  • 1
  • 2
  • 3
  • 4

方式2,修改所有用戶變量
先使用sudo gedit /etc/profile打開“profile”文件,或者sudo gedit ~/.bashrc打開“./bashrc”文件,然後在打開的文件的末尾添加如下代碼並保存

# setting the environment variables so CUDA will be found
# After open profile, Add follow code at the end of file
export PATH=/usr/local/cuda-7.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-7.0/lib64:$LD_LIBRARY_PATH
  • 1
  • 2
  • 3
  • 4

5.加載新的環境變量:添加好環境變量後,需要加載新的環境變量,才能應用於系統。

加載更新環境變量source ~/.bashrc(方式1),source /etc/profilesource ~/.bashrc(方式2)。

=====重啟系統!重啟系統!重啟系統!=======

sudo reboot

安裝cuda sample

進入/usr/local/cuda/samples, 執行下列命令來編譯samples

sudo make all -j4

全部編譯完成後, 進入 samples/bin/x86_64/linux/release目錄, 運行deviceQuery

./deviceQuery

如果顯示Result = PASS則說明安裝成功,如果無法顯示顯卡信息,可以執行sudo reboot 命令重啟再測試一下。

http://www.jianshu.com/p/20f8d9233075

第6步 驗證 CUDA 8.0 是否安裝成功

分別執行以下命令:

cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery

sudo make

./deviceQuery
  • 1
  • 2
  • 3
  • 4
  • 5

若看到類似以下信息則說明 cuda 已安裝成功:

./deviceQuery Starting...

 CUDA Device Query (Runtime API) version (CUDART static linking)

Detected 1 CUDA Capable device(s)

Device 0: "GeForce GT 740M"
  CUDA Driver Version / Runtime Version          8.0 / 8.0
  CUDA Capability Major/Minor version number:    3.5
  Total amount of global memory:                 2004 MBytes (2100953088 bytes)
  ( 2) Multiprocessors, (192) CUDA Cores/MP:     384 CUDA Cores
  GPU Max Clock rate:                            1032 MHz (1.03 GHz)
  Memory Clock rate:                             800 Mhz
  Memory Bus Width:                              64-bit
  L2 Cache Size:                                 524288 bytes
。。
Result = PASS


第7步 安裝 cudnn

登錄官網:https://developer.nvidia.com/rdp/cudnn-download ,下載對應 cuda 版本且 linux 系統的 cudnn 壓縮包,註意官網下載 cudnn 需要註冊帳號並登錄,不想註冊的可從我的網盤下載:https://pan.baidu.com/s/1c2xPVzy

技術分享

載完成後解壓,得到一個 cudn 文件夾,該文件夾下include 和 lib64 兩個文件夾,命令行進入 cudn/include 路徑下,然後進行以下操作:

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

然後命令行進入 cudn/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.1.10 libcudnn.so.5 #生成軟銜接
sudo ln -s libcudnn.so.5 libcudnn.so #生成軟鏈接
  • 1
  • 2
  • 3
  • 4

這裏需要註意第三行命令,網上有人的第三行命令為:

sudo ln -s libcudnn.so.5.1.5 libcudnn.so.5 #生成軟銜接
  • 1

起初我執行的也是上條鏈接 libcudnn.so.5.1.5 的命令,但是後面編譯caffe時出錯,報錯內容為 /usr/bin/ld: 找不到 -lcudnn,所以這裏需要先查看一下自己應該鏈接的是 libcudnn.so.5.1.10 還是 libcudnn.so.5.1.5 ,查看方法為下:

locate libcudnn.so
  • 1

我執行完後顯示如下:

yhao@yhao-X550VB:~$ locate libcudnn.so /home/yhao/.local/share/Trash/files/libcudnn.so /home/yhao/.local/share/Trash/files/libcudnn.so.5 /home/yhao/.local/share/Trash/files/libcudnn.so.5.1.10 /home/yhao/.local/share/Trash/files/cuda/lib64/libcudnn.so /home/yhao/.local/share/Trash/files/cuda/lib64/libcudnn.so.5 /home/yhao/.local/share/Trash/files/cuda/lib64/libcudnn.so.5.1.10 /home/yhao/.local/share/Trash/info/libcudnn.so.5.1.10.trashinfo /home/yhao/.local/share/Trash/info/libcudnn.so.5.trashinfo /home/yhao/.local/share/Trash/info/libcudnn.so.trashinfo /home/yhao/cuda/lib64/libcudnn.so /home/yhao/cuda/lib64/libcudnn.so.5 /home/yhao/cuda/lib64/libcudnn.so.5.1.10 /usr/local/lib/libcudnn.so /usr/local/lib/libcudnn.so.5

可以看到我的文件是 libcudnn.so.5.1.10 ,並沒有 libcudnn.so.5.1.5,所以第三行命令我鏈接的是 libcudnn.so.5.1.10 ,這裏第三行鏈接命令視你的查看結果而定。

安裝完成後可用 nvcc -V 命令驗證是否安裝成功,若出現以下信息則表示安裝成功:

yhao@yhao-X550VB:~$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2016 NVIDIA Corporation
Built on Tue_Jan_10_13:22:03_CST_2017
Cuda compilation tools, release 8.0, V8.0.61

第8步 安裝 opencv3.1

進入官網 : http://opencv.org/releases.html , 選擇 3.3.1 版本的 source , 下載 opencv-3.3.1.zip
技術分享

解壓到你要安裝的位置,命令行進入已解壓的文件夾 opencv-3.3.1 目錄下,執行:

mkdir build # 創建編譯的文件目錄

cd build

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

make -j8  #編譯

編譯運行到37%時出現錯誤,改成(http://blog.csdn.net/sysuwuhongpeng/article/details/45485719)
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D CUDA_GENERATION=Kepler ..
make -j8  #編譯
 

caffe環境配置