Ubuntu18.04从零开始安装显卡驱动、配置MMDetection3D环境

  • 概要
  • 安装NVIDIA英伟达显卡驱动
  • 参考文献
  • 其他
  • 安装CUDA 11.3、CuDNN、Anaconda
  • 安装CUDA
  • 安装CuDNN
  • 安装Anaconda
  • 参考文献
  • 安装MMDetection3D
  • 参考文献
  • Error处理


概要

显卡作为图像输出的硬件设备,在Ubuntu中默认安装一个开源的驱动,在“软件与更新”->“附加驱动”可以查看相关信息。
显卡驱动用来驱动显卡的程序,它向下调用硬件设备,向上提供封装接口。
CUDA(Compute Unified Device Architecture),是显卡厂商NVIDIA推出的运算平台,是一种通用并行计算架构,该架构使GPU能够解决复杂的计算问题。
CuDNN是用于深度神经网络的GPU加速库。

安装NVIDIA英伟达显卡驱动

查看自己电脑的显卡型号:

ubuntu-drivers devices

可以得到如下图所示的输出

windowS启动GPU驱动 gpu驱动怎么用_CUDA


由此可见,我电脑的显卡型号是GeForce 940MX

官网选择自己版本型号,点击SEARCH

windowS启动GPU驱动 gpu驱动怎么用_CUDA_02


点击DOWNLOAD,驱动文件是 .run 格式。

windowS启动GPU驱动 gpu驱动怎么用_linux_03


Ubuntu 系统默认安装好是使用的一个开源的驱动:nouveau,我们要安装官方的驱动需要先禁用这个开源驱动,依次在终端执行以下两条命令:

sudo bash -c "echo blacklist nouveau > /etc/modprobe.d/blacklist-nvidia-nouveau.conf"
sudo bash -c "echo options nouveau modeset=0 >> /etc/modprobe.d/blacklist-nvidia-nouveau.conf"

执行以下指令,检查是否禁用成功:

cat /etc/modprobe.d/blacklist-nvidia-nouveau.conf

返回以下结果,说明禁用成功。

windowS启动GPU驱动 gpu驱动怎么用_windowS启动GPU驱动_04


重启电脑。

打开命令行,给文件添加可执行权限:

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

安装驱动:

sudo ./NVIDIA-Linux-x86_64-450.66.run -no-opengl-files # -no-opengl-files:仅安装驱动,不安装OpenGL等文件

重启电脑,检查驱动是否安装成功:

nvidia-smi

windowS启动GPU驱动 gpu驱动怎么用_ubuntu_05

若有类似上图的输出,则安装成功。从图中可以看到该电脑可以支持的cuda版本最高是11.7,驱动是向下兼容的,所以cuda版本小于等于11.7的都可以安装上。

参考文献

英伟达官网下载手动安装英伟达官网下载手动安装与error处理

其他

除此之外,博主尝试过使用添加ppa源的方式和自动安装两种方法,安装nvidia驱动均未成功,并且系统无法进入图形化界面。此外,使用Ubuntu系统不要轻易升级系统内核sudo update -initramfs -u切忌千万不要随便更新内核,因为内核更新后,一些模块可能会失效,例如,wifi驱动。

安装CUDA 11.3、CuDNN、Anaconda

安装CUDA

官网下载CUDA 11.3的.run文件,运行指令

sudo sh cuda_11.3.0_465.19.01_linux.run

在安装CUDA 11.3过程中,按照步骤:接受许可协议; 不需要安装CUDA Installers,否则会安装失败。其余的选择可以根据自己的需要进行选择,但一般都是全部选择。选配完成后选择install即可。
装好之后打开环境变量

gedit ~/.bashrc

加入这两行保存,注意我这里是11.3,你如果是别的版本,要改成自己的

export PATH="/usr/local/cuda-11.3/bin:$PATH"
export LD_LIBRARY_PATH="/usr/lcoal/cuda-11.3/lib64:$LD_LIBRARY_PATH"

刷新环境变量

source ~/.bashrc

测试
终端逐条输入

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

若出现Result=PASS则安装成功。

安装CuDNN

官网下载三个deb包,一定要用deb,出错几率小

windowS启动GPU驱动 gpu驱动怎么用_MMDetection3D_06


我的是11.3,选择里面的8.2.1 for 11.x

第一步:安装runtime library

sudo dpkg -i libcudnn8_8.2.1.32-1+cuda11.3_amd64.deb

第二步:安装developer library

sudo dpkg -i libcudnn8-dev_8.2.1.32-1+cuda11.3_amd64.deb

第三步:安装code samples and the cuDNN Library User Guide

sudo dpkg -i libcudnn8-samples_8.2.1.32-1+cuda11.3_amd64.deb

最后安装一下依赖

sudo apt-get install libfreeimage3 libfreeimage-dev

测试
终端逐条输入

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

如果出现 Test passed,说明安装成功

安装Anaconda

到清华镜像源下载安装包
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 安装

bash Anaconda3-2022.05-Linux-x86_64.sh

打开condarc切换conda清华源

sudo gedit ~/.condarc

把其中的内容替换为清华源

channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
report_errors: false
auto_activate_base: false

添加Anaconda路径
打开bashrc文件

sudo gedit ~/.bashrc

在任意空行,添加以下一行命令,保存

export PATH=~/anaconda3/bin:$PATH

更新配置

source ~/.bashrc

参考文献

参考链接参考链接

安装MMDetection3D

基于前面安装的环境版本,配置MMDetection3D,代码如下:

conda create --name openmmlab python=3.8 -y
conda activate openmmlab
conda install pytorch==1.11.0 torchvision==0.12.0 torchaudio==0.11.0 cudatoolkit=11.3 -c pytorch # 安装pytorch1.11.0、CUDA 11.3版本
pip install openmim
pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu113/torch1.11.0/index.html
pip install mmdet # 若想修改其中的代码,详细下载方式见下文参考链接
pip install mmsegmentation # 若想修改其中的代码,详细下载方式见下文参考链接
git clone https://github.com/open-mmlab/mmdetection3d.git
cd mmdetection3d
pip install -v -e .  # or "python setup.py develop" 但后者我运行时会报KeyError的错,详见Error处理第一条
# "-v" means verbose, or more output
# "-e" means installing a project in editable mode,

安装Open3D,方便可视化:

pip install open3d-python

Error处理

一、KeyError: “There is no item named ‘nbconvert/tests/exporter_entrypoint/eptest-0.1.dist-info/WHEEL’ in the archive”
解决方法:使用命令 pip install -v -e .代替 python setup.py develop 二、使用命令 pip install -v -e .安装依赖时,若出现下载超时的error,可以更换稳定性好的网络,重新运行上述命令。