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