ubuntu14.04 編譯安裝caffe(GPU)+CUDA+(常見問題)

   在我們開始caffe學習的第一步自然就是準備環境啦,對於初學者,這個過程或許很難,有的時候可能搞個幾天,繞進去就出不來,今天小編將自己在學習過程中,遇到的問題說一下,希望可以節約你的精力!

一、環境準備

     我是在自己的筆記本上裝的雙系統,ubuntu14.04 配置是GTX1070+16G,當然啦如果你的電腦沒有GPU環境,可以安裝cpu版,或者在windows上進行編譯都是可以的,但是本人不建議在虛擬機中做編譯。

     1、顯卡驅動安裝:

lspci|grep -i nvidia //查看顯卡是否支持nvidia
uname -m && cat /etc/*release // 查看linux支持的nvidia版本
sudo apt-get update
sudo apt-get install nvidia-384 //可根據顯卡型號選擇驅動型號

   安裝成功後:輸入命令nvidia-smi,會有下圖內容

Mon Aug 20 16:42:45 2018       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 384.130                Driver Version: 384.130                   |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX TIT...  Off  | 00000000:04:00.0 Off |                  N/A |
|  0%   51C    P0    66W / 250W |      0MiB / 12207MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

    2、CUDA及組件安裝( 安裝包,提取碼是g8b0)

   這個安裝文件裏一共包含了三個組件:

  • 驅動程序安裝文件 NVIDIA-Linux-x86_64-375.26.run
  • CUDA安裝程序 cuda-linux64-rel-8.0.61-21551265.run
  • CUDA樣例安裝程序 cuda-samples-linux-8.0.61-21551265.run

      由於驅動程序已經安裝完畢,因此不需要再進行安裝。所以推薦將下載好的 cuda 8.0 安裝文件採用如下命令解壓,單獨執行  第二個程序:

chmod +x cuda_8.0.61_375.26_linux.run
./cuda_8.0.61_375.26_linux-run --extract=抽取路徑

      執行一下命令執行第二個程序安裝 cuda 8.0:

sudo ./cuda-linux64-rel-8.0.61-21551265.run

     安裝完成後,採用以下命令配置一下運行庫文件:

sudo bash -c "echo /usr/local/cuda/lib64/ > /etc/ld.so.conf.d/cuda.conf"
sudo ldconfig

     輸入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

    Tips:如果遇到下面問題

 The program 'nvcc' is currently not installed. You can install it by typing:
 sudo apt-get install nvidia-cuda-toolkit

#出現這種錯誤的原因是環境變量沒有配置正確。解決方法如下:
 vim ~/.profile
 #(在文件最後加入以下內容)
 export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
 export LD_LIBRARY_PATH=/usr/local/cuda8.0/lib64\${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
 ### 保存退出
 source ~/.profile

 

 3)安裝cudnn

   採用以下命令安裝:

sudo dpkg -i ./libcudnn7_7.1.4.18-1+cuda8.0_amd64.deb
sudo dpkg -i ./libcudnn7-dev_7.1.4.18-1+cuda8.0_amd64.deb

二、依賴環境安裝

  caffe依賴環境包括libprotobuf-dev,libsnappy-dev,libleveldb-dev,libhdf5-serial-dev,protobuf-compiler,libopenblas-dev

可以通過命令進行安裝

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler #required by caffe

 三、caffe及pycaffe編譯

   在上面的包中可以下載到caffe-ssd,也可以使用 sudo git clone https://github.com/BVLC/caffe.git進行下載比較新的版本

cp ./Makefile.config.sample ./Makefile.config

 在Makefile.config 中找到USE_CUDNN:=1 將前面的註釋#去掉,表示使用cuda進行編譯,之後

make -j8 //8表示進程數

之後修改PYTHONPATH環境變量,編譯pycaffe

vim ../autolabel_env/bin/activate
# 在文件末尾添加以下內容
export PYTHONPATH=/path-to-caffe-ssd/python #(path-to-caffe-ssd是caffe-ssd的根目錄)
# 保存退出
deactivate
source ../autolabel_env/bin/activate
make py
make pycaffe

到這裏caffe-ssd就編譯完成了。

常見問題:

或許會遇到下述問題:

gcc 版本過低  
[.build_release/cuda/src/caffe/layers/detection_output_layer.o] Error 1 

解決方案:ubuntu14.04更新gcc版本

如果在python中import caffe遇到了下面這個問題

No Module named google.protobug.internal

主要是缺少caffe的一個依賴項:

sudo apt-get install python-protobuf

之後就可以在python中import了

Python 2.7.6 (default, Nov 13 2018, 12:45:42)
[GCC 4.8.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import caffe
>>>

堅持一件事情或許很難,但堅持下來一定很酷!^_^

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章