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
可以得到如下图所示的输出
由此可见,我电脑的显卡型号是GeForce 940MX
在官网选择自己版本型号,点击SEARCH
点击DOWNLOAD,驱动文件是 .run 格式。
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
返回以下结果,说明禁用成功。
重启电脑。
打开命令行,给文件添加可执行权限:
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
若有类似上图的输出,则安装成功。从图中可以看到该电脑可以支持的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,出错几率小
我的是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,可以更换稳定性好的网络,重新运行上述命令。