Skip to content
This repository was archived by the owner on Jul 2, 2023. It is now read-only.
/ chainer-mask-rcnn Public archive

Chainer Implementation of Mask R-CNN. (Training code to reproduce the original result is available.)

License

Notifications You must be signed in to change notification settings

wkentaro/chainer-mask-rcnn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Oct 6, 2021
d7fb449 · Oct 6, 2021
Sep 1, 2019
Aug 28, 2019
Aug 28, 2019
Oct 6, 2021
Jun 16, 2018
Apr 3, 2018
Jan 2, 2019
Apr 4, 2018
Aug 28, 2019
Aug 28, 2019
May 14, 2019
Aug 28, 2019
Oct 6, 2021

Repository files navigation

chainer-mask-rcnn

PyPI version Python Versions GitHub Actions

Chainer Implementation of Mask R-CNN.

Features


Fig 1. Mask R-CNN, ResNet50, 8GPU, Ours, COCO 31.4 mAP@50:95

COCO Results

Model Implementation N gpu training mAP@50:95 Log
Mask R-CNN, ResNet50 Ours 8 31.5 - 31.8 Log
Mask R-CNN, ResNet50 Detectron 8 31.4 (30.8 after copied) Log
FCIS, ResNet50 FCIS 8 27.1 -

Inference

# you can use your trained model
./demo.py logs/<YOUR_TRAINING_LOG> --img <IMAGE_PATH_OR_URL>

# COCO Example: Mask R-CNN, ResNet50, 31.4 mAP@50:95
cd examples/coco
LOG_DIR=logs/20180730_081433
mkdir -p $LOG_DIR
pip install gdown
gdown https://drive.google.com/uc?id=1XC-Mx4HX0YBIy0Fbp59EjJFOF7a3XK0R -O $LOG_DIR/snapshot_model.npz
gdown https://drive.google.com/uc?id=1fXHanL2pBakbkv83wn69QhI6nM6KjrzL -O $LOG_DIR/params.yaml
./demo.py $LOG_DIR

# copy weight from caffe2 to chainer
cd examples/coco
./convert_caffe2_to_chainer.py  # or download from https://drive.google.com/open?id=1WOEtVnxqYdHl35pAyIcp-H0HtTjI-l3V
./demo.py logs/R-50-C4_x1_caffe2_to_chainer --img https://raw.githubusercontent.com/facebookresearch/Detectron/master/demo/33823288584_1d21cf0a26_k.jpg
./demo.py logs/R-50-C4_x1_caffe2_to_chainer --img https://raw.githubusercontent.com/facebookresearch/Detectron/master/demo/17790319373_bd19b24cfc_k.jpg


Fig 2. Mask R-CNN, ResNet50, 8GPU, Copied from Detectron, COCO 31.4 mAP@50:95

Installation & Training

Single GPU Training

# Install Chainer Mask R-CNN.
pip install opencv-python
pip install .

# Run training!
cd examples/coco && ./train.py --gpu 0

Multi GPU Training

# Install OpenMPI
wget https://www.open-mpi.org/software/ompi/v3.0/downloads/openmpi-3.0.0.tar.gz
tar zxvf openmpi-3.0.0.tar.gz
cd openmpi-3.0.0
./configure --with-cuda
make -j4
sudo make install
sudo ldconfig

# Install NCCL
# dpkg -i nccl-repo-ubuntu1404-2.1.4-ga-cuda8.0_1-1_amd64.deb
dpkg -i nccl-repo-ubuntu1604-2.1.15-ga-cuda9.1_1-1_amd64.deb
sudo apt update
sudo apt install libnccl2 libnccl-dev

# Install ChainerMN
pip install chainermn

# Finally, install Chainer Mask R-CNN.
pip install opencv-python
pip install .

# Run training!
cd examples/coco && mpirun -n 4 ./train.py --multi-node

Testing

pip install flake8 pytest
flake8 .
pytest -v tests