ubuntu16安裝cuda9.0 + cudnn7.5.1 + python3.6 配置mmdetection項目


1.降級內核

1.1 安裝新內核

由於最新ubuntu系統的內核等級過高,安裝低版本驅動會失敗,所以要將系統內核版本降低。

安裝4.4.0-98版本內核。

sudo apt-get install linux-headers-4.4.0-98-generic

linux-image-4.4.0-98-generic

linux-image-extra-4.4.0-98-generic

1.2更新grub

編輯/etc/default/grub

sudo vi /etc/default/grub

使用方向鍵移動到

GRUB_HIDDEN_TIMEOUT=0

按 i 鍵 進入編輯模式 在前面加入# 注釋該行,開機時會出現高級選項

#GRUB_HIDDEN_TIMEOUT=0

Esc鍵退出編輯 :w 保存 :q 退出

更新引導

sudo update-grub

如果當前驅動版本過高,重啟后可能會出現重復登錄的情況。可以提前把要安裝的顯卡驅動下載好,以備安裝。

重啟計算機,進入高級選項,選擇新安裝的內核。

sudo reboot

如果重復登錄,CTRL+ALT+F1進入命令行模式登錄。

1.3卸載舊內核

查看當前內核

uname -r

查看所有內核

$ dpkg --get-selections| grep linux

卸載多余內核

sudo apt remove linux-headers-4.15.0-43-generic
linux-modules-4.15.0-43-generic
linux-modules-extra-4.15.0-43-generic
linux-image-4.15.0-43-generic    

將/etc/default/grub修改回原始狀態。

2.安裝驅動

2.1從官網下載驅動

 由於384.81不支持1080ti,所以下載的是384.98

 

 

2.2安裝驅動

首先卸載原有驅動

sudo apt-get remove --purge nvidia-*
sudo apt-get autoremove

禁用nouveau驅動

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

在blacklist.conf文本最后添加:(禁用nouveau第三方驅動,之后也不需要改回來)

blacklist nouveau 
options nouveau modeset=0

執行更新

sudo update-initramfs -u

禁用X服務

sudo service lightdm stop

 文件授權

sudo chmod +x NVIDIA-Linux-x86_64-384.98.run

安裝驅動

sudo ./NVIDIA-Linux-x86_64-384.98.run –no-x-check -no-nouveau-check -no-opengl-files

–no-opengl-files:表示只安裝驅動文件,不安裝OpenGL文件。這個參數不可省略,否則會導致登陸界面死循環,英語一般稱為”login loop”或者”stuck in login”。

–no-x-check:表示安裝驅動時不檢查X服務,非必需。

–no-nouveau-check:表示安裝驅動時不檢查nouveau,非必需。
我安裝時使用

sudo sh NVIDIA-Linux-x86_64-384.98.run

並沒有出現選擇OpenGL的選項。

都是選擇左側選項。

2.3測試安裝成功

nvidia-smi

列出GPU的信息列表,表示驅動安裝成功

3.安裝cuda

參考https://blog.csdn.net/yinhuier/article/details/90600560

3.1下載cuda

網址:最新版 https://developer.nvidia.com/cuda-downloads
我選擇安裝的為9.0版本,鏈接:https://developer.nvidia.com/cuda-90-download-archive

 

 

3.2安裝cuda

執行安裝命令

$ sudo sh cuda_9.0.176_384.81_linux.run

下第二個詢問你是不是要安裝driver,一定要選n,因為我們已經安裝了 驅動

 

 查看環境變量

$ env

如果沒有相關變量

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

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

3.3測試安裝成功

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

 

4.安裝cudnn

參考https://blog.csdn.net/dudu815110/article/details/88592558

4.1下載cudnn

在官網https://developer.nvidia.com/rdp/cudnn-download下載 對應CUDA版本的cudnn壓縮包

 由於后面安裝torch和torchvison時有版本要求所以我安裝的v7.5.1

 

 

 

在此我使用的deb的安裝包

 

 

4.2安裝cudnn

 

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

 

4.3測試安裝成功

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

安裝成功則會出現 Test passed!

5.conda創建環境

5.1創建環境

在此我使用的python3.6版本

conda create -n open-mmlab python=3.6 -y
conda activate open-mmlab

 

5.2安裝pytorch torchvision

進入https://pytorch.org/get-started/previous-versions/,選擇合適的版本

6.運行mmdetection

6.1配置mmdetection環境

克隆項目

git clone https://github.com/open-mmlab/mmdetection.git
cd mmdetection

運行安裝文件

python setup.py develop

如果出現 找不到setuptools.wheel ,需要重新安裝setuptools 不能用conda卸載安裝,因為會影響到torch和torchvision

pip uninstall setuptools
pip install setuptools

 如果出現無法找lib.os 錯誤,說明cuda獲取cudnn沒有裝好或者和torch,torchvison版本不匹配需要重新安裝。

如果出現找不到cuda,可能是由於版本問題,也可能是(不知道有沒有用,改一改,試一試)

 

 

 

 

 安裝 mmcv

pip install -v -e .

 

6.2運行項目

python tools/train.py  configs/guided_anchoring/ga_faster_x101_32x4d_fpn_1x.py 

 


免責聲明!

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



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