ubuntu16安装cuda9.0 + cudnn7.5.1 + python3.6 配置mmdetection项目

时间:2019-11-20
本文章向大家介绍ubuntu16安装cuda9.0 + cudnn7.5.1 + python3.6 配置mmdetection项目,主要包括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 

原文地址:https://www.cnblogs.com/zuhaoran/p/11896032.html