浏览量:5174 最近编辑于:2022-06-15 19:26:26
# 前言
最近准备装facebook的Detectron2目标检测框架,因对Windows适配不是很好,需要预装很多依赖以及CMake用来编译,折腾了半天没弄好,遂果断转至Linux,舒服多了,但是中间还是踩了一些坑,下面讲讲注意的一些事项。
# 安装/卸载Nvidia驱动
## 安装
ubuntu安装英伟达显卡驱动有两种方式。
1.通过sudo命令安装:
`sudo apt install nvidia-driver-440`
2.打开Ubuntu自带的应用**Software&Updates**软件更新,选择要安装的驱动版本,如下图所示:

注:以上两种方式安装完均须重启后才能生效,uefi的电脑需要在重启时将Secure Boot设为**disable**
重启完打开设置点击关于(About)查看显卡信息(下图所示),如果变成N卡,驱动就安装成功了。

也可以终端输入`nvidia-smi`查看应用有没有使用N卡驱动,`nvidia-setting`命令可以打开设置面板,系统应用里同时也会有NVIDIA控制面板图标。
网上有的说安装前要先卸载禁用系统自带的驱动nouveau的,我直接装的暂时没遇到问题,有问题自行百度
## 卸载
终端输入
`sudo apt-get --purge remove nvidia*`
`sudo apt autoremove`
# 安装CUDA
## gcc降级
Ubuntu20.04自带的gcc版本为9.7.0,需要添加gcc7才可安装cuda10.2,输入命令安装gcc7
`apt-get install gcc-7 g++-7`
使用update-alternatives进行版本切换,输入以下命令:
`sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 100`
`sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 50`
此时输入sudo update-alternatives --config gcc命令查看gcc的默认版本,可以看到当前默认gcc版本为7,即切换成功。
## 下载CUDA
[https://developer.nvidia.com/cuda-toolkit-archive](https://developer.nvidia.com/cuda-toolkit-archive)
进入上面的官网找适合自己GPU版本的CUDA然后下载run文件到本地安装,也可在终端输入网页提示的命令安装
下载run文件
`wget http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run`
执行安装
`sudo sh cuda_10.2.89_440.33.01_linux.run`

中途需要点击Continue,输入accept,cuda安装包是自带显卡驱动的,所以按空格去掉安装显卡驱动的选项,然后选择install
## 配置环境
安装完需要配置环境变量
输入`gedit ~/.bashrc`命令打开文件,在文件结尾输入以下两个语句并保存:
`export PATH=/usr/local/cuda-10.2/bin${PATH:+:${PATH}}`
`export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}`
然后更新环境变量配置
`source ~/.bashrc`
安装完成输入`nvcc- V`查看CUDA版本信息
## 卸载
`sudo /usr/local/cuda-10.1/bin/cuda-uninstaller`
# cuDNN安装
cuDNN相比于上面的安装就要容易多了
[https://developer.nvidia.com/cudnn](https://developer.nvidia.com/cudnn)
直接从官网下载相应版本的cuDNN(需要登录),然后将下载好的gz格式的cuDNN解压,并将cuda/include/cudnn.h文件复制到usr/local/cuda/include文件夹,将cuda/lib64/下所有文件复制到/usr/local/cuda/lib64文件夹中,并添加读取权限:
`sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*`
至此,cuDNN就安装好了
# Pytorch1.6.0+cu102安装
`pip3 install torch torchvision`
或者去如下网站查找自己CUDA版本适合的pytorch,下载对应的whl文件,然后通过cd到下载目录执行`pip3 install xxx.whl`命令安装。
[https://download.pytorch.org/whl/torch_stable.html](https://download.pytorch.org/whl/torch_stable.html)
# Detectron2安装
首先安装依赖库:
`pip3 install opencv-python`
`pip3 install fvcore`
`pip3 install -U Cython`
`pip3 install -U pycocotools`
接着直接执行命令安装:
`pip3 install 'git+https://github.com/facebookresearch/detectron2.git'`
或者用git拉到本地安装:
`git clone https://github.com/facebookresearch/detectron2.git`
`cd detectron2 && pip install -e .`