Ubuntu16.04 Cuda8.0 Cudnn5.1 opencv3.30 caffe 環境配置

電腦配置(戴爾臺式、win10 ubuntu16.04雙系統、集成顯卡 nvidia gt730顯卡 雙顯卡)

一 安裝依賴:

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

二 安裝nvidia顯卡驅動

1 查詢驅動型號並下載:(http://www.nvidia.com/Download/index.aspx?lang=en-us)

2 開始安裝:

2.1 禁用secure Boot

secure Boot 會阻止第三方驅動安裝,安裝nvidia顯卡驅動需要禁用該功能。
很多朋友被迫BIOS裏面禁用UEFI,這樣雖然可以解決問題,但是會影響Windows 等系統的啓動。
其實,可以不禁用BIOS裏面的UEFI安全啓動。
用Mok管理工具,禁用 shim->grub2 這一步之後的校驗就行了

sudo mokutil --disable-validation

輸入上述命令,會要求你設置一個 8-16位的密碼,你設置好後(比如8個8)重啓,重啓第一次,會有幾秒鐘提示你按任意鍵進入MoK管理界面,然後按照提示輸入剛纔設置的密碼對應位,然後管理Mok,禁用Secure boot 即可

2.2 禁用集成顯卡驅動:

編輯:

sudo gedit /etc/modprobe.d/blacklist.conf 

最後一行加上:

 blacklist nouveau

更新:

sudo update-initramfs -u

重啓電腦~ 這裏要尤其注意,安裝顯卡驅動要先切換到文字界面,(按Ctrl+Alt+F1~F6)。所以,啓動電腦後,先進入文字界面。登錄root後輸入:

 lsmod | grep nouveau 

查看集成顯卡驅動是否禁用成功。

2.3 關閉圖形界面執行安裝

集成顯卡驅動禁用成功後,輸入命令:

sudo service lightdm stop

關閉X-Win窗口。
現在可以安裝驅動了,先進入nvidia驅動下載目錄 ,然後輸入:

sudo ./NVIDIA-Linux-x86_64-**.run

按照提示一步步來。若是沒能安裝,可能是權限問題,輸入:

 chmod 777 NVIDIA-Linux-x86_64-**.run 

修改權限後再安裝。完成後,再次重啓電腦。(或者輸入命令sudo service lightdm start,打開X-Win窗口,然後ALT+CTRL+F7切換回圖形界面即可。)
安裝完成之後輸入以下指令進行驗證:

sudo nvidia-smi

若列出了GPU的信息列表則表示驅動安裝成功。

三 安裝cuda

1 下載cuda,官網(https://developer.nvidia.com/cuda-downloads),下載runfile(local)

2 安裝cuda

sudo chmod 777 cuda_*_linux.run 
sudo ./cuda_*_linux.run

(注意:執行後會先出現一個聲明,需要閱讀到100%,同意聲明後纔會開始安裝。)
安裝時首先會有一系列提示讓你確認,但是注意,有個讓你選擇是否安裝nvidia顯卡驅動時,一定要選擇否。其餘選擇默認或者yes。

3 配置環境變量

sudo gedit ~/.bashrc (最後一行添加)
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 
sudo gedit /etc/profile(最後一行添加)
export PATH=/usr/local/cuda/bin:$PATH
sudo gedit /etc/ld.so.conf.d/cuda.conf
/usr/local/cuda/lib64
sudo ldconfig(使配置生效)

4 驗證

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

四 安裝cudnn5.1

1 下載cudnn5.1,官網或者百度雲(https://blog.csdn.net/seven_year_promise/article/details/78390882

2 安裝

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

2.1 複製頭文件

cd cuda/include
sudo cp cudnn.h /usr/local/cuda/include  

2.2 複製動態鏈接庫

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

2.3 刪除原有動態文件

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

2.4 生成軟銜接(注意這裏要和自己下載的cudnn版本對應,可以在/usr/local/cuda/lib64下查看自己libcudnn的版本)

sudo ln -s libcudnn.so.5.1.10 libcudnn.so.5
sudo ln -s libcudnn.so.5 libcudnn.so 

2.5 使配置生效

sudo ldconfig /usr/local/cuda/lib64

五 安裝opencv3.30

1 下載opencv3.30 代碼包

2 安裝依賴

sudo apt-get install --assume-yes libopencv-dev build-essential cmake git libgtk2.0-dev pkg-config python-dev python-numpy libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libtiff5-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libxine2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev libtbb-dev libqt4-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils unzip
sudo apt-get install build-essential cmake git
sudo apt-get install ffmpeg libopencv-dev libgtk-3-dev python-numpy python3-numpy libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libtiff5-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libxine2-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libv4l-dev libtbb-dev qtbase5-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils unzip

3 開始安裝

mkdir build
cd build/
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D WITH_V4L=ON -D WITH_QT=ON -D WITH_OPENGL=ON ..
make
sudo make install
sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig
sudo apt-get update

4 方便卸載

sudo apt-get install checkinstall
sudo checkinstall

六 安裝caffe

1 安裝依賴

sudo apt-get update
sudo apt-get upgrade
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

2 下載caffe

git clone https://github.com/BVLC/caffe.git

3 開始安裝

3.1 複製配置文件

sudo cp Makefile.config.example Makefile.config

3.2 打開並修改配置文件:

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.若需使用多GPU,將 #USE_NCCL := 1 改爲 USE_NCCL := 1
e.若使用matlab,修改matlab路徑爲:

MATLAB_DIR := /usr/local/MATLAB/R2014a/ (your matlab path)

f. 重要的一項 :將# Whatever else you find you need goes here.下面的

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  

3.3 修改Makefile 文件

打開makefile文件,做如下修改,將:

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

替換爲:

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

CXXFLAGS += -MMD -MP

的下方,添加

CXXFLAGS += -std=c++11

3.4 其他配置

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

3.5編譯

make all -j4 #-j根據自己電腦配置決定
sudo make runtest

到此caffe配置完畢!

3.6 MNIST數據集測試

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

相關鏈接:
https://blog.csdn.net/jiangyanting2011/article/details/78873113
https://www.cnblogs.com/longmao-yiran/p/6832374.html
https://blog.csdn.net/sinat_34521860/article/details/73440722
https://blog.csdn.net/mynotwo/article/details/78661664

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