1. 程式人生 > >ubuntu安裝caffe

ubuntu安裝caffe

Caffe已經是第三次安裝配置了,為什麼是第三次呢?因為我實在是低估了深度學習對於硬體的要求。第一次我在自己筆記本上配置的單核,CPU only ...  結果是,樣例資料跑了4小時,這還怎麼玩?第二次在臺式機上,因為桌上型電腦比較low,I5處理器4核,沒有NVIDIA的GPU。我把別人訓練好的模型下載下來,然後自己測試,發現真的成功了,心裡小激動~ 然而,當我自己訓練模型時,我訓練7天.....  關鍵是7天了還在跑..... 

心想,我這個窮逼難道要自己掏錢買個伺服器?那怎麼可能。還好,老師人非常好,給我找了個伺服器~  現在終於是勞資大顯身手的時候了。

整個配置過程很長啊,坑多,沒有Linux基礎的就別來了,你會崩潰的。我參考了好幾個帖子,基本上每個帖子都有或多或少的問題,文章結尾的時候,我會留下前輩們的文章地址,算是對他們的尊敬和對我幫助的感謝。好,下面切入正題!

電腦配置:

系統:Ubuntu16.04  GPU:NVIDIA Corporation GM107GL [Quadro K620] (提示:在linux下可以通過 lspci | grep -i vga 檢視)

安裝過程

1.安裝相關依賴項

1 sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
2 sudo apt-get install --no-install-recommends libboost-all-dev
3 sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev 4 sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

2.安裝NVIDIA驅動

(1)查詢NVIDIA驅動

首先去官網 http://www.nvidia.com/Download/index.aspx?lang=en-us 檢視適合自己顯示卡的驅動並下載:

驅動檔案字尾名應當是以.run結尾的。我們要把這個檔案移動到家目錄下,原因是下面我們要切換到文字介面下,如果放到~/下載 下面,我們沒有辦法進入下載這個目錄(沒有中文輸入法,且中文全部是亂碼)

                 

                        圖1 輸入顯示卡型號                                                                                                                                    圖2  顯示卡驅動搜尋結果

我的顯示卡型號是Quadro K620,系統是linux 64位,按照要求選擇後點擊search. 圖2是搜尋結果,點選下載就好了。

我下載後的驅動檔案是:NVIDIA-Linux-x86_64-375.20.run

(2)安裝驅動

在終端下輸入: sudo gedit /etc/modprobe.d/blacklist.conf  

輸入密碼後在最後一行加上 blacklist nouveau .  這裡是將Ubuntu自帶的顯示卡驅動加入黑名單。

在終端輸入: sudo update-initramfs -u  

重啟電腦~這裡要尤其注意,安裝顯示卡驅動要先切換到文字介面,(按Ctrl+Alt+F1~F6).所以,啟動電腦後,先進入文字介面。

然後,輸入命令 sudo service lightdm stop 

現在可以安裝驅動了,先進入家目錄 cd ~ ,然後: sudo ./NVIDIA-Linux-x86_64-375.20.run,按照提示一步步來~ 

完成後,再次重啟電腦。

安裝完成之後輸入以下指令進行驗證: sudo nvidia-smi ,若列出了GPU的資訊列表則表示驅動安裝成功。如下圖:

3.安裝CUDA

CUDA是NVIDIA的程式語言平臺,想使用GPU就必須要使用cuda。 (1)下載CUDA 首先在官網上(https://developer.nvidia.com/cuda-downloads)下載CUDA:

 (2) 下載完成後執行以下命令:

1 sudo chmod 777 cuda_8.0.44_linux.run
2 sudo  ./cuda_8.0.44_linux.run

注意:執行後會有一系列提示讓你確認,但是注意,有個讓你選擇是否安裝nvidia367驅動時,一定要選擇否:
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 367.48?
因為前面我們已經安裝了更加新的nvidia367,所以這裡不要選擇安裝。其餘的都直接預設或者選擇是即可。

(3)環境變數配置

開啟~/.bashrc檔案: sudo gedit ~/.bashrc 
將以下內容寫入到~/.bashrc尾部:

1 export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
2 export LD_LIBRARY_PATH=/usr/local/cuda8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

(4)測試CUDA的samples

1 cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
2 make
3 sudo ./deviceQuery

如果顯示一些關於GPU的資訊,則說明安裝成功。

 4.配置cuDNN
cuDNN是GPU加速計算深層神經網路的庫。
首先去官網 https://developer.nvidia.com/rdp/cudnn-download 下載cuDNN,需要註冊一個賬號才能下載。下載版本號如下圖:

下載cuDNN5.1之後進行解壓:

sudo tar -zxvf ./cudnn-8.0-linux-x64-v5.1.tgz 

進入cuDNN5.1解壓之後的include目錄,在命令列進行如下操作:

cd cuda/include
sudo cp cudnn.h /usr/local/cuda/include  #複製標頭檔案

再將進入lib64目錄下的動態檔案進行復制和連結:

cd ..
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.安裝opencv3.1
從官網(http://opencv.org/downloads.html)下載Opencv,並將其解壓到你要安裝的位置,假設解壓到了/home/opencv。

1 unzip opencv-3.1.0.zip
2 sudo cp ./opencv-3.1.0 /home
3 sudo mv opencv-3.1.0 opencv

安裝前準備,建立編譯資料夾:

cd ~/opencv
mkdir build
cd build

配置:

1 sudo apt install cmake
2 sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

編譯:

sudo make -j8 

-j8表示平行計算,根據自己電腦的配置進行設定,配置比較低的電腦可以將數字改小或不使用,直接輸make。

可能出現問題:

這是因為opecv3.0與cuda8.0不相容導致的。解決辦法:修改 ~/opencv/modules/cudalegacy/src/graphcuts.cpp檔案內容,如圖:

其中, #if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)||(CUDART_VERSION>=8000) 是我們修改的。
以上只是將opencv編譯成功,還沒將opencv安裝,需要執行下面指令進行安裝:

sudo make install

6.配置caffe

(1)使用Git直接下載Caffe非常簡單,或者去https://github.com/BVLC/caffe下載。由於我習慣去github上找程式碼,所以就直接去下載的原始碼。

下載完成後,會在家目錄下的下載裡找到caffe-master.zip,用unzip命令解壓到家目錄下,然後重新命名為caffe.

(2)因為make指令只能make Makefile.config檔案,而Makefile.config.example是caffe給出的makefile例子,因此,首先將Makefile.config.example的內容複製到Makefile.config: sudo cp Makefile.config.example Makefile.config 

(3) 開啟並修改配置檔案:
 sudo gedit Makefile.config #開啟Makefile.config檔案 根據個人情況修改檔案:
a.若使用cudnn,則

#USE_CUDNN := 1
修改成: 
USE_CUDNN := 1
b.若使用的opencv版本是3的,則

#OPENCV_VERSION := 3 
修改為: 
OPENCV_VERSION := 3
c.若要使用python來編寫layer,則
將       #WITH_PYTHON_LAYER := 1  
修改為 WITH_PYTHON_LAYER := 1 
d.重要的一項 :
將 # Whatever else you find you need goes here. 下面的

1 INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
2 LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib 

修改為:

1 INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
2 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的位置,所以需要更改這一路徑.

(4)修改makefile檔案
開啟makefile檔案,做如下修改:
將:

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

替換為:

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

(5)編輯/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!

(6)編譯
make all -j8 #-j根據自己電腦配置決定
編譯過程中可能會出現如下錯誤:
錯誤內容1:
"fatal error: hdf5.h: 沒有那個檔案或目錄"
解決辦法:
step1:在Makefile.config檔案的第85行,新增/usr/include/hdf5/serial/ 到 INCLUDE_DIRS,也就是把下面第一行程式碼改為第二行程式碼。
將:
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
替換為:
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/
stept2:在Makefile檔案的第173行,把 hdf5_hl 和hdf5修改為hdf5_serial_hl 和 hdf5_serial,也就是把下面第一行程式碼改為第二行程式碼。
將:
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5
改為:
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial
錯誤內容2:
"libcudnn.so.5 cannot open shared object file: No such file or directory"
解決辦法是將一些檔案複製到/usr/local/lib資料夾下:
#注意自己CUDA的版本號!

1 sudo cp /usr/local/cuda-8.0/lib64/libcudart.so.8.0 /usr/local/lib/libcudart.so.8.0 && sudo ldconfig
2 sudo cp /usr/local/cuda-8.0/lib64/libcublas.so.8.0 /usr/local/lib/libcublas.so.8.0 && sudo ldconfig
3 sudo cp /usr/local/cuda-8.0/lib64/libcurand.so.8.0 /usr/local/lib/libcurand.so.8.0 && sudo ldconfig
4 sudo cp /usr/local/cuda-8.0/lib64/libcudnn.so.5 /usr/local/lib/libcudnn.so.5 && sudo ldconfig

 (8)測試

sudo make runtest

如果執行之後出現下圖,說明caffe配置成功。

 到此caffe配置完畢!

 MNIST資料集測試
配置caffe完成後,我們可以利用MNIST資料集對caffe進行測試,過程如下:
 
1.將終端定位到Caffe根目錄
cd ~/caffe
 
2.下載MNIST資料庫並解壓縮
./data/mnist/get_mnist.sh
 
3.將其轉換成Lmdb資料庫格式
./examples/mnist/create_mnist.sh
 
4.訓練網路
./examples/mnist/train_lenet.sh
訓練的時候可以看到損失與精度數值,如下圖:

可以看到最終訓練精度是0.9914。


相關推薦

Ubuntu安裝caffe的各種問題(全)

安裝依賴 sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler sudo apt-get install --no-

Ubuntu安裝Caffe .build_release/tools/caffe: error while loading shared libraries: libcudart.so.8.0

Ubuntu 安裝caffe GPU版本的時候遇到 .build_release/tools/caffe: error while loading shared libraries: libcudart.so.8.0: cannot open shared object file: No s

ubuntu安裝caffe+cuda+cudnn+nvidia驅動

1、nvidia驅動安裝 先解除安裝原有N卡驅動 sudo apt-get remove --purge nvidia* sudo apt-get --purge remove xserver-xorg-video-nouveau 若已經安裝nvidia驅動,需則要解除安裝

ubuntu安裝caffe

Caffe已經是第三次安裝配置了,為什麼是第三次呢?因為我實在是低估了深度學習對於硬體的要求。第一次我在自己筆記本上配置的單核,CPU only ...  結果是,樣例資料跑了4小時,這還怎麼玩?第二次在臺式機上,因為桌上型電腦比較low,I5處理器4核,沒有NVIDI

ubuntu安裝caffe時出現有關lboost庫之類的問題解決辦法

以cannot find -lboost_filesytem為例,實際上我們已經安裝了該庫檔案,只是檔名字不同而產生了錯誤. cd /usr/lib/x86_64-linux-gnu sudo l

ubuntu安裝-Caffe依賴

1. 安裝numpy相對簡單,以下命令可以完成 apt-get install python-numpy apt-get install python-scipy 2. 安裝matplotlib相對複雜一些 需要先安裝其依賴的包libpng和freetype 安裝

Ubuntu 16.04下安裝Caffe解決 undefined symbol: _ZN5boost6python6detail11init_moduleER11PyModuleDefPFvvE

今天安裝Caffe框架,make時一切正常,但import caffe時出現以下錯誤 >>> import caffe Traceback (most recent call last): File "<stdin>", line 1, in <

ubuntu安裝caffe

參考:https://blog.csdn.net/Reedlh/article/details/80659363 常用的深度學習框架有 TensorFlow、Caffe、Theano、Torch、CNTK,這裡記錄作為入門級的菜鳥如何配置Caffe - -計算機視覺庫。  

Ubuntu-安裝-theano+caffe-超詳細教程

長期招聘計算機視覺/深度學習等方向的工程師或實習生。感興趣的話,請傳送郵件,可以內推。 一、說明 本文是繼《Ubuntu-安裝-cuda7.0-單顯示卡-超詳細教程》 之後的續篇。theano和caffe是深度學習庫,對運算能力需求很大,最好

學習Caffe(一)Ubuntu 14.04 安裝Caffe+cuda+cudnn+pycaffe+matcaffe

Caffe是一個深度學習框架,本文講闡述如何在linux下安裝GPU加速的caffe。 系統配置是: OS: Ubuntu14.04 CPU: i5-4690 GPU: GTX96

UbuntuCaffe安裝測試

深度學習太火了,一直在看深度學習的演算法,沒有實際動過手,今天正好空出來一臺筆記本,重新裝個ubuntu,試試Caffe到底怎麼搞得,是不是很難搞。 開啟官網:http://caffe.berkeleyvision.org/ 選擇install的介紹,跟著廣官

UbuntuCaffe安裝過程 -- 之一

本人硬體環境 titanx ubuntu 14.04 win7雙系統 參考:http://blog.csdn.net/zhjm07054115/article/details/51811495 Ubuntu 15.04 + CUDA7.5 + Caffe 配置

Ubuntu 16.04 安裝 Caffe

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

深度學習Caffe平臺安裝——Ubuntu安裝CPU模式的caffe

先將Makefile.config檔案中OPENCV_VERSION :=3 註釋掉,只修改USE_OPENCV := 1修改後的結果:USE_OPENCV := 1#OPENCV_VERSION := 3在caffe根目錄下,找到Makefile檔案,開啟檔案查詢“Derive include and li

caffe ubuntu安裝全過程 GPU CPU均可參考

基本常時命令 sudo uname --m 檢視自己執行ubuntu是32位還是64位 sudo uname --s 顯示核心名字s sudo uname --r 顯示核心版本 sudo uname --n 顯示網路主機名 sudo uname -

Ubuntu安裝caffe問題筆記

protobuf的安裝和解除安裝解除安裝: which protoc rm /usr/local/bin/protoc安裝:下載後./autogen.sh    ./configuremakemake checkmake install但由於github上面下載的沒有conf

ubuntu安裝caffe和python3配合安裝注意事項

1 先解除安裝掉你通過apt-get 安裝的protobuf,用sudo apt-get remove libprotobuf-dev libprotoc-dev進行解除安裝,不然編譯caffe會出現莫名其妙的錯誤 2 安裝protobuf 3.0.0,直接從github上

ubuntu 14.04 從零開始安裝caffe

一、前言 很多人不太喜歡看官方教程,但其實 caffe 的官方安裝指導做的非常好。我在看到 2) 之前,曾根據官方指導在 OSX 10.9, 10.10, Ubuntu 12.04, 14.04 下安裝過 10 多次不同版本的 caffe,都成功了。 本文有不少內容參考了 1)和 2),但又有一些內容

ubuntu安裝配置caffe-ssd gpu版本,配置cuda和cudnn

寫在前面:電腦聯想Y410,顯示卡755,ubuntu16.04,本文是caffe-ssd,沒有安裝anaconda,使用的python是系統自帶的2.7版本,以前安裝anaconda後兩種python版本管理不好會出錯。1、將gcc版本降低cuda8.0對應的gcc版本是5

Ubuntu安裝python3虛擬環境

get ubun 使用 基本命令 per 好處 技術 bsp 打開 大多數Linux自帶python2.7,而Ubuntu1.6也自帶python3.x,本文章主要記錄virtualenv+vitualenvwrapper使用python3虛擬環境 虛擬環境好處不多說,避免