Ubuntu20.04LTS 安装 mmdetection 全记录
环境需求
Requirements:
· Linux (Windows is not officially supported)
这里使用的Linux环境为 ubuntu 20.04 LTS
· Python 3.5+ (Python 2 is not supported)
· PyTorch 1.1 or higher
· CUDA 9.0 or higher
这里安装的CUDA版本为10.2,具体安装的版本主要根据各自安装的系统推荐
· NCCL 2
· GCC 4.9 or higher
· mmcv
准备工作
安装mmdetection需要安装很多额外的东西,也踩了很多坑,这里进行列举并介绍安装过程
anaconda安装
1.进入anaconda官网下载好对应的安装包
2.直接在命令行输入
bash ~/Downloads/Anaconda3-2020.07-Linux-x86_64.sh
安装 anaconda,这里的anaconda版本根据你安装的版本来
3.进入安装页面,一直按enter,之后遇到Do you accept the license terms? [yes|no],输入yes,之后按一下enter,会提示你设置安装地址
Anaconda3 will now be installed into this location:
/home/用户名/anaconda3
Press ENTER to confirm the location
Press CTRL-C to abort the installation
Or specify a different location below
强烈建议默认即可,
按enter继续下一步,注意这里按ctrl + c 直接会终止安装。
接下来先等待安装即可。
看到Thank you for installing Anaconda3! 表示安装成功。
4.输入
source ~/.bashrc
更新环境变量,之后就能正常使用啦
关于anaconda安装的更多问题参考博客:Ubuntu安装anaconda 介绍、安装、配置
gcc / g++ 安装
由于博主的Ubuntu才安装,很多环境都没有,同时直接使用sudo apt-get install gcc/g++ 会导致直接安装最新版本的gcc/g++,如果版本过高,会导致之后安装CUDA出现问题,因此在这里说明如何安装 gcc 5.3 与 g++ 5.3
进入命令行,依次输入如下安装命令
sudo apt-get install -y gcc-5
sudo apt-get install -y g++-5
查看版本号命令
gcc -v
g++ -v
如果不知道怎么从更高版本降级,可以先卸载掉,再输入上面的安装命令
sudo apt-get remove gcc
sudo apt-get remove g++
安装nvidia显卡驱动
上面已经说过,博主的ubuntu系统是新装的,基本什么都没有,所以也不用进行显卡驱动的卸载,有需要的人自行百度,下面讲解一下如何安装适合的nvidia驱动
1. 查看显卡硬件型号
打开终端输入
ubuntu-drivers devices
可以看到下面的界面
可以看到系统推荐(recommended)的驱动版本为nvidia-driver-440,这里大家可以自行查看自己系统的推荐驱动
2. 安装驱动
- 如果接受系统的安利,在终端输入命令
sudo ubuntu-drivers autoinstall
自动安装就可 - 如果想要自行安装驱动版本,就输入这个命令
sudo apt install nvidia-版本号
3. 之后就是一直默认安装驱动就ok了
安装CUDA
安装的CUDA版本需要与显卡驱动对应,所以需要根据驱动版本号选择要下载安装的CUDA版本,博主找到了下面这个最新的CUDA-显卡驱动对应表。
有更多需要的人可以自行从官网查询链接获得需要的信息
找到了对应的CUDA版本之后,就按如下步骤做:
1. 下载CUDA安装包
- 进入CUDA官网找到需要的版本,点进去,选择相应的系统,下载类型这里只讲解runfile(local)这种方式
- 按照官网给出的下载方式,在终端输入
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
但我在安装过程中,会出现这样的错误提示
[ERROR]: boost::filesystem::remove: Directory not empty: "/var/log/nvidia/.u
于是,经过一番折腾后,找到了解决办法(虽然我不知道为什么),在命令行输入下面这条语句进行安装,注意librarypath是安装目录,后面的10.2写成自己的CUDA版本号
sudo sh cuda_10.2.89_440.33.01_linux.run --silent --toolkit --samples --librarypath=/usr/local/cuda-10.2
根据提示安装CUDA,注意由于前面已经安装了驱动,在后面的安装中无需再次安装,要将其从安装列表取消掉,安装成功之后就完事大吉啦!!
正式安装mmdetection
主要参考mmdetection官方下载安装文档,以及根据我的实际情况介绍我的安装过程
创建一个conda虚拟环境
根据文档在命令行输入以下命令
conda create -n open-mmlab python=3.7 -y
conda activate open-mmlab
安装PyTorch和Torchvision
为确保编译CUDA版本和运行时CUDA版本匹配,可以在PyTorch网站上检查支持的CUDA版本的预编译软件包,输入官网给出的安装命令
由于我的cuda是10.2,所以输入下面的命令
conda install pytorch torchvision cudatoolkit=10.2 -c pytorch
这个过程可能耗时有点长
安装mmcv
PS:为避免出错,我没有使用精简命令下载mmcv,而是选择注明torch和cuda版本的下载方式。
由于mmcv的安装需要看torch和cuda版本,cuda版本我们已知,torch版本可以通过在命令行打开python,输入如下代码
import torch
print(torch.__version__)
我的torch版本是1.6.0,cuda版本是10.2,于是要安装对应的mmcv,可以通过mmcv官方文档查到如下命令
pip install mmcv-full==latest+torch1.6.0+cu102 -f https://openmmlab.oss-accelerate.aliyuncs.com/mmcv/dist/index.html
喝喝茶的功夫就下好啦=w=
mmdetection安装
- 克隆mmdetection存储库
git clone https://github.com/open-mmlab/mmdetection.git
克隆结束之后进入mmdetection目录
cd mmdetection
- 安装构建要求,然后安装mmdetection
依次输入下面的命令
pip install -r requirements/build.txt
pip install -v -e .
至此安装成功^ v ^
下次重装系统我也不怕不怕辣!!
后记
注意:重开机想要使用mmdetection需要输入conda activate open-mmlab
进入虚拟环境