open-mmlab / mmdetection

BOX AP AP50 AP75 APS APM APL
SPEED
MODEL CODE PAPER
ε-REPR
CODE PAPER
ε-REPR
CODE PAPER
ε-REPR
CODE PAPER
ε-REPR
CODE PAPER
ε-REPR
CODE PAPER
ε-REPR
PAPER
GLOBAL RANK
Cascade Mask R-CNN
(ResNet-101-FPN, 1x LR)
0.426 -- 0.607 -- 0.467 -- 0.238 -- 0.464 -- 0.569 -- 7.5 #64
Cascade Mask R-CNN
(ResNet-101-FPN, 20e LR)
0.433 0.433 0.613 0.617 0.470 0.472 0.244 0.242 0.469 0.463
0.580 0.582 7.7 #24
Cascade Mask R-CNN
(ResNet-50-FPN, 1x LR)
0.412 0.413 0.591 0.594 0.451 0.453 0.233 0.232 0.445 0.438
0.545 0.558 8.1 #62
Cascade Mask R-CNN
(ResNet-50-FPN, 20e LR)
0.423 -- 0.605 -- 0.460 -- 0.237 -- 0.457 -- 0.564 -- 8.4 #66
Cascade Mask R-CNN
(ResNeXt-101 32x4d-FPN, 1x LR)
0.444 -- 0.626 -- 0.486 -- 0.254 -- 0.481 -- 0.587 -- 6.8 #20
Cascade Mask R-CNN
(ResNeXt-101 32x4d-FPN, 20e LR)
0.447 -- 0.630 -- 0.489 -- 0.259 -- 0.487 -- 0.589 -- 6.9 #24
Cascade Mask R-CNN
(ResNeXt-101 64x4d-FPN, 1x LR)
0.452 -- 0.639 -- 0.492 -- 0.262 -- 0.496 -- 0.596 -- 5.6 #12
Cascade Mask R-CNN
(ResNeXt-101 64x4d-FPN, 20e LR)
0.457 0.458 0.641 0.641 0.500 0.503 0.262 0.272 0.496 0.495 0.600 0.601 5.7 #12
Cascade R-CNN
(HRNetV2p-W32)
0.436 -- 0.615 -- 0.476 -- 0.255 -- 0.464 -- 0.573 -- 8.7 #27
Cascade R-CNN
(ResNet-101-FPN, 1x LR)
0.420 -- 0.603 -- 0.459 -- 0.232 -- 0.459 -- 0.563 -- 10.6 #66
Cascade R-CNN
(ResNet-101-FPN+, cascade)
0.425 -- 0.607 -- 0.463 -- 0.237 -- 0.461 -- 0.569 -- 10.7 #39
Cascade R-CNN
(ResNet-50-FPN+)
0.404 -- 0.585 -- 0.439 -- 0.215 -- 0.437 -- 0.538 -- 12.1 #49
Cascade R-CNN
(ResNet-50-FPN, 20e LR)
0.411 -- 0.591 -- 0.448 -- 0.225 -- 0.444 -- 0.549 -- 12.3 #50
Cascade R-CNN
(ResNeXt-101 32x4d-FPN, 1x LR)
0.436 -- 0.622 -- 0.474 -- 0.250 -- 0.477 -- 0.574 -- 9.1 #26
Cascade R-CNN
(ResNeXt-101 32x4d-FPN, 20e LR)
0.440 -- 0.625 -- 0.480 -- 0.253 -- 0.478 -- 0.581 -- 9.2 #24
Cascade R-CNN
(ResNeXt-101 64x4d-FPN, 1x LR)
0.445 -- 0.633 -- 0.486 -- 0.261 -- 0.481 -- 0.591 -- 7.0 #23
Cascade R-CNN
(ResNeXt-101 64x4d-FPN, 20e LR)
0.447 -- 0.631 -- 0.490 -- 0.258 -- 0.483 -- 0.588 -- 7.0 #18
Faster R-CNN
(HRNetV2p-W18)
0.383 -- 0.593 -- 0.417 -- 0.223 -- 0.414 -- 0.491 -- 9.3 #90
Faster R-CNN
(HRNetV2p-W18, 1x LR)
0.361 0.362 0.573 0.573 0.389 0.393 0.220 0.207
0.389 0.390 0.469 0.468 9.1 #97
Faster R-CNN
(HRNetV2p-W32)
0.406 -- 0.619 -- 0.441 -- 0.239 -- 0.441 -- 0.524 -- 9.6 #61
Faster R-CNN
(HRNetV2p-W32, 1x LR)
0.395 0.396 0.610 0.610 0.431 0.433 0.236 0.237 0.429 0.425 0.510 0.505 9.2 #56
Faster R-CNN
(ResNet-101-FPN, 1x LR)
0.385 -- 0.603 -- 0.416 -- 0.223 -- 0.430 -- 0.498 -- 11.8 #75
Faster R-CNN
(ResNet-101-FPN, 2x LR)
0.394 -- 0.606 -- 0.430 -- 0.221 -- 0.436 -- 0.521 -- 11.9 #73
Faster R-CNN
(ResNet-50-FPN, 1x LR)
0.364 -- 0.584 -- 0.391 -- 0.215 -- 0.400 -- 0.466 -- 13.8 #97
Faster R-CNN
(ResNet-50-FPN, 2x LR)
0.377 -- 0.592 -- 0.411 -- 0.219 -- 0.414 -- 0.487 -- 14.0 #89
Faster R-CNN
(ResNet-50-FPN, GN+WS, LR 1x)
0.389 -- 0.604 -- 0.421 -- 0.235 -- 0.424 -- 0.504 -- 9.9 #76
Faster R-CNN
(ResNeXt-101 32x4d-FPN, 1x LR)
0.401 -- 0.620 -- 0.438 -- 0.234 -- 0.446 -- 0.517 -- 10.1 #68
Faster R-CNN
(ResNeXt-101 32x4d-FPN, 2x LR)
0.404 -- 0.619 -- 0.441 -- 0.233 -- 0.446 -- 0.529 -- 10.2 #56
Faster R-CNN
(ResNeXt-101 64x4d-FPN, 1x LR)
0.413 -- 0.633 -- 0.452 -- 0.244 -- 0.458 -- 0.534 -- 7.5 #45
Faster R-CNN
(ResNeXt-101 64x4d-FPN, 2x LR)
0.407 -- 0.620 -- 0.446 -- 0.229 -- 0.445 -- 0.536 -- 7.6 #53
HTC
(HRNetV2p-W32)
0.453 -- 0.636 -- 0.491 -- 0.270 -- 0.484 -- 0.595 -- 3.8 #17
HTC
(ResNet-101-FPN)
0.449 -- 0.638 -- 0.487 -- 0.264 -- 0.483 -- 0.599 -- 4.2 #15
HTC
(ResNet-50-FPN, 1x LR)
0.421 -- 0.608 -- 0.459 -- 0.239 -- 0.455 -- 0.562 -- 3.6 #46
HTC
(ResNet-50-FPN, 20e LR)
0.432 -- 0.621 -- 0.468 -- 0.249 -- 0.464 -- 0.578 -- 4.3 #30
HTC
(ResNeXt-101 32x4d-FPN)
0.461 -- 0.651 -- 0.502 -- 0.275 -- 0.498 -- 0.612 -- 3.9 #12
HTC
(ResNeXt-101 64x4d-FPN)
0.469 -- 0.660 -- 0.512 -- 0.280 -- 0.507 -- 0.621 -- 3.5 #7
HTC
(ResNeXt-101 64x4d-FPN, DCN, multi-scale)
0.506 -- 0.701 -- 0.551 -- 0.328 -- 0.547 -- 0.664 -- 3.2 #1
Libra R-CNN
(Faster R-CNN, ResNet-101-FPN)
0.403 -- 0.612 -- 0.439 -- 0.233 -- 0.443 -- 0.522 -- #58
Libra R-CNN
(Faster R-CNN, ResNet-50-FPN)
0.385 -- 0.595 -- 0.425 -- 0.229 -- 0.418 -- 0.489 -- #92
Libra R-CNN
(Faster R-CNN, ResNeXt-101 64x4d-FPN)
0.427 -- 0.638 -- 0.468 -- 0.258 -- 0.466 -- 0.554 -- #20
Libra R-CNN
(RetinaNet, ResNet-50-FPN)
0.377 -- 0.570 -- 0.402 -- 0.216 -- 0.417 -- 0.495 -- #96
Mask R-CNN
(HRNetV2p-W18)
0.392 -- 0.601 -- 0.429 -- 0.241 -- 0.422 -- 0.507 -- 7.2 #75
Mask R-CNN
(HRNetV2p-W18, 1x LR)
0.372 0.371 0.581 -- 0.406 -- 0.221 0.219 0.403 0.395
0.476 0.479 7.0 #93
Mask R-CNN
(HRNetV2p-W32)
0.417 -- 0.624 -- 0.457 -- 0.251 -- 0.453 -- 0.543 -- 7.6 #41
Mask R-CNN
(HRNetV2p-W32, 1x LR)
0.407 0.409 0.618 -- 0.447 -- 0.252 0.245
0.444 0.439 0.518 0.522 7.3 #57
Mask R-CNN
(HRNetV2p-W32, cascade)
0.445 -- 0.623 -- 0.486 -- 0.261 -- 0.479 -- 0.585 -- 6.5 #20
Mask R-CNN
(ResNet-50-FPN, GN+WS, LR 20-23-24e)
0.410 -- 0.619 -- 0.448 -- 0.245 -- 0.446 -- 0.537 -- 7.9 #50
Mask R-CNN
(ResNet-50-FPN, GN+WS, LR 2x)
0.402 -- 0.608 -- 0.435 -- 0.235 -- 0.433 -- 0.534 -- 8.2 #56
Mask R-CNN
(ResNeXt-101 32x4d-FPN, GN+WS, LR 1x)
0.433 -- 0.641 -- 0.477 -- 0.252 -- 0.473 -- 0.569 -- 5.9 #25
Mask Scoring R-CNN
(ResNet-101-FPN, LR 1x)
0.398 -- 0.612 -- 0.434 -- 0.233 -- 0.439 -- 0.514 -- #64
Mask Scoring R-CNN
(ResNet-101-FPN, LR 2x)
0.407 -- 0.617 -- 0.446 -- 0.236 -- 0.446 -- 0.536 -- #52
Mask Scoring R-CNN
(ResNet-50-FPN, LR 1x)
0.374 -- 0.590 -- 0.405 -- 0.214 -- 0.409 -- 0.491 -- #90
Mask Scoring R-CNN
(ResNet-50-FPN, LR 2x)
0.382 -- 0.593 -- 0.414 -- 0.214 -- 0.414 -- 0.513 -- #90
Mask Scoring R-CNN
(ResNeXt-101 64x4d-FPN, LR 1x)
0.420 -- 0.640 -- 0.460 -- 0.248 -- 0.465 -- 0.543 -- #38
Mask Scoring R-CNN
(ResNeXt-101 64x4d-FPN, LR 2x)
0.422 -- 0.634 -- 0.461 -- 0.242 -- 0.460 -- 0.561 -- #45
RetinaNet
(ResNet-101-FPN, 1x LR)
0.377 -- 0.575 -- 0.404 -- 0.211 -- 0.422 -- 0.495 -- 10.1 #88
RetinaNet
(ResNet-101-FPN+, cascade)
0.381 -- 0.581 -- 0.406 -- 0.202 -- 0.418 -- 0.508 -- 10.4 #92
RetinaNet
(ResNet-50-FPN+)
0.356 -- 0.555 -- 0.383 -- 0.200 -- 0.396 -- 0.468 -- 11.0 #98
RetinaNet
(ResNet-50-FPN, 20e LR)
0.364 -- 0.563 -- 0.387 -- 0.193 -- 0.399 -- 0.489 -- 11.9 #98
RetinaNet
(ResNeXt-101 32x4d-FPN, 1x LR)
0.390 -- 0.594 -- 0.417 -- 0.226 -- 0.434 -- 0.509 -- 8.9 #79
RetinaNet
(ResNeXt-101 32x4d-FPN, 20e LR)
0.393 -- 0.598 -- 0.423 -- 0.210 -- 0.436 -- 0.523 -- 9.1 #69
RetinaNet
(ResNeXt-101 64x4d-FPN, 1x LR)
0.400 -- 0.609 -- 0.430 -- 0.235 -- 0.444 -- 0.526 -- 6.9 #59
RetinaNet
(ResNeXt-101 64x4d-FPN, 20e LR)
0.396 -- 0.603 -- 0.423 -- 0.216 -- 0.435 -- 0.535 -- 7.0 #86
SSD300
0.257 -- 0.439 -- 0.262 -- 0.069 -- 0.277 -- 0.426 -- 16.8 #102
SSD512
0.293 -- 0.492 -- 0.308 -- 0.118 -- 0.341 -- 0.447 -- 15.0 #101
See Full Build Details +get badge code
[![SotaBench](https://img.shields.io/endpoint.svg?url=https://sotabench.com/api/v0/badge/gh/deepparrot/mmdetection)](https://sotabench.com/user/PartyParrot/repos/deepparrot/mmdetection)

How the Repository is Evaluated

The full sotabench.py file - source
import argparse
import os
import os.path as osp
import shutil
import tempfile
import urllib.request
import json

from sotabencheval.object_detection import COCOEvaluator

import copy
import mmcv
import torch
import torch.distributed as dist
torch.manual_seed(0)
from mmcv.parallel import MMDataParallel, MMDistributedDataParallel
from mmcv.runner import get_dist_info, load_checkpoint

from mmdet.apis import init_dist
from mmdet.core import coco_eval, wrap_fp16_model
from mmdet.datasets import build_dataloader, build_dataset
from mmdet.models import build_detector

# Extract val2017 zip
from torchbench.utils import extract_archive
image_dir_zip = osp.join('./.data/vision/coco', 'val2017.zip')
extract_archive(from_path=image_dir_zip, to_path='./.data/vision/coco')

from pathlib import Path

if not os.path.isdir(Path.home() / '.cache/torch'):
    os.mkdir(Path.home() / '.cache/torch')

def xyxy2xywh(bbox):
    _bbox = bbox.tolist()
    return [
        _bbox[0],
        _bbox[1],
        _bbox[2] - _bbox[0] + 1,
        _bbox[3] - _bbox[1] + 1,
    ]


def proposal2json(dataset, results):
    json_results = []
    for idx in range(len(dataset)):
        img_id = dataset.img_ids[idx]
        bboxes = results[idx]
        for i in range(bboxes.shape[0]):
            data = dict()
            data['image_id'] = img_id
            data['bbox'] = xyxy2xywh(bboxes[i])
            data['score'] = float(bboxes[i][4])
            data['category_id'] = 1
            json_results.append(data)
    return json_results


def det2json(dataset, results):
    json_results = []
    for idx in range(len(dataset)):
        img_id = dataset.img_ids[idx]
        try:
            result = results[idx]
        except IndexError:
            break
        for label in range(len(result)):
            bboxes = result[label]
            for i in range(bboxes.shape[0]):
                data = dict()
                data['image_id'] = img_id
                data['bbox'] = xyxy2xywh(bboxes[i])
                data['score'] = float(bboxes[i][4])
                data['category_id'] = dataset.cat_ids[label]
                json_results.append(data)
    return json_results


def segm2json(dataset, results):
    bbox_json_results = []
    segm_json_results = []
    for idx in range(len(dataset)):
        img_id = dataset.img_ids[idx]
        try:
            det, seg = results[idx]
        except IndexError:
            break
        for label in range(len(det)):
            # bbox results
            bboxes = det[label]
            for i in range(bboxes.shape[0]):
                data = dict()
                data['image_id'] = img_id
                data['bbox'] = xyxy2xywh(bboxes[i])
                data['score'] = float(bboxes[i][4])
                data['category_id'] = dataset.cat_ids[label]
                bbox_json_results.append(data)

            # segm results
            # some detectors use different score for det and segm
            if len(seg) == 2:
                segms = seg[0][label]
                mask_score = seg[1][label]
            else:
                segms = seg[label]
                mask_score = [bbox[4] for bbox in bboxes]
            for i in range(bboxes.shape[0]):
                data = dict()
                data['image_id'] = img_id
                data['score'] = float(mask_score[i])
                data['category_id'] = dataset.cat_ids[label]
                segms[i]['counts'] = segms[i]['counts'].decode()
                data['segmentation'] = segms[i]
                segm_json_results.append(data)
    return bbox_json_results, segm_json_results


def cached_results2json(dataset, results, out_file):
    result_files = dict()
    if isinstance(results[0], list):
        json_results = det2json(dataset, results)
        result_files['bbox'] = '{}.{}.json'.format(out_file, 'bbox')
        result_files['proposal'] = '{}.{}.json'.format(out_file, 'bbox')
        mmcv.dump(json_results, result_files['bbox'])
    elif isinstance(results[0], tuple):
        json_results = segm2json(dataset, results)
        result_files['bbox'] = '{}.{}.json'.format(out_file, 'bbox')
        result_files['proposal'] = '{}.{}.json'.format(out_file, 'bbox')
        result_files['segm'] = '{}.{}.json'.format(out_file, 'segm')
        mmcv.dump(json_results[0], result_files['bbox'])
        mmcv.dump(json_results[1], result_files['segm'])
    elif isinstance(results[0], np.ndarray):
        json_results = proposal2json(dataset, results)
        result_files['proposal'] = '{}.{}.json'.format(out_file, 'proposal')
        mmcv.dump(json_results, result_files['proposal'])
    else:
        raise TypeError('invalid type of results')
    return result_files

def single_gpu_test(model, data_loader, show=False, evaluator=None):
    model.eval()
    results = []
    dataset = data_loader.dataset
    prog_bar = mmcv.ProgressBar(len(dataset))                    
        
    for i, data in enumerate(data_loader):
        with torch.no_grad():
            result = model(return_loss=False, rescale=not show, **data)
        results.append(result)

        if i == 0:
            temp_result_files = cached_results2json(copy.deepcopy(dataset), copy.deepcopy(results), 'temp_results.pkl')
            anns = json.load(open(temp_result_files['bbox']))
            evaluator.add(anns)
            from sotabencheval.object_detection.utils import get_coco_metrics
            print(evaluator.batch_hash)
            print(evaluator.cache_exists)
            if evaluator.cache_exists:
                return results, True
        
        if show:
            model.module.show_result(data, result, dataset.img_norm_cfg)

        batch_size = data['img'][0].size(0)
        for _ in range(batch_size):
            prog_bar.update()
            
    return results, False


def multi_gpu_test(model, data_loader, tmpdir=None):
    model.eval()
    results = []
    dataset = data_loader.dataset
    rank, world_size = get_dist_info()
    if rank == 0:
        prog_bar = mmcv.ProgressBar(len(dataset))
    for i, data in enumerate(data_loader):
        with torch.no_grad():
            result = model(return_loss=False, rescale=True, **data)
        results.append(result)

        if rank == 0:
            batch_size = data['img'][0].size(0)
            for _ in range(batch_size * world_size):
                prog_bar.update()

    # collect results from all ranks
    results = collect_results(results, len(dataset), tmpdir)

    return results


def collect_results(result_part, size, tmpdir=None):
    rank, world_size = get_dist_info()
    # create a tmp dir if it is not specified
    if tmpdir is None:
        MAX_LEN = 512
        # 32 is whitespace
        dir_tensor = torch.full((MAX_LEN, ),
                                32,
                                dtype=torch.uint8,
                                device='cuda')
        if rank == 0:
            tmpdir = tempfile.mkdtemp()
            tmpdir = torch.tensor(
                bytearray(tmpdir.encode()), dtype=torch.uint8, device='cuda')
            dir_tensor[:len(tmpdir)] = tmpdir
        dist.broadcast(dir_tensor, 0)
        tmpdir = dir_tensor.cpu().numpy().tobytes().decode().rstrip()
    else:
        mmcv.mkdir_or_exist(tmpdir)
    # dump the part result to the dir
    mmcv.dump(result_part, osp.join(tmpdir, 'part_{}.pkl'.format(rank)))
    dist.barrier()
    # collect all parts
    if rank != 0:
        return None
    else:
        # load results of all parts from tmp dir
        part_list = []
        for i in range(world_size):
            part_file = osp.join(tmpdir, 'part_{}.pkl'.format(i))
            part_list.append(mmcv.load(part_file))
        # sort the results
        ordered_results = []
        for res in zip(*part_list):
            ordered_results.extend(list(res))
        # the dataloader may pad some samples
        ordered_results = ordered_results[:size]
        # remove tmp dir
        shutil.rmtree(tmpdir)
        return ordered_results

def evaluate_model(model_name, paper_arxiv_id, weights_url, weights_name, paper_results, config):
    print('---')
    print('Now Evaluating %s' % model_name)
    evaluator = COCOEvaluator(
    root='./.data/vision/coco',
    model_name=model_name,
    paper_arxiv_id=paper_arxiv_id,
    paper_results=paper_results)

    out = 'results.pkl'
    launcher = 'none'

    if out is not None and not out.endswith(('.pkl', '.pickle')):
        raise ValueError('The output file must be a pkl file.')

    cfg = mmcv.Config.fromfile(config)
    cfg.data.test['ann_file'] = './.data/vision/coco/annotations/instances_val2017.json'
    cfg.data.test['img_prefix'] = './.data/vision/coco/val2017/'

    # set cudnn_benchmark
    if cfg.get('cudnn_benchmark', False):
        torch.backends.cudnn.benchmark = True
    cfg.model.pretrained = None
    cfg.data.test.test_mode = True

    # init distributed env first, since logger depends on the dist info.
    if launcher == 'none':
        distributed = False
    else:
        distributed = True
        init_dist(launcher, **cfg.dist_params)

    # build the dataloader
    # TODO: support multiple images per gpu (only minor changes are needed)
    dataset = build_dataset(cfg.data.test)
    data_loader = build_dataloader(
        dataset,
        imgs_per_gpu=1,
        workers_per_gpu=cfg.data.workers_per_gpu,
        dist=distributed,
        shuffle=False)

    # build the model and load checkpoint
    model = build_detector(cfg.model, train_cfg=None, test_cfg=cfg.test_cfg)
    fp16_cfg = cfg.get('fp16', None)
    if fp16_cfg is not None:
        wrap_fp16_model(model)
        
    local_checkpoint, _ = urllib.request.urlretrieve(
        weights_url,
         '%s/.cache/torch/%s' % (str(Path.home()), weights_name))

    print(local_checkpoint)
    
    # '/home/ubuntu/GCNet/mask_rcnn_r50_fpn_1x_20181010-069fa190.pth'
    checkpoint = load_checkpoint(model, local_checkpoint, map_location='cpu')

    # old versions did not save class info in checkpoints, this walkaround is
    # for backward compatibility
    if 'CLASSES' in checkpoint['meta']:
        model.CLASSES = checkpoint['meta']['CLASSES']
    else:
        model.CLASSES = dataset.CLASSES

    evaluator.reset_time()
        
    if not distributed:
        model = MMDataParallel(model, device_ids=[0])
        outputs, cache_exists = single_gpu_test(model, data_loader, False, evaluator)
    else:
        model = MMDistributedDataParallel(model.cuda())
        outputs = multi_gpu_test(model, data_loader, args.tmpdir)

    if cache_exists:
        print('Cache exists: %s' % (evaluator.batch_hash))
        evaluator.save()
    
    else:
        from mmdet.core import results2json

        rank, _ = get_dist_info()
        if out and rank == 0:
            print('\nwriting results to {}'.format(out))
            mmcv.dump(outputs, out)
            eval_types = ['bbox']
            if eval_types:
                print('Starting evaluate {}'.format(' and '.join(eval_types)))
                if eval_types == ['proposal_fast']:
                    result_file = out
                else:
                    if not isinstance(outputs[0], dict):
                        result_files = results2json(dataset, outputs, out)
                    else:
                        for name in outputs[0]:
                            print('\nEvaluating {}'.format(name))
                            outputs_ = [out[name] for out in outputs]
                            result_file = out + '.{}'.format(name)
                            result_files = results2json(dataset, outputs_,
                                                        result_file)
        anns = json.load(open(result_files['bbox']))
        evaluator.detections = []
        evaluator.add(anns)
        evaluator.save()

model_configs = []


# libra r-cnn

model_configs.append(
    {'model_name': 'Libra R-CNN (Faster R-CNN, ResNet-50-FPN)', 
     'paper_arxiv_id': '1904.02701',
     'weights_url': 'https://open-mmlab.s3.ap-northeast-2.amazonaws.com/mmdetection/models/libra_rcnn/libra_faster_rcnn_r50_fpn_1x_20190610-bf0ea559.pth',
     'weights_name': 'libra_faster_rcnn_r50_fpn_1x_20190610-bf0ea559.pth',
     'config': './configs/libra_rcnn/libra_faster_rcnn_r50_fpn_1x.py'}
)

model_configs.append(
    {'model_name': 'Libra R-CNN (Faster R-CNN, ResNet-101-FPN)', 
     'paper_arxiv_id': '1904.02701',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/libra_rcnn/libra_faster_rcnn_r101_fpn_1x_20190525-94e94051.pth',
     'weights_name': 'libra_faster_rcnn_r101_fpn_1x_20190525-94e94051.pth',
     'config': './configs/libra_rcnn/libra_faster_rcnn_r101_fpn_1x.py'}
)

model_configs.append(
    {'model_name': 'Libra R-CNN (Faster R-CNN, ResNeXt-101 64x4d-FPN)', 
     'paper_arxiv_id': '1904.02701',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/libra_rcnn/libra_faster_rcnn_x101_64x4d_fpn_1x_20190525-359c134a.pth',
     'weights_name': 'libra_faster_rcnn_x101_64x4d_fpn_1x_20190525-359c134a.pth',
     'config': './configs/libra_rcnn/libra_faster_rcnn_x101_64x4d_fpn_1x.py'}
)

model_configs.append(
    {'model_name': 'Libra R-CNN (RetinaNet, ResNet-50-FPN)', 
     'paper_arxiv_id': '1904.02701',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/libra_rcnn/libra_retinanet_r50_fpn_1x_20190525-ead2a6bb.pth',
     'weights_name': 'libra_retinanet_r50_fpn_1x_20190525-ead2a6bb.pth',
     'config': './configs/libra_rcnn/libra_retinanet_r50_fpn_1x.py'}
)

# mask scoring r-cnn

model_configs.append(
    {'model_name': 'Mask Scoring R-CNN (ResNet-50-FPN, LR 1x)', 
     'paper_arxiv_id': '1903.00241',
     'weights_url': 'https://open-mmlab.s3.ap-northeast-2.amazonaws.com/mmdetection/models/ms-rcnn/ms_rcnn_r50_caffe_fpn_1x_20190624-619934b5.pth',
     'weights_name': 'ms_rcnn_r50_caffe_fpn_1x_20190624-619934b5.pth',
     'config': './configs/ms_rcnn/ms_rcnn_r50_caffe_fpn_1x.py'}
)

model_configs.append(
    {'model_name': 'Mask Scoring R-CNN (ResNet-50-FPN, LR 2x)', 
     'paper_arxiv_id': '1903.00241',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/ms-rcnn/ms_rcnn_r50_caffe_fpn_2x_20190525-a07be31e.pth',
     'weights_name': 'ms_rcnn_r50_caffe_fpn_2x_20190525-a07be31e.pth',
     'config': './configs/ms_rcnn/ms_rcnn_r50_caffe_fpn_1x.py'}
)

model_configs.append(
    {'model_name': 'Mask Scoring R-CNN (ResNet-101-FPN, LR 1x)', 
     'paper_arxiv_id': '1903.00241',
     'weights_url': 'https://open-mmlab.s3.ap-northeast-2.amazonaws.com/mmdetection/models/ms-rcnn/ms_rcnn_r101_caffe_fpn_1x_20190624-677a5548.pth',
     'weights_name': 'ms_rcnn_r101_caffe_fpn_1x_20190624-677a5548.pth',
     'config': './configs/ms_rcnn/ms_rcnn_r101_caffe_fpn_1x.py'}
)

model_configs.append(
    {'model_name': 'Mask Scoring R-CNN (ResNet-101-FPN, LR 2x)', 
     'paper_arxiv_id': '1903.00241',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/ms-rcnn/ms_rcnn_r101_caffe_fpn_2x_20190525-4aee1528.pth',
     'weights_name': 'ms_rcnn_r101_caffe_fpn_2x_20190525-4aee1528.pth',
     'config': './configs/ms_rcnn/ms_rcnn_r101_caffe_fpn_1x.py'}
)

model_configs.append(
    {'model_name': 'Mask Scoring R-CNN (ResNeXt-101 64x4d-FPN, LR 1x)', 
     'paper_arxiv_id': '1903.00241',
     'weights_url': 'https://open-mmlab.s3.ap-northeast-2.amazonaws.com/mmdetection/models/ms-rcnn/ms_rcnn_x101_64x4d_fpn_1x_20190628-dec32bda.pth',
     'weights_name': 'ms_rcnn_x101_64x4d_fpn_1x_20190628-dec32bda.pth',
     'config': './configs/ms_rcnn/ms_rcnn_x101_64x4d_fpn_1x.py'}
)

model_configs.append(
    {'model_name': 'Mask Scoring R-CNN (ResNeXt-101 64x4d-FPN, LR 2x)', 
     'paper_arxiv_id': '1903.00241',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/ms-rcnn/ms_rcnn_x101_64x4d_fpn_2x_20190525-c044c25a.pth',
     'weights_name': 'ms_rcnn_x101_64x4d_fpn_2x_20190525-c044c25a.pth',
     'config': './configs/ms_rcnn/ms_rcnn_x101_64x4d_fpn_1x.py'}
)

# Weight Standardization

model_configs.append(
    {'model_name': 'Faster R-CNN (ResNet-50-FPN, GN+WS, LR 1x)', 
     'paper_arxiv_id': '1903.10520',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/ws/faster_rcnn_r50_fpn_gn_ws_1x_20190418-935d00b6.pth',
     'weights_name': 'faster_rcnn_r50_fpn_gn_ws_1x_20190418-935d00b6.pth',
     'config': './configs/gn+ws/faster_rcnn_r50_fpn_gn_ws_1x.py'}
)

model_configs.append(
    {'model_name': 'Mask R-CNN (ResNet-50-FPN, GN+WS, LR 2x)', 
     'paper_arxiv_id': '1903.10520',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/ws/mask_rcnn_r50_fpn_gn_ws_2x_20190419-9ec97bbb.pth',
     'weights_name': 'mask_rcnn_r50_fpn_gn_ws_2x_20190419-9ec97bbb.pth',
     'config': './configs/gn+ws/mask_rcnn_r50_fpn_gn_ws_2x.py'}
)

model_configs.append(
    {'model_name': 'Mask R-CNN (ResNet-50-FPN, GN+WS, LR 20-23-24e)', 
     'paper_arxiv_id': '1903.10520',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/ws/mask_rcnn_r50_fpn_gn_ws_20_23_24e_20190425-1d9e499e.pth',
     'weights_name': 'mask_rcnn_r50_fpn_gn_ws_20_23_24e_20190425-1d9e499e.pth',
     'config': './configs/gn+ws/mask_rcnn_r50_fpn_gn_ws_20_23_24e.py'}
)

model_configs.append(
    {'model_name': 'Mask R-CNN (ResNeXt-101 32x4d-FPN, GN+WS, LR 1x)', 
     'paper_arxiv_id': '1903.10520',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/ws/mask_rcnn_x101_32x4d_fpn_gn_ws_20_23_24e_20190425-1ff3e5b2.pth',
     'weights_name': 'mask_rcnn_x101_32x4d_fpn_gn_ws_20_23_24e_20190425-1ff3e5b2.pth',
     'config': './configs/gn+ws/mask_rcnn_x101_32x4d_fpn_gn_ws_2x.py'}
)


# SSD

model_configs.append(
    {'model_name': 'SSD300', 
     'paper_arxiv_id': '1512.02325',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/ssd300_coco_vgg16_caffe_120e_20181221-84d7110b.pth',
     'weights_name': 'ssd300_coco_vgg16_caffe_120e_20181221-84d7110b.pth',
     'config': './configs/ssd300_coco.py',
    'paper_results': None}
)

model_configs.append(
    {'model_name': 'SSD512', 
     'paper_arxiv_id': '1512.02325',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/ssd512_coco_vgg16_caffe_120e_20181221-d48b0be8.pth',
     'weights_name': 'ssd512_coco_vgg16_caffe_120e_20181221-d48b0be8.pth',
     'config': './configs/ssd512_coco.py',
    'paper_results': None}
)

## Hybrid Task Cascade (HTC)

model_configs.append(
    {'model_name': 'HTC (ResNet-50-FPN, 1x LR)', 
     'paper_arxiv_id': '1901.07518',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/htc/htc_r50_fpn_1x_20190408-878c1712.pth',
     'weights_name': 'htc_r50_fpn_1x_20190408-878c1712.pth',
     'config': './configs/htc/htc_r50_fpn_1x.py',
    'paper_results': None}
)

model_configs.append(
    {'model_name': 'HTC (ResNet-50-FPN, 20e LR)', 
     'paper_arxiv_id': '1901.07518',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/htc/htc_r50_fpn_20e_20190408-c03b7015.pth',
     'weights_name': 'htc_r50_fpn_20e_20190408-c03b7015.pth',
     'config': './configs/htc/htc_r50_fpn_20e.py',
    'paper_results': None}
)

model_configs.append(
    {'model_name': 'HTC (ResNet-101-FPN)', 
     'paper_arxiv_id': '1901.07518',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/htc/htc_r101_fpn_20e_20190408-a2e586db.pth',
     'weights_name': 'htc_r101_fpn_20e_20190408-a2e586db.pth',
     'config': './configs/htc/htc_r101_fpn_20e.py',
    'paper_results': None}
)

model_configs.append(
    {'model_name': 'HTC (ResNeXt-101 32x4d-FPN)', 
     'paper_arxiv_id': '1901.07518',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/htc/htc_x101_32x4d_fpn_20e_20190408-9eae4d0b.pth',
     'weights_name': 'htc_x101_32x4d_fpn_20e_20190408-9eae4d0b.pth',
     'config': './configs/htc/htc_x101_32x4d_fpn_20e_16gpu.py',
    'paper_results': None}
)

model_configs.append(
    {'model_name': 'HTC (ResNeXt-101 64x4d-FPN)', 
     'paper_arxiv_id': '1901.07518',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/htc/htc_x101_64x4d_fpn_20e_20190408-497f2561.pth',
     'weights_name': 'htc_x101_64x4d_fpn_20e_20190408-497f2561.pth',
     'config': './configs/htc/htc_x101_64x4d_fpn_20e_16gpu.py',
    'paper_results': None}
)

model_configs.append(
    {'model_name': 'HTC (ResNeXt-101 64x4d-FPN, DCN, multi-scale)', 
     'paper_arxiv_id': '1901.07518',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/htc/htc_dconv_c3-c5_mstrain_400_1400_x101_64x4d_fpn_20e_20190408-0e50669c.pth',
     'weights_name': 'htc_dconv_c3-c5_mstrain_400_1400_x101_64x4d_fpn_20e_20190408-0e50669c.pth',
     'config': './configs/htc/htc_dconv_c3-c5_mstrain_400_1400_x101_64x4d_fpn_20e.py',
    'paper_results': None}
)

## Cascade Mask R-CNN

model_configs.append(
    {'model_name': 'Cascade Mask R-CNN (ResNet-50-FPN, 1x LR)', 
     'paper_arxiv_id': '1906.09756',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/cascade_mask_rcnn_r50_fpn_1x_20181123-88b170c9.pth',
     'weights_name': 'cascade_mask_rcnn_r50_fpn_1x_20181123-88b170c9.pth',
     'config': './configs/cascade_mask_rcnn_r50_fpn_1x.py',
    'paper_results': {'box AP': 0.413, 'AP50': 0.594, 'AP75': 0.453, 'APS': 0.232, 'APM': 0.438, 'APL': 0.558}}
)

model_configs.append(
    {'model_name': 'Cascade Mask R-CNN (ResNet-50-FPN, 20e LR)', 
     'paper_arxiv_id': '1906.09756',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/cascade_mask_rcnn_r50_fpn_20e_20181123-6e0c9713.pth',
     'weights_name': 'cascade_mask_rcnn_r50_fpn_20e_20181123-6e0c9713.pth',
     'config': './configs/cascade_mask_rcnn_r50_fpn_1x.py',
    'paper_results': None}
)

model_configs.append(
    {'model_name': 'Cascade Mask R-CNN (ResNet-101-FPN, 1x LR)', 
     'paper_arxiv_id': '1906.09756',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/cascade_mask_rcnn_r101_fpn_1x_20181129-64f00602.pth',
     'weights_name': 'cascade_mask_rcnn_r101_fpn_1x_20181129-64f00602.pth',
     'config': './configs/cascade_mask_rcnn_r101_fpn_1x.py',
    'paper_results': None}
)

model_configs.append(
    {'model_name': 'Cascade Mask R-CNN (ResNet-101-FPN, 20e LR)', 
     'paper_arxiv_id': '1906.09756',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/cascade_mask_rcnn_r101_fpn_20e_20181129-cb85151d.pth',
     'weights_name': 'cascade_mask_rcnn_r101_fpn_20e_20181129-cb85151d.pth',
     'config': './configs/cascade_mask_rcnn_r101_fpn_1x.py',
    'paper_results': {'box AP': 0.433, 'AP50': 0.617, 'AP75': 0.472, 'APS': 0.242, 'APM': 0.463, 'APL': 0.582}}
)

model_configs.append(
    {'model_name': 'Cascade Mask R-CNN (ResNeXt-101 32x4d-FPN, 1x LR)', 
     'paper_arxiv_id': '1906.09756',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/cascade_mask_rcnn_x101_32x4d_fpn_1x_20181218-1d944c89.pth',
     'weights_name': 'cascade_mask_rcnn_x101_32x4d_fpn_1x_20181218-1d944c89.pth',
     'config': './configs/cascade_mask_rcnn_x101_32x4d_fpn_1x.py',
    'paper_results': None}
)

model_configs.append(
    {'model_name': 'Cascade Mask R-CNN (ResNeXt-101 32x4d-FPN, 20e LR)', 
     'paper_arxiv_id': '1906.09756',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/cascade_mask_rcnn_x101_32x4d_fpn_20e_20181218-761a3473.pth',
     'weights_name': 'cascade_mask_rcnn_x101_32x4d_fpn_20e_20181218-761a3473.pth',
     'config': './configs/cascade_mask_rcnn_x101_32x4d_fpn_1x.py',
    'paper_results': None}
)

model_configs.append(
    {'model_name': 'Cascade Mask R-CNN (ResNeXt-101 64x4d-FPN, 1x LR)', 
     'paper_arxiv_id': '1906.09756',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/cascade_mask_rcnn_x101_64x4d_fpn_1x_20190501-827e0a70.pth',
     'weights_name': 'cascade_mask_rcnn_x101_64x4d_fpn_1x_20190501-827e0a70.pth',
     'config': './configs/cascade_mask_rcnn_x101_64x4d_fpn_1x.py',
    'paper_results': None}
)

model_configs.append(
    {'model_name': 'Cascade Mask R-CNN (ResNeXt-101 64x4d-FPN, 20e LR)', 
     'paper_arxiv_id': '1906.09756',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/cascade_mask_rcnn_x101_64x4d_fpn_20e_20181218-630773a7.pth',
     'weights_name': 'htc_dconv_c3-c5_mstrain_400_1400_x101_64x4d_fpn_20e_20190408-0e50669c.pth',
     'config': './configs/cascade_mask_rcnn_x101_64x4d_fpn_1x.py',
    'paper_results': {'box AP': 0.458, 'AP50': 0.641, 'AP75': 0.503, 'APS': 0.272, 'APM': 0.495, 'APL': 0.601}}
)

## Cascade R-CNN

model_configs.append(
    {'model_name': 'Cascade R-CNN (ResNet-50-FPN+)', 
     'paper_arxiv_id': '1906.09756',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/cascade_rcnn_r50_fpn_1x_20190501-3b6211ab.pth',
     'weights_name': 'cascade_rcnn_r50_fpn_1x_20190501-3b6211ab.pth',
     'config': './configs/cascade_rcnn_r50_fpn_1x.py'}
)

model_configs.append(
    {'model_name': 'Cascade R-CNN (ResNet-50-FPN, 20e LR)', 
     'paper_arxiv_id': '1906.09756',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/cascade_rcnn_r50_fpn_20e_20181123-db483a09.pth',
     'weights_name': 'cascade_rcnn_r50_fpn_20e_20181123-db483a09.pth',
     'config': './configs/cascade_rcnn_r50_fpn_1x.py'}
)

model_configs.append(
    {'model_name': 'Cascade R-CNN (ResNet-101-FPN, 1x LR)', 
     'paper_arxiv_id': '1906.09756',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/cascade_rcnn_r101_fpn_1x_20181129-d64ebac7.pth',
     'weights_name': 'cascade_rcnn_r101_fpn_1x_20181129-d64ebac7.pth',
     'config': './configs/cascade_rcnn_r101_fpn_1x.py'}
)

model_configs.append(
    {'model_name': 'Cascade R-CNN (ResNet-101-FPN+, cascade)', 
     'paper_arxiv_id': '1906.09756',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/cascade_rcnn_r101_fpn_20e_20181129-b46dcede.pth',
     'weights_name': 'cascade_rcnn_r101_fpn_20e_20181129-b46dcede.pth',
     'config': './configs/cascade_rcnn_r101_fpn_1x.py'}
)

model_configs.append(
    {'model_name': 'Cascade R-CNN (ResNeXt-101 32x4d-FPN, 1x LR)', 
     'paper_arxiv_id': '1906.09756',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/cascade_rcnn_x101_32x4d_fpn_1x_20190501-af628be5.pth',
     'weights_name': 'cascade_rcnn_x101_32x4d_fpn_1x_20190501-af628be5.pth',
     'config': './configs/cascade_rcnn_x101_32x4d_fpn_1x.py'}
)

model_configs.append(
    {'model_name': 'Cascade R-CNN (ResNeXt-101 32x4d-FPN, 20e LR)', 
     'paper_arxiv_id': '1906.09756',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/cascade_rcnn_x101_32x4d_fpn_2x_20181218-28f73c4c.pth',
     'weights_name': 'cascade_rcnn_x101_32x4d_fpn_2x_20181218-28f73c4c.pth',
     'config': './configs/cascade_rcnn_x101_32x4d_fpn_1x.py'}
)

model_configs.append(
    {'model_name': 'Cascade R-CNN (ResNeXt-101 64x4d-FPN, 1x LR)', 
     'paper_arxiv_id': '1906.09756',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/cascade_rcnn_x101_64x4d_fpn_1x_20181218-e2dc376a.pth',
     'weights_name': 'cascade_rcnn_x101_64x4d_fpn_1x_20181218-e2dc376a.pth',
     'config': './configs/cascade_rcnn_x101_64x4d_fpn_1x.py'}
)

model_configs.append(
    {'model_name': 'Cascade R-CNN (ResNeXt-101 64x4d-FPN, 20e LR)', 
     'paper_arxiv_id': '1906.09756',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/cascade_rcnn_x101_64x4d_fpn_2x_20181218-5add321e.pth',
     'weights_name': 'cascade_rcnn_x101_64x4d_fpn_2x_20181218-5add321e.pth',
     'config': './configs/cascade_rcnn_x101_64x4d_fpn_1x.py'}
)

## RetinaNet

model_configs.append(
    {'model_name': 'RetinaNet (ResNet-50-FPN+)', 
     'paper_arxiv_id': '1708.02002',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/retinanet_r50_fpn_1x_20181125-7b0c2548.pth',
     'weights_name': 'retinanet_r50_fpn_1x_20181125-7b0c2548.pth',
     'config': './configs/retinanet_r50_fpn_1x.py'}
)

model_configs.append(
    {'model_name': 'RetinaNet (ResNet-50-FPN, 20e LR)', 
     'paper_arxiv_id': '1708.02002',
     'weights_url': 'https://open-mmlab.s3.ap-northeast-2.amazonaws.com/mmdetection/models/retinanet_r50_fpn_2x_20190616-75574209.pth',
     'weights_name': 'retinanet_r50_fpn_2x_20190616-75574209.pth',
     'config': './configs/retinanet_r50_fpn_1x.py'}
)

model_configs.append(
    {'model_name': 'RetinaNet (ResNet-101-FPN, 1x LR)', 
     'paper_arxiv_id': '1708.02002',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/retinanet_r101_fpn_1x_20181129-f016f384.pth',
     'weights_name': 'retinanet_r101_fpn_1x_20181129-f016f384.pth',
     'config': './configs/retinanet_r101_fpn_1x.py'}
)

model_configs.append(
    {'model_name': 'RetinaNet (ResNet-101-FPN+, cascade)', 
     'paper_arxiv_id': '1708.02002',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/retinanet_r101_fpn_2x_20181129-72c14526.pth',
     'weights_name': 'retinanet_r101_fpn_2x_20181129-72c14526.pth',
     'config': './configs/retinanet_r101_fpn_1x.py'}
)

model_configs.append(
    {'model_name': 'RetinaNet (ResNeXt-101 32x4d-FPN, 1x LR)', 
     'paper_arxiv_id': '1708.02002',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/retinanet_x101_32x4d_fpn_1x_20190501-967812ba.pth',
     'weights_name': 'retinanet_x101_32x4d_fpn_1x_20190501-967812ba.pth',
     'config': './configs/retinanet_x101_32x4d_fpn_1x.py'}
)

model_configs.append(
    {'model_name': 'RetinaNet (ResNeXt-101 32x4d-FPN, 20e LR)', 
     'paper_arxiv_id': '1708.02002',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/retinanet_x101_32x4d_fpn_2x_20181218-8596452d.pth',
     'weights_name': 'retinanet_x101_32x4d_fpn_2x_20181218-8596452d.pth',
     'config': './configs/retinanet_x101_32x4d_fpn_1x.py'}
)

model_configs.append(
    {'model_name': 'RetinaNet (ResNeXt-101 64x4d-FPN, 1x LR)', 
     'paper_arxiv_id': '1708.02002',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/retinanet_x101_64x4d_fpn_1x_20181218-a0a22662.pth',
     'weights_name': 'retinanet_x101_64x4d_fpn_1x_20181218-a0a22662.pth',
     'config': './configs/retinanet_x101_64x4d_fpn_1x.py'}
)

model_configs.append(
    {'model_name': 'RetinaNet (ResNeXt-101 64x4d-FPN, 20e LR)', 
     'paper_arxiv_id': '1708.02002',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/retinanet_x101_64x4d_fpn_2x_20181218-5e88d045.pth',
     'weights_name': 'retinanet_x101_64x4d_fpn_2x_20181218-5e88d045.pth',
     'config': './configs/retinanet_x101_64x4d_fpn_1x.py'}
)

## Faster R-CNN

model_configs.append(
    {'model_name': 'Faster R-CNN (ResNet-50-FPN, 1x LR)', 
     'paper_arxiv_id': '1506.01497',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/faster_rcnn_r50_fpn_1x_20181010-3d1b3351.pth',
     'weights_name': 'faster_rcnn_r50_fpn_1x_20181010-3d1b3351.pth',
     'config': './configs/faster_rcnn_r50_fpn_1x.py'}
)

model_configs.append(
    {'model_name': 'Faster R-CNN (ResNet-50-FPN, 2x LR)', 
     'paper_arxiv_id': '1506.01497',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/faster_rcnn_r50_fpn_2x_20181010-443129e1.pth',
     'weights_name': 'faster_rcnn_r50_fpn_2x_20181010-443129e1.pth',
     'config': './configs/faster_rcnn_r50_fpn_1x.py'}
)

model_configs.append(
    {'model_name': 'Faster R-CNN (ResNet-101-FPN, 1x LR)', 
     'paper_arxiv_id': '1506.01497',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/faster_rcnn_r101_fpn_1x_20181129-d1468807.pth',
     'weights_name': 'faster_rcnn_r101_fpn_1x_20181129-d1468807.pth',
     'config': './configs/faster_rcnn_r101_fpn_1x.py'}
)

model_configs.append(
    {'model_name': 'Faster R-CNN (ResNet-101-FPN, 2x LR)', 
     'paper_arxiv_id': '1506.01497',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/faster_rcnn_r101_fpn_2x_20181129-73e7ade7.pth',
     'weights_name': 'faster_rcnn_r101_fpn_2x_20181129-73e7ade7.pth',
     'config': './configs/faster_rcnn_r101_fpn_1x.py'}
)

model_configs.append(
    {'model_name': 'Faster R-CNN (ResNeXt-101 32x4d-FPN, 1x LR)', 
     'paper_arxiv_id': '1506.01497',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/faster_rcnn_x101_32x4d_fpn_1x_20181218-ad81c133.pth',
     'weights_name': 'faster_rcnn_x101_32x4d_fpn_1x_20181218-ad81c133.pth',
     'config': './configs/faster_rcnn_x101_32x4d_fpn_1x.py'}
)

model_configs.append(
    {'model_name': 'Faster R-CNN (ResNeXt-101 32x4d-FPN, 2x LR)', 
     'paper_arxiv_id': '1506.01497',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/faster_rcnn_x101_32x4d_fpn_2x_20181218-0ed58946.pth',
     'weights_name': 'faster_rcnn_x101_32x4d_fpn_2x_20181218-0ed58946.pth',
     'config': './configs/faster_rcnn_x101_32x4d_fpn_1x.py'}
)

model_configs.append(
    {'model_name': 'Faster R-CNN (ResNeXt-101 64x4d-FPN, 1x LR)', 
     'paper_arxiv_id': '1506.01497',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/faster_rcnn_x101_64x4d_fpn_1x_20181218-c9c69c8f.pth',
     'weights_name': 'faster_rcnn_x101_64x4d_fpn_1x_20181218-c9c69c8f.pth',
     'config': './configs/faster_rcnn_x101_64x4d_fpn_1x.py'}
)

model_configs.append(
    {'model_name': 'Faster R-CNN (ResNeXt-101 64x4d-FPN, 2x LR)', 
     'paper_arxiv_id': '1506.01497',
     'weights_url': 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/faster_rcnn_x101_64x4d_fpn_2x_20181218-fe94f9b8.pth',
     'weights_name': 'faster_rcnn_x101_64x4d_fpn_2x_20181218-fe94f9b8.pth',
     'config': './configs/faster_rcnn_x101_64x4d_fpn_1x.py'}
)

## HRNet

model_configs.append(
    {'model_name': 'Faster R-CNN (HRNetV2p-W18, 1x LR)', 
     'paper_arxiv_id': '1904.04514',
     'weights_url': 'https://open-mmlab.s3.ap-northeast-2.amazonaws.com/mmdetection/models/hrnet/faster_rcnn_hrnetv2p_w18_1x_20190522-e368c387.pth',
     'weights_name': 'faster_rcnn_hrnetv2p_w18_1x_20190522-e368c387.pth',
     'config': './configs/hrnet/faster_rcnn_hrnetv2p_w18_1x.py',
     'paper_results': {'box AP': 0.362, 'AP50': 0.573, 'AP75': 0.393, 'APS': 0.207, 'APM': 0.39, 'APL': 0.468}}
)

model_configs.append(
    {'model_name': 'Faster R-CNN (HRNetV2p-W18)', 
     'paper_arxiv_id': '1904.04514',
     'weights_url': 'https://open-mmlab.s3.ap-northeast-2.amazonaws.com/mmdetection/models/hrnet/faster_rcnn_hrnetv2p_w18_2x_20190810-9c8615d5.pth',
     'weights_name': 'faster_rcnn_hrnetv2p_w18_2x_20190810-9c8615d5.pth',
     'config': './configs/hrnet/faster_rcnn_hrnetv2p_w18_1x.py'}
)

model_configs.append(
    {'model_name': 'Faster R-CNN (HRNetV2p-W32, 1x LR)', 
     'paper_arxiv_id': '1904.04514',
     'weights_url': 'https://open-mmlab.s3.ap-northeast-2.amazonaws.com/mmdetection/models/hrnet/faster_rcnn_hrnetv2p_w32_1x_20190522-d22f1fef.pth',
     'weights_name': 'faster_rcnn_hrnetv2p_w32_1x_20190522-d22f1fef.pth',
     'config': './configs/hrnet/faster_rcnn_hrnetv2p_w32_1x.py',
     'paper_results': {'box AP': 0.396, 'AP50': 0.61, 'AP75': 0.433, 'APS': 0.237, 'APM': 0.425, 'APL': 0.505}} 
)

model_configs.append(
    {'model_name': 'Faster R-CNN (HRNetV2p-W32)', 
     'paper_arxiv_id': '1904.04514',
     'weights_url': 'https://open-mmlab.s3.ap-northeast-2.amazonaws.com/mmdetection/models/hrnet/faster_rcnn_hrnetv2p_w32_2x_20190810-24e8912a.pth',
     'weights_name': 'faster_rcnn_hrnetv2p_w32_2x_20190810-24e8912a.pth',
     'config': './configs/hrnet/faster_rcnn_hrnetv2p_w32_1x.py'} 
)

#maskrcnn

model_configs.append(
    {'model_name': 'Mask R-CNN (HRNetV2p-W18, 1x LR)', 
     'paper_arxiv_id': '1904.04514',
     'weights_url': 'https://open-mmlab.s3.ap-northeast-2.amazonaws.com/mmdetection/models/hrnet/mask_rcnn_hrnetv2p_w18_1x_20190522-c8ad459f.pth',
     'weights_name': 'mask_rcnn_hrnetv2p_w18_1x_20190522-c8ad459f.pth',
     'config': './configs/hrnet/mask_rcnn_hrnetv2p_w18_1x.py',
     'paper_results': {'box AP': 0.371, 'APS': 0.219, 'APM': 0.395, 'APL': 0.479}}
)

model_configs.append(
    {'model_name': 'Mask R-CNN (HRNetV2p-W18)', 
     'paper_arxiv_id': '1904.04514',
     'weights_url': 'https://open-mmlab.s3.ap-northeast-2.amazonaws.com/mmdetection/models/hrnet/mask_rcnn_hrnetv2p_w18_2x_20190810-1e4747eb.pth',
     'weights_name': 'mask_rcnn_hrnetv2p_w18_2x_20190810-1e4747eb.pth',
     'config': './configs/hrnet/mask_rcnn_hrnetv2p_w18_1x.py'}
)

model_configs.append(
    {'model_name': 'Mask R-CNN (HRNetV2p-W32, 1x LR)', 
     'paper_arxiv_id': '1904.04514',
     'weights_url': 'https://open-mmlab.s3.ap-northeast-2.amazonaws.com/mmdetection/models/hrnet/mask_rcnn_hrnetv2p_w32_1x_20190522-374aaa00.pth',
     'weights_name': 'mask_rcnn_hrnetv2p_w32_1x_20190522-374aaa00.pth',
     'config': './configs/hrnet/mask_rcnn_hrnetv2p_w32_1x.py',
     'paper_results': {'box AP': 0.409, 'APS': 0.245, 'APM': 0.439, 'APL': 0.522}}
) 

model_configs.append(
    {'model_name': 'Mask R-CNN (HRNetV2p-W32)', 
     'paper_arxiv_id': '1904.04514',
     'weights_url': 'https://open-mmlab.s3.ap-northeast-2.amazonaws.com/mmdetection/models/hrnet/mask_rcnn_hrnetv2p_w32_2x_20190810-773eca75.pth',
     'weights_name': 'mask_rcnn_hrnetv2p_w32_2x_20190810-773eca75.pth',
     'config': './configs/hrnet/mask_rcnn_hrnetv2p_w32_1x.py'}
) 

#cascadercnn

model_configs.append(
    {'model_name': 'Cascade R-CNN (HRNetV2p-W32)', 
     'paper_arxiv_id': '1904.04514',
     'weights_url': 'https://open-mmlab.s3.ap-northeast-2.amazonaws.com/mmdetection/models/hrnet/cascade_rcnn_hrnetv2p_w32_20e_20190522-55bec4ee.pth',
     'weights_name': 'cascade_rcnn_hrnetv2p_w32_20e_20190522-55bec4ee.pth',
     'config': './configs/hrnet/cascade_rcnn_hrnetv2p_w32_20e.py'}
)

#cascademaskkrcnn

model_configs.append( 
    {'model_name': 'Mask R-CNN (HRNetV2p-W32, cascade)', 
     'paper_arxiv_id': '1904.04514',
     'weights_url': 'https://open-mmlab.s3.ap-northeast-2.amazonaws.com/mmdetection/models/hrnet/cascade_mask_rcnn_hrnetv2p_w32_20e_20190810-76f61cd0.pth',
     'weights_name': 'cascade_mask_rcnn_hrnetv2p_w32_20e_20190810-76f61cd0.pth',
     'config': './configs/hrnet/cascade_mask_rcnn_hrnetv2p_w32_20e.py'}
)

#htc

model_configs.append(
    {'model_name': 'HTC (HRNetV2p-W32)', 
     'paper_arxiv_id': '1904.04514',
     'weights_url': 'https://open-mmlab.s3.ap-northeast-2.amazonaws.com/mmdetection/models/hrnet/htc_hrnetv2p_w32_20e_20190810-82f9ef5a.pth',
     'weights_name': 'htc_hrnetv2p_w32_20e_20190810-82f9ef5a.pth',
     'config': './configs/hrnet/htc_hrnetv2p_w32_20e.py'}
)


import torch.distributed as dist
dist.init_process_group('gloo', init_method='file:///tmp/somefile', rank=0, world_size=1)
    
for model_config in model_configs:
    if 'paper_results' not in model_config:
        model_config['paper_results'] = None
    
    evaluate_model(model_name=model_config['model_name'], 
                   paper_arxiv_id=model_config['paper_arxiv_id'],
                   weights_url=model_config['weights_url'],
                   weights_name=model_config['weights_name'],
                   paper_results=model_config['paper_results'],
                   config=model_config['config'])
STATUS
BUILD
COMMIT MESSAGE
RUN TIME
Update sotabench.py
deepparrot   f2e673f  ·  Oct 07 2019
11h:38m:07s
Update sotabench.py
deepparrot   c9116a6  ·  Oct 07 2019
1h:52m:51s
0h:12m:46s
0h:12m:00s
Update sotabench.py
deepparrot   3a0d5fc  ·  Oct 07 2019
0h:18m:44s
Update sotabench.py
deepparrot   e965c9f  ·  Oct 04 2019
8h:06m:30s
Update sotabench.py
deepparrot   1cc028f  ·  Oct 04 2019
2h:35m:01s
Update sotabench.py
deepparrot   764a752  ·  Oct 04 2019
0h:09m:06s
Update sotabench.py
deepparrot   c97dd61  ·  Oct 04 2019
4h:16m:38s
Update sotabench.py
deepparrot   ecf784a  ·  Oct 04 2019
3h:48m:58s
Update sotabench.py
deepparrot   21b3955  ·  Oct 03 2019
2h:39m:50s
Update sotabench.py
deepparrot   bcd4b19  ·  Oct 03 2019
0h:16m:04s
Update sotabench.py
deepparrot   09535fe  ·  Oct 03 2019
0h:09m:45s
Update sotabench.py
deepparrot   b9af45d  ·  Oct 03 2019
0h:10m:03s
Update sotabench.py
deepparrot   50020ea  ·  Oct 03 2019
0h:14m:49s
Update sotabench.py
deepparrot   92ceff0  ·  Oct 03 2019
0h:11m:50s
Update sotabench.py
deepparrot   e5bce38  ·  Oct 03 2019
0h:09m:05s
Update sotabench_setup.sh
deepparrot   9f596f2  ·  Oct 03 2019
0h:09m:03s
Update __init__.py
deepparrot   a592057  ·  Oct 03 2019
0h:04m:47s
Update sotabench_setup.sh
deepparrot   ebce05f  ·  Oct 03 2019
0h:04m:49s
Update sotabench.py
deepparrot   6c91603  ·  Oct 03 2019
0h:04m:31s
0h:04m:54s