1. 程式人生 > >ubuntu16.04 安裝配置matlab+python +cuda8.0+cudnn+opencv3.1的caffe環境

ubuntu16.04 安裝配置matlab+python +cuda8.0+cudnn+opencv3.1的caffe環境

  網路上有很多ubuntu上caffe配置環境的帖子,本人照著其中的許多進行了參考,都出現了或多或少的錯誤,很多地方也有差異。

於是自己整理了下自己的安裝過程,成功進行了測試,跑通了faster-rcnn。配置環境時間為2017.1.4 系統ubuntu16.04

一:顯示卡驅動的安裝:

  選擇電腦匹配的顯示卡驅動,本人電腦顯示卡為GTX760,選擇如下圖所示

 

輸入以下命令執行安裝驅動:

sudo add-apt-repository ppa:graphics-drivers/ppa  
sudo apt-get update  
sudo apt-get install nvidia-375
//此處為上圖的驅動版本 sudo apt-get install mesa-common-dev sudo apt-get install freeglut3-dev

安裝完成後,重啟電腦後輸入

nvidia-smi

出現你的電腦gpu列表,如下所示,表示驅動安裝成功。

二:安裝配置CUDA8.0

  

下載完成後,解壓到當前目錄,切換到該目錄輸入:

sh cuda_8.0.44_linux.run --override

安裝過程中,出現很多選擇的選項,先一直按S滑到百分百,然後根據提示輸入,分別如下:

1 輸入accept接受條款
2 輸入n不安裝nvidia影象驅動,之前已經安裝過了//
此處一定要選擇n 3 輸入y安裝cuda 8.0工具 4 回車確認cuda預設安裝路徑:/usr/local/cuda-8.0 5 輸入y用sudo許可權執行安裝,輸入密碼 6 輸入y或者n安裝或者不安裝指向/usr/local/cuda的符號連結 7 輸入y安裝CUDA 8.0 Samples,以便後面測試 8 回車確認CUDA 8.0 Samples預設安裝路徑:

最重要的是確定此處不要再選擇安裝驅動。

新增環境路徑:

sudo vim ~/.bashrc  //末尾新增
export CUDA_HOME=/usr/local/cuda-8.0    
export LD_LIBRARY_PATH=/usr/local/cuda-8.0
/lib64:$LD_LIBRARY_PATH export PATH=/usr/local/cuda-8.0/bin:$PATH

新增完成後source ~/.bashrc 使之生效。

測試cuda的例子,並得到如下輸出:

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

表明cuda安裝成功。

三:Cudnnv5的安裝

  

本人下載放在Download目錄下,進入該目錄並解壓,建立軟連線,如下所示:

cd ./Download/
tar -xvzf cudnn-8.0-linux-x64-v5.1.tgz   
sudo cp ./cuda/include/cudnn.h /usr/local/cuda/include 
sudo cp ./cuda/lib64/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.5 libcudnn.so.5
sudo ln -s libcudnn.so.5 libcudnn.so
sudo ldconfig

四:matlab的安裝與配置

  本人使用的matlab版本位:R2014b_glnxa64_withcrack.iso

1、掛載iso(需新建matlab_iso資料夾):
   mkdir matlab_iso //主目錄
   sudo mount -o loop R2014b_glnxa64_withcrack.iso  ~/matlab_iso
2、開始安裝:
   cd ~/matlab_iso
   sudo ./install
3、選擇不聯網安裝
4、金鑰輸入,29797-39064-48306-32452
5、啟用:選擇”license.lic”檔案進行啟用(在crack資料夾下面)
6、將libmwservices.so複製到/usr/local/MATLAB/R2014b/bin/glnxa64中:
   sudo cp libmwservices.so /usr/local/MATLAB/R2014b/bin/glnxa64/libmwservices.so

啟動matlab後出現問題,可以參考這個帖子http://blog.csdn.net/csd_ct/article/details/51837894 。只需要將/sys/os/glnxa64/下的libstdc++.so.6 重新命名位libstdc++.so.6.old.

五:Opencv3.1的安裝

  安裝必要項:

1 sudo apt-get update 
2 sudo apt-get install -y build-essential cmake git pkg-config 
3 sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev protobuf-compiler 
4 sudo apt-get install -y libatlas-base-dev 
5 sudo apt-get install -y --no-install-recommends libboost-all-dev 
6 sudo apt-get install -y libgflags-dev libgoogle-glog-dev liblmdb-dev 
7 sudo apt-get install -y python-pip 
8 sudo apt-get install -y python-dev 
9 sudo apt-get install -y python-numpy python-scipy  
sudo apt-get install build-essential  
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev  
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev  

解壓opencv並進入該目錄:

cd opencv-3.1.0
mkdir build
cd build 
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

期間可能會卡在ippcv的下載中,Ctrl + c中斷後,可以到 ippicv_linux_20151201.tgz 下載。將下載的檔案替換掉 OpenCV-3.1.0/3rdparty/ippicv/downloads/linux-8b449a536a2157bcad08a2b9f266828b下的同名檔案。

make -j4     
sudo make install  

make過程中,出現了graphcuts.cpp 的錯誤,進行如下修改:

sudo vim ../modules/cudalegacy/src/graphcuts.cpp 

將45行的#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)修改為#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION >= 8000)

編譯完成後注意需要執行sudo make install執行安裝

六:Caffe編譯

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

  如果沒有安裝git,可以先使用sudo apt-get install git執行安裝。

1 cd caffe
2 sudo cp Makefile.config.example Makefile.config 
3 sudo vim Makefile.config

此時會修改caffe的編譯配置,需要修改如下地方:

 1 # USE_CUDNN := 1 修改成: USE_CUDNN := 1 
 2 # OPENCV_VERSION := 3 修改為: OPENCV_VERSION := 3
 3 # WITH_PYTHON_LAYER := 1 修改為 WITH_PYTHON_LAYER:=1
 4 #USE_OPENCV := 0 修改成 USE_OPENCV :=1
 5 #USE_LEVELDB := 0 修改為 USE_LEVELDB:=1
 6 #USE_LMDB := 0 修改位 USE_LMDB :=1
 7 //修改matlab目錄
 8 將MATLAB_DIR := /usr/local/MATLAB/R2014b
 9 //最終要的修改 # Whatever else you find you need goes here.下面的
10  INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include 
11 LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib   
12 修改為: 
  INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial 13 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的位置,所以需要更改這一路徑

修改Makefile檔案:

sudo vim Makefile
將
NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS)  
替換為 
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS) 

編輯/usr/local/cuda/include/host_config.h 將119行的

#error -- unsupported GNU version! gcc versions later than 5 are not supported! 修改為 //#error -- unsupported GNU version! gcc versions later than 5 are not supported!,即添加了註釋,使之無效

進行編譯:

sudo make all -j8  
sudo make runtest -j8  

若編譯出現libcudart.so.8.0錯誤,則執行如下命令

sudo cp /usr/local/cuda-8.0/lib64/libcudart.so.8.0 /usr/local/lib/libcudart.so.8.0
sudo cp /usr/local/cuda-8.0/lib64/libcublas.so.8.0 /usr/local/lib/libcublas.so.8.0
sudo cp /usr/local/cuda-8.0/lib64/libcurand.so.8.0 /usr/local/lib/libcurand.so.8.0
sudo ldconfig

此時正確情況如下圖所示:

編譯matcaffe:

  執行 make matcaffe -j4

  顯示MEX completed successfully,表示編譯matcaffe成功,

  執行make mattest -j4 即執行matcaffe的測試程式,結果如下圖:

  

編譯pycaffe

1 sudo make pycaffe -j4
2 sudo make distribute -j4
3 cd python
4 for req in $(cat requirements.txt); do sudo  pip install -i https://pypi.tuna.tsinghua.edu.cn/simple $req; done 
5 cd ../

  執行make pytest -j4進行測試,出現如下圖:

  

表明pycaffe編譯成功 在~/.bashrc 末尾新增export PYTHONPATH=/home/zf/caffe/python:$PYTHONPATH //自己對照自己路徑。

開啟python匯入caffe 可以成功,如下:

七:mnist集測試:

cd ~/caffe 
./data/mnist/get_mnist.sh  
./examples/mnist/create_mnist.sh  
./examples/mnist/train_lenet.sh  

結果如下圖,正確率為99.08%

八:faster-rcnn配置與測試:

mkdir ~/caffetest
cd caffetest
git clone --recursive https://github.com/rbgirshick/py-faster-rcnn.git //下載rcnn原始碼
cd py-faster-rcnn
cd lib
make 
cd ../caffe-fast-rcnn
//用之前編譯的caffe替換rcnn的Makefile.config
sudo cp ~/caffe/Makefile.config ./caffe-fastr-rcnn/
sudo make -j4 && make pycaffe
cd ../
sudo ./data/script/fetch_faster_rcnn_models.sh

此過程中若出現cudnn錯誤,可以做如下方式進行解決:

//在caffe-fast-rcnn目錄下 
git remote add caffe https://github.com/BVLC/caffe.git  
git fetch caffe
//可能需要github賬號 按照提示輸入git config --global user.email ~~~ 和 git config --global user.name ~~~
git stash save
git merge caffe/master 

將caffe-fast-rcnn/include/caffe/layers/python_layer.hpp的29行self_.attr("phase") = static_cast<int>(this->phase_);註釋掉

重新編譯成功後,執行demo,兩種demo為不同的模型框架,

cd ~/caffetest/py-faster-rcnn
./tool/demo.py
./tool/demo.py --net zf

  若出現Check failed:error == cudaSuccess(8 vs 0) invalid device function,則將py-faster-rcnn/lib/setup.py 的第135行,將arch改為與你顯示卡相匹配的數值,(比如我的GTX 760,計算能力是3.0,就將sm_35改成了sm_30)然後刪除utils/bbox.c,nms/cpu_nms.c ,nms/gpu_nms.cpp 重新編譯即可

最終結果部分圖片如下:

  

九:總結與體會

  之前花費了時間斷斷續續的進行caffe的安裝與配置,但是總會出現大大小小的問題,但是最後才發現是第一步驅動的問題,很多部落格說到的編譯器問題,在我這次安裝過程中都沒有出現。

據說是現在cuda8.0後對此進行了修復。最終能夠完全成功,也是非常令人高興的,也說明了,做一個事情,還是得老老實實專心的做下去。寫這篇部落格,一是為了紀念一下這一路安裝的心酸,也

是想方便以後的人,希望對他們能有幫助,少走一點彎路。加油~

  安裝過程中用到的安裝軟體,筆者會稍後上傳到網盤,需要的可以聯絡筆者。筆者QQ:476833883。

相關推薦

ubuntu16.04 安裝配置matlab+python +cuda8.0+cudnn+opencv3.1的caffe環境

  網路上有很多ubuntu上caffe配置環境的帖子,本人照著其中的許多進行了參考,都出現了或多或少的錯誤,很多地方也有差異。 於是自己整理了下自己的安裝過程,成功進行了測試,跑通了faster-rcnn。配置環境時間為2017.1.4 系統ubuntu16.04 一:顯示卡驅動的安裝:   選擇電腦匹配

ubuntu16.04安裝配置fastai 0.7

fastai-0.7裡面內建的pytorch是0.3.1,已經可以滿足日常需求了,所以就沒有裝fastai1.0(對應的pytorch是1.0,主要是太新了,不想踩坑emmm) 第一步:更新pip或者conda(下一步用哪個安裝就更新哪個,我更新的是conda

Ubuntu16.04 禁用nouveau驅動和cuda8.0安裝

1.sudo apt-get update 2.sudo gedit /etc/modprobe.d/blacklist.conf (開啟檔案)      blacklist nouveau   (在檔案中新增該命令,然後儲存退出)      sudo update-ini

ubuntu16.04安裝配置opencv3.2.0(完全安裝

      本教程為完全安裝教程,只需要簡單安裝的可以參考此篇簡單安裝教程,大部分功能可以使用,但是不具有video等視訊處理的功能。由於本人需要video功能,因此重新安裝的自己的opencv。 安裝步驟 安裝FFMPEGapt-get安裝相關的依賴庫下載opencv,o

Ubuntu16.04+GeForce GTX TITAN X+CUDA8.0+cudnn6

class make pos 文件 tor conf nsh 軟碟通 文件復制 按之前的方法給TITAN X安裝cuda8.0會發生循環登錄的問題,因此換了一種安裝方法 參考:https://www.jianshu.com/p/002ece426793,http://blo

ubuntu16.04安裝配置nagios

group sent 內容 OS 重新啟動 open ln -s rpe conf 參考博文:https://www.howtoing.com/ubuntu-nagios/ 該博文真實有效可供參考,按照步驟,基本可以成功 一.安裝的先決條件 sudo apt-get ins

Ubuntu16.04安裝配置和使用ctags

刪除 可執行 exe path opencv 了吧 -- sta ntc Ubuntu16.04安裝配置和使用ctags by ChrisZZ ctags可以用於在vim中的函數定義跳轉。在ubuntu16.04下默認提供的ctags是很老很舊的ctags,快要發黴的版本(

Ubuntu16.04安裝配置Caffe教程(GPU版)

GPU版:http://www.linuxidc.com/Linux/2016-12/138870.htm CPU版:http://www.linuxidc.com/Linux/2016-09/135034.htm   1   電腦配置及軟體說

ubuntu16.04安裝配置mysql資料庫

參考http://wiki.ubuntu.org.cn/MySQL%E5%AE%89%E8%A3%85%E6%8C%87%E5%8D%97 一、安裝 安裝命令sudo apt-get install mysql-server 但是由於存在舊版本或者解除安裝不乾淨,可能報錯如下 參考https://

轉 :ubuntu16.04+Tensorflow—GPU1.4.1+CUDA8.0+CUDNNv6.0 親測有用

之前按照這篇部落格的內容配置過深度學習的環境,好久沒用忘了,趁現在想起來趕快碼起來,下次就不用找了,再次感謝博主的分享! 牢騷 上來必須牢騷一下這幾天的裝機感受,準確的說是

ubuntu16.04+cuda8.0+cudnn+opencv3.0+caffe

一.ubuntu16.04安裝 開機F12進入BIOS的裝置啟動選單,選擇U盤啟動。 安裝型別,選擇其他選項,進行分割槽。 Swap:邏輯分割槽,20GB 空間起始位置 交換空間 /boot(引導分割槽):10G 邏輯分割槽 空間起始位置 Ex

ubuntu16.04 安裝配置ss-qt5及SwitchyOmega外掛配置

加入PPA源和更新、安裝命令 sudo add-apt-repository ppa:hzwhuang/ss-qt5 sudo apt-get update sudo apt-get install shadowsocks-qt5 配置ss 搜尋開啟ss:

ubuntu16.04安裝配置vsftpd採坑記錄

歡迎光臨我的個人主頁 最近學習linux, 在安裝配置vsftpd時遇到問題,記錄一下 一.安裝配置可以參考Ubuntu 16.04下vsftpd 安裝配置例項 二.沒看上面的教程之前,我以為是vsfp

Ubuntu16.04安裝配置opencv3.4.3+opencv_contrib3.4.3

Ubuntu16.04安裝配置opencv3.4.3+opencv_contrib3.4.3 一些廢話:跟著高博的《視覺slam十四講》學slam,到安裝opencv的時候找了好多教程感覺都沒說的太清楚,ubuntu和windows差別還是有點大,於是決定一邊找教程安裝一邊記錄自己的

Ubuntu16.04安裝配置GPU版TensorFlow

基本工作 更新系統 sudo apt-get update sudo apt-get upgrade -y sudo apt-get dist-upgrade -y 安裝linux kernel modules,linux source和headers

Ubuntu16.04安裝配置FastDFS

最近接觸到了FastDFS,結果配置的時候遇到了非常多的問題!寫來自己看看!注:首先你先到網上下載好這些個包,我都已經上傳了不用金幣下載!一丶接下來的問題就比較簡單了    將所有的包解壓好,安裝的順序如下:libevent->libfastcommon->Fas

[問題彙總]ubuntu16.04+cuda8.0+cudnn+opencv3.2+caffe+tensorflow+SS搭建

未完待續。。。 ubuntu16.04安裝: 採用映象解壓U盤安裝,在官網下載映象包後解壓拷貝至U盤中,在電腦BIOS設定U盤啟動 顯示卡驅動 NVIDIA MX150驅動安裝(以小米筆記本為例) 安裝完ubuntu kylin16.04後

Ubuntu16.04安裝配置JDK環境

這裡使用的是oracle的JDK 下載地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 例如使用jdk-8u1

ubuntu 18.04 安裝顯示卡驅動+CUDA9.0+cuDNN+pytorch1.0預覽版

最近出了pytorch1.0的預覽版(nightly版本),好久沒用pytorch了,裝一個耍耍。。。 安裝條件: 顯示卡支援cuda且驅動可以安裝384以上版本 Ubuntu版本升級 如果你的版本是Ubuntu 16 的話可以選擇命令升級: 第一:升級到最新的Ubuntu1

Ubuntu16.04 安裝 Nvidia Driver、CUDA、cudnn

2018.12.19 ————— Ubuntu 16.04 Nvidia Graphics Card: GeForce GTX 1070 Nvidia Graphics Driver CUDA 9.0 cuDNN v7.4.1 (Nov 8, 2018), for CUDA 9.0