目录
5、安装相应的requirements和MMDetection
前言
最近在做分割的一个项目,需要用到几个常用的分割算法,例如Mask-RCNN、PANet等,但是考虑到网上的复现版本的配置都有些差异,所以就选择MMDetection2框架来用用(里面实现有很多常见的分割算法包括Mask-RCNN和PANet等),中途也遇到了一些问题,就写这篇中文博客记录一下,希望对同样想使用MMDetection2框架的朋友有所帮助。
PS:该博客主要内容参照MMDetection2官方文档(基本按照官方文档翻译orz)。
有需要的话还可以看其他几篇:
一、需要的环境
- Linux(我的是Ubuntu18.04)
- Python 3.6+(我按照官方的文档使用的python3.7)
- Pytorch 1.3+(我使用的是pytorch 1.5)
- CUDA 9.2+(我使用的是cuda 10.1)
- GCC 5+ (我使用的是gcc 6.5.0版本)
- MMCV (MMDetection官方提供的包)
MMDetection和MMCV的所对应的版本关系如下图所示,为了避免安装出现问题,请选择正确的MMCV版本进行安装。
PS:如果你之前已经安装过了mmcv,那么你首先需要使用 pip uninstall mmcv命令进行卸载,如果你将mmcv和mmcv-full这两个包都安装了,那么将会报 ModuleNotFoundError 错误。
二、安装
1、创建一个conda虚拟环境并激活它
# 这是创建python3.7的conda 虚拟环境
conda create -n open-mmlab python=3.7 -y
conda activate open-mmlab
2、安装PyTorch和torchvision包
这个地方可能会出现一些小问题:
2.1 pytorch版本的选择问题
pytorch的版本就到官网中找相应的命令行安装。
我用的pytorch1.5 + cuda10.1
#在之前创建的conda虚拟环境下,输入该命令
conda install pytorch==1.5.0 torchvision==0.6.0 cudatoolkit=10.1 -c pytorch
2.2 网络的问题
如果上面pytorch的安装网速比较顺畅的话,就可以跳过这个地方了。
我安装pytorch的网速比较慢,所以选择添加清华源的镜像。
# 如果添加之后网速还是有问题,可以考虑将下面的"https"改成"http"试试
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
#然后再输入pytorch安装命令(相比于之前的 少了-c pytorch后缀)
conda install pytorch==1.5.0 torchvision==0.6.0 cudatoolkit=10.1
3、安装mmcv-full包
官方推荐安装他们提前pre-build的包,需要到MMDetection相应的网址中找到与pytorch和cuda版本对应的pre-build 的mmcv-full包进行安装。
(复制相应的安装的命令行进行安装就好了)
#我的环境是pytorch 1.5 cuda10.1 版本和我不一样的话上面的网址链接中找对应版本的安装代码
pip install mmcv-full==latest+torch1.5.0+cu101 -f https://download.openmmlab.com/mmcv/dist/index.html
4、Clone MMDetection的项目仓库
git clone https://github.com/open-mmlab/mmdetection.git
cd mmdetection
5、安装相应的requirements和MMDetection
pip install -r requirements/build.txt
pip install -v -e . # or "python setup.py develop"