Ubuntu Linux操作系統安裝CUDA、CuDNN以及MatConvNet for CFNet跟蹤算法運行

環境介紹

  • 操作系統:Ubuntu 16.04 x64
  • CUDA版本:CUDA Toolkit 8.0 - Feb 2017(文件名:cuda_8.0.61_375.26_linux.run)
  • cuDNN版本:cuDNN 5.1(文件名:cudnn-8.0-linux-x64-v5.1.tgz)
  • gcc/g++版本:4.9.3
  • MatConvNet版本:MatConvNet-1.0-beta24或MatConvNet-1.0-beta25
  • MATLAB版本:MATLAB R2017b

注: 就本文應用的範圍而言(運行CFNet目標跟蹤源代碼),無需手工配置環境變量。

安裝CUDA

  1. 在NVIDIA官方網站上下載CUDA 8.0:
    https://developer.nvidia.com/cuda-80-ga2-download-archive

以Ubuntu 16.04操作系統爲例,在下載頁面進行如下選擇

在這裏插入圖片描述

  1. 下載後,在終端中進入安裝包所在的目錄,並運行
sudo sh cuda_8.0.61_375.26_linux.run

然後根據提示操作(幾乎都可以選y),這樣,CUDA的安裝就完成了。

安裝cuDNN

  1. 在NVIDIA官方網站上下載cuDNN,具體版本見文章開頭的環境介紹

  2. 下載後,解壓,在終端中進入到解壓後所在的目錄(假如解壓到downloads目錄裏面,那麼就進入到downloads目錄即可),運行以下三條命令:

sudo cp -P cuda/include/cudnn.h /usr/local/cuda/include
sudo cp -P cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

若有提示依賴缺失,軟件包尚未配置好的,還需要執行命令(個人沒有遇到過,先貼在這裏備用,此處感謝博主逆水行舟)的無私分享:

sudo apt install -f

至此,cuDNN的安裝就完成了。

安裝MatConvNet(Step 1)

  1. 首先查看系統中當前的gcc/g++版本,運行命令即可看到版本信息:
gcc -v
  1. 如果版本不是4.9.x,那麼需要安裝gcc/g++ 4.9的版本,運行命令:
sudo apt-get install gcc-4.9 g++-4.9
  1. 設置優先級。通常情況下,Ubuntu 16.04系統可能會內置更高的gcc/g++版本,這裏需要將剛剛安裝的4.9版本的gcc/g++設爲最高優先級,運行下列命令(這裏假定更高的版本號是5,實際操作時要結合真實的版本號):
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 100
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 50
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 50
  1. 修改完優先級後,驗證一下:
update-alternatives --query gcc
update-alternatives --query g++

此處感謝Weiyang同學的無私分享。

安裝MatConvNet(Step 2)

安裝LibJPEG:

sudo apt-get install build-essential libjpeg-turbo8-dev

安裝MatConvNet(Step 3)

  1. 在這裏下載MatConvNet:http://www.vlfeat.org/matconvnet/download/
  2. 解壓MatConvNet
  3. 啓動MATLAB,在MATLAB中進入解壓後的MatConvNet文件夾中的matlab目錄
  4. 在MATLAB的命令行中分別運行兩條命令:
mex -setup
mex -setup C++
  1. 針對CPU進行編譯,在MATLAB的命令行中運行:
vl_compilenn
  1. 針對GPU進行編譯,在MATLAB的命令行中運行(下面命令的最後一個參數是CUDA的安裝路徑,可能需要結合實際修改):
vl_compilenn('enableGpu', true, 'cudaRoot', '/usr/local/cuda')

如果運行上述命令報錯,那麼嘗試運行下面的命令:

vl_compilenn('enableGpu', true, 'cudaMethod', 'nvcc', 'cudaRoot', '/usr/local/cuda')

運行該命令時如果有一些warning,不必理會,只要最後有“mex completed successful”這樣的字樣即可。

  1. 在MATLAB命令行中,運行:
vl_setupnn
  1. 在MATLAB命令行中,運行GPU測試:
vl_testnn('gpu', true)

測試結果如下圖所示:
在這裏插入圖片描述

  1. 在MATLAB命令行中,運行CPU測試:
vl_testnn

測試結果如下圖所示:
在這裏插入圖片描述

這樣,基於Ubuntu的MatConvNet深度學習環境就搭建好了。經過驗證,CFNet跟蹤源代碼可以在這樣的Ubuntu系統上運行。具體操作步驟,可以參考本人另外兩篇文章:


想持續獲得文章推送?歡迎掃碼關注“視覺邊疆”微信訂閱號
在這裏插入圖片描述

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