原文GitHub地址
环境搭建:Linux (Ubuntu 16.04/18.04 and CentOS 7.2)(Windows可以自己研究搭建,官方暂不支持)
Python 3.5+ (Python 2不支持)
PyTorch 1.1 or higher
CUDA 9.0 or higher(9.0/9.2/10.0)
NCCL 2(2.1.15/2.2.13/2.3.7/2.4.2)
GCC(G++) 4.9 or higher(4.9/5.3/5.4/7.3)
mmcv
安装步骤:创建虚拟环境:
conda create -n open-mmlab python=3.7
#如果需要移除虚拟环境
#conda remove -n open-mmlab --all
source activate
conda activate open-mmlab
2. 安装torch环境
conda install pytorch torchvision -c pytorch
conda install cython -y
3. 克隆代码
git clone https://github.com/open-mmlab/mmdetection.git
cd mmdetection
4. 编译mmdetection的配置文件
python setup.py develop
# or "pip install -v -e ."
#python setup.py clean --all #若是安装没成功,则需要执行此命令进行清理
注意事项:
1. git提交id将通过上面的步骤写入版本号,例如0.6.0+2e7045c。
该版本也将保存在训练过的模型中。
建议每次从github中提取一些更新时运行上面的步骤。
如果修改了C/CUDA代码,则必须执行此步骤。
2. 按照上面的说明,mmdetection在开发模式下安装,
对代码进行的任何本地修改都将生效,而不需要重新安装(除非您提交了一些提交并想要更新版本号)。
3. 如果遇到“”bug,请参阅
mkdir data
ln -s $COCO_ROOT data
5. 其他选项:创建docker环境
# build an image with PyTorch 1.1, CUDA 10.0 and CUDNN 7.5
docker build -t mmdetection docker/
数据集的准备:建议将dataset根符号链接到$MMDETECTION/data。如果文件夹结构不同,则可能需要更改配置文件中相应的路径。
mmdetection
├── mmdet
├── tools
├── configs
├── data
│ ├── coco
│ │ ├── annotations
│ │ ├── train2017
│ │ ├── val2017
│ │ ├── test2017
│ ├── cityscapes
│ │ ├── annotations
│ │ ├── train
│ │ ├── val
│ ├── VOCdevkit
│ │ ├── VOC2007
│ │ ├── VOC2012
cityscapes annotations需要使用 cityscapesScripts
cd data/cityscapes/
mv train/*/* train/
多个版本的使用方法:如果您的机器上有想要使用多个mmdetection,则需创建多个conda环境,并为不同的版本使用不同的环境。
另一种方法是将以下代码插入主脚本(train.py,test.pyor any other scripts you run)
import os.path as osp
import sys
sys.path.insert(0, osp.join(osp.dirname(osp.abspath(__file__)), '../'))
3. 或者在对应文件夹的终端运行以下命令
export PYTHONPATH=`pwd`:$PYTHONPATH
参考