y7000筆記本 darknet-yolo安裝與測試(Ubuntu16.04+Cuda9.0+Cudnn7.1)


https://zhuanlan.zhihu.com/p/41096599

1、先查看是否安裝有以下組件,若有先考慮徹底刪除再安裝(安裝嚴格按照下面順序進行)

查看nvidia 版本

nvidia-smi

查看cuda 版本

cat /usr/local/cuda/version.txt

查看cudnn 版本

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

 

2.安裝nvidia驅動

1.禁用系統默認nouveau顯卡驅動 

打開系統黑名單,命令如下 :

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

在blacklist.conf文件中添加禁用的顯示設備,文件尾部追加內如如下:

# for nvidia display device install
blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist rivatv
blacklist nvidiafb

保存blacklist.conf文件,然后更新內核,命令如下:

sudo update-initramfs -u

 重啟電腦

sudo reboot

重啟完成,執行命令如下(查看是否禁用成功,無輸出則禁用成功):

lsmod | grep nouveau

 

2. 安裝RTX1060驅動

首先進入命令行模式

ctrl+alt+f2

由於我們要安裝顯卡驅動,會影響桌面顯示,我們可以先關閉(圖形)桌面顯示管理器18.04是gdm3,這里根據自己的版本選擇就好

ubuntu 16.04是lightdm 

sudo service lightdm stop

ubuntu 18.04是gdm3

sudo service gdm3 stop

添加驅動源:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update

尋找合適驅動版本:

ubuntu-drivers devices

 這里最好去官網https://www.geforce.cn/drivers 注意 筆記本電腦 要選擇Notebooks版本的驅動

或者

UBUNTU右上角》系統設置》軟件與更新》附加驅動選擇》里面看看系統推薦的版本號,最好根據這個進行選擇,為了避免更多未知的坑(不推薦直接在附加驅動選擇直接安裝:失敗概率有些高,而且容易造成循環登錄的問題)

sudo apt-get install nvidia-390

 然后開啟桌面管理器或者直接重啟

sudo service gdm3 restart

或者

sudo reboot

 重啟后

查看nvidia 版本

nvidia-smi

顯示則安裝成功

nvidia-settings

打開N卡的設置

 

 

3.安裝cuda

先查看nvidia 驅動,cuda,cudnn對應關系

 nvidia與cuda要求的版本對應關系:

https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html

cuda與cudnn需要滿足關系:

https://developer.nvidia.com/rdp/cudnn-archive

3.1安裝依賴庫

 

sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-devlibgl1-mesa-glx libglu1-mesa libglu1-mesa-dev

 

 

3.2降級gcc

由於Cuda-9.0只支持gcc-6.0以下的版本,而Ubuntu18.04系統默認安裝的gcc-7.3版本(可以在終端輸入gcc --version查看系統安裝的gcc版本),所以首先需要降級為gcc-5版本。

  • 首先需要安裝gcc-5

在終端輸入:

sudo apt install gcc-5
sudo apt install g++-5
  • 鏈接至gcc-5版本

在終端輸入:

cd /usr/bin
sudo mv gcc gcc.bak #備份
sudo ln -s gcc-5 gcc sudo mv g++ g++.bak sudo ln -s g++-5 g++

最后查看系統的gcc版本是否已更改

 

gcc --version

 

 

3.2安裝對應版本的Cuda

cuda是nvidia的編程語言平台,想使用GPU就必須要使用cuda

https://developer.nvidia.com/cuda-toolkit-archive

保守起見,選擇cuda9.0進行安裝,也可以選擇更高版本的

注意 9.0 是沒有 18.04可選的,但我們選擇16.04依然可以安裝,正常使用(還沒遇到過不正常狀態)依次下載下面五個installers

基礎安裝包

sudo sh cuda_9.0.176.384.81_linux.run --override

在安裝過程中 按Q跳過閱讀more,會出現幾個是否選裝和安裝位置的選項

其中第二個不需要安裝NVIDIA驅動(系統已安裝),其余都選擇yes或者敲回車。

按q退出條款瀏覽或者按空格直到條款末尾

輸入 accept 接受條款。

輸入n不安裝nvidia圖像驅動,因為前面已經安裝好驅動。如果這里按照默認選擇yes,則前面安裝的高版本nvidia驅動將被替換成為cuda里帶的低版本nvidia驅動。

輸入y安裝cuda 8.0 toolkit。

回車確認cuda默認安裝路徑(/usr/local/cuda-8.0)

輸入y install a symbolic link at /usr/local/cuda

輸入y安裝CUDA 8.0 Samples。

輸入CUDA 8.0 Samples安裝路徑:/home/用戶名/CUDA/samples 我這里是 /home/joe/CUDA/samples

結尾會顯示 WARNING 這個不要緊  因為是第二部 沒有安裝driver (我們已經安裝) 

四個更新包

sudo sh cuda_9.0.176.1_linux.run
sudo sh cuda_9.0.176.2_linux.run
sudo sh cuda_9.0.176.3_linux.run
sudo sh cuda_9.0.176.4_linux.run

 

修改環境變量

安裝完Cuda-9.0后,還需要將其添加至系統環境變量。

ubuntu下某些程序需要自己定義LD_LIBRARY_PATH,修改下面文件的環境變量:

sudo gedit  ~/.bashrc

打開“profile”文件,在末尾處添加(注意不要有空格,不然會報錯):

export PATH=/usr/local/cuda-9.0/bin:$PATH


export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH

export PATH=$PATH:/usr/local/cuda/bin

 

保存文本后,更新系統環境變量

source ~/.bashrc
sudo ldconfig -v

至此,可以通過在終端輸入nvcc --version,檢查Cuda-9.0是否安裝成功。

也可以測試cuda的Samples

cd /home/joe/CUDA/samples/NVIDIA_CUDA-9.0_Samples/
sudo make -j8
cd /home/joe/CUDA/samples/NVIDIA_CUDA-9.0_Samples/bin/x86_64/linux/release
./deviceQuery

運行最后顯示Result = Pass

注意路徑要根據你自己的進行修改

如果顯示的是一些關於GPU的信息,則說明安裝成功了。
 

4.安裝對應版本的cudnn

首先去官網下載你需要的cudnn,下載的時候需要注冊賬號。選擇對應你cuda版本的cudnn下載。
https://developer.nvidia.com/rdp/cudnn-archive

cuDNN v7.1.2 Runtime Library for Ubuntu16.04 (Deb)
cuDNN v7.1.2 Developer Library for Ubuntu16.04 (Deb)
cuDNN v7.1.2 Code Samples and User Guide for Ubuntu16.04 (Deb)

安裝

sudo dpkg -i libcudnn7_7.1.2.21-1+cuda9.1_amd64.deb
sudo dpkg -i libcudnn7-dev_7.1.2.21-1+cuda9.1_amd64.deb
sudo dpkg -i libcudnn7-doc_7.1.2.21-1+cuda9.1_amd64.deb

環境變量

sudo gedit ~/.bashrc

在文件最後加上

export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH

生效

source ~/.bashrc
sudo ldconfig -v

執行samples

cp -r /usr/src/cudnn_samples_v7/ $HOME
cd  $HOME/cudnn_samples_v7/mnistCUDNN
make clean && make
./mnistCUDNN

發生了錯誤 找不到libcudart.so.9.0

這是因為 環境變量的問題

sudo gedit /etc/profile

 

export PATH=$PATH:/usr/local/cuda-9.0/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-9.0/lib64
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda-9.0/lib64

 配置文件生效

source /etc/profile

 

環境變量設置完 重新測試

./mnistCUDNN

如果在別的地方也報  找不到libcudart.so.9.0

若仍提示相同的錯誤,則執行以下命令,將相應的庫文件復制到/usr/lib

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

 

ps. ldconfig命令是一個動態鏈接庫管理命令,是為了讓動態鏈接庫為系統共享

 

 5.安裝opencv

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential cmake pkg-config
sudo apt-get install libjpeg8-dev libtiff5-dev libjasper-dev libpng12-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install libgtk-3-dev
sudo apt-get install libatlas-base-dev gfortran

下載opencv + contrib

wget -O opencv.zip https://github.com/Itseez/opencv/archive/3.2.0.zip
wget -O opencv_contrib.zip https://github.com/Itseez/opencv_contrib/archive/3.2.0.zip

安裝cmake-gui

sudo apt-get install cmake-qt-gui

啟動cmake-gui

 

改好目錄 點configure 結束后會出現紅色的部分

下面需要更改幾個參數

(1)OPENCV_EXTRA_MODULES_PATH

這個參數指定的是額外模塊的路徑,指定了之后CMake就會自動尋找是否有額外模塊。需要注意的是路徑是contrib目錄下的modules,例如/home/joe/Documents/opencv-3.4.1/opencv_contrib-3.4.1/modules,而不能只寫到/home/joe/Documents/opencv-3.4.1/opencv_contrib-3.4.1,會提示找不到模塊。

(2)OPENCV_ENABLE_NONFREE

 

這個參數的作用是啟用OpenCV中的非免費模塊,如果你想使用SIFT、SURF等算法,則必須要開啟,否則等你調用它們的時候會提示它們是非免費模塊,沒有啟用。

以上便是兩個使用Contrib模塊必須要修改的參數,其它沒有特殊要求默認即可。配置好后,點擊”Configure”按鈕,CMake即開始配置,不出意外的話會會下載一些文件,這些文件都是外網的,還比較大,因此經常失敗。 一般有兩個文件比較難下,一個是face_landmark_model.dat

這里建議開VPN 不然這兩個文件下不了 需要手動更換 具體看

https://zhaoxuhui.top/blog/2019/06/04/OpenCVContribEnvCPP.html

下載完成 點擊 generate

 

4.編譯代碼

在新建的build文件夾里打開終端

# 利用下面的命令得到系統的線程數
nproc
# 得到n下面輸入jn
make -j8 

 

安裝OpenCV中反復出現一個warning,not used because“ OPENCV_TRAITS_ENABLE_DEPRECATED ”has been defined。幾乎每編譯一個文件都會彈出這個警告。實踐證明,這個警告並不影響最終的程序執行。只要沒有error,warning一般可以忽略。 

 

安裝完成 將相關頭文件拷貝到系統中去

make install

 

如果安裝錯了想刪除

make install以后,源文件不建議刪除,因為如果以后還需要卸載的話,直接在build目錄下打開終端輸入make uninstall即可,否則的話只能手動刪除目錄文件了

 

 

最后需要編輯配置文件,修改兩個文件/etc/ld.so.conf和/etc/bash.bashrc,最后source一下,使修改立即生效

sudo gedit /etc/ld.so.conf
# 在ld.so.conf末尾加上這行/usr/local/lib 然后退出編輯
source /etc/ld.so.conf
sudo ldconfig
 
sudo gedit /etc/bash.bashrc
# 在末尾添加下面兩行
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
# 退出編輯
source /etc/bash.bashrc

 測試opencv安裝是否成功,執行命令如下:

opencv_version
# 3.4.1

 

6.卸載Cuda和Cudnn

卸載Cuda-9.0

終端輸入

cd /usr/local/cuda-9.0/bin
sudo ./uninstall_cuda_9.0.pl

卸載Cudnn

終端輸入

sudo apt remove cudnn*

 

7.安裝tensorflow-gpu

直接通過pip安裝Tensorflow-gpu

sudo pip3 install tensorflow-gpu

 

8. 安裝teamviewer

官網選擇linux版本,下載ubuntu版本deb安裝包,官網鏈接地址:下載 Linux 版 TeamViewer,進行遠程桌面訪問和協作

 

wget https://download.teamviewer.com/download/linux/teamviewer_amd64.deb

 這里建議用linux平台可用的motrix (類似迅雷) 下載

下載完成,使用如下命令進行deb包的安裝:

sudo dpkg -i teamviewer_amd64.deb

如果出現依賴庫安裝失敗執行如下命令,強制更新類庫依賴:

sudo apt-get install -f

安裝完成,執行啟動teamviewer命令如下:

teamviewer

 

 

參考

https://zhaoxuhui.top/blog/2019/06/04/OpenCVContribEnvCPP.html

https://blog.csdn.net/u011285477/article/details/89924919

https://oldpan.me/archives/ubuntu-install-opencv-from-source


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM