Loading configs/resnet101_clipart.yaml 0 → 100644 +19 −0 Original line number Diff line number Diff line MODEL: BACKBONE: NAME: 'resnet101' ROI_BOX_HEAD: NUM_CLASSES: 21 BOX_PREDICTOR: 'resnet101_predictor' DATASETS: TRAINS: ['voc_2007_trainval', 'voc_2012_trainval'] TESTS: ['voc_clipart_traintest'] SOLVER: EPOCHS: 20 STEPS: (16, 18) LR: 1e-5 WEIGHT_DECAY: 0.0001 BATCH_SIZE: 1 TEST: EVAL_TYPES: ['voc'] WORK_DIR: './work_dir/clipart' No newline at end of file configs/vgg16_cityscapes.yaml +1 −1 Original line number Diff line number Diff line MODEL: BACKBONE: NAME: 'VGG16' NAME: 'vgg16' ROI_BOX_HEAD: NUM_CLASSES: 9 BOX_PREDICTOR: 'vgg16_predictor' Loading detection/config/defaults.py +4 −2 Original line number Diff line number Diff line Loading @@ -16,7 +16,7 @@ _C.DATASETS.TARGETS = () # Backbone options # ---------------------------------------------------------------------------- # _C.MODEL.BACKBONE = CN() _C.MODEL.BACKBONE.NAME = "VGG16" _C.MODEL.BACKBONE.NAME = "vgg16" # ----------------------------------------------------------------------------- # INPUT options Loading @@ -39,6 +39,7 @@ _C.MODEL.RPN = CN() _C.MODEL.RPN.ANCHOR_SIZES = (32, 64, 128, 256, 512) _C.MODEL.RPN.ASPECT_RATIOS = (0.5, 1, 2) _C.MODEL.RPN.ANCHOR_STRIDE = 16 _C.MODEL.RPN.NUM_CHANNELS = 512 _C.MODEL.RPN.BATCH_SIZE_PER_IMAGE = 256 _C.MODEL.RPN.PRE_NMS_TOP_N_TRAIN = 12000 _C.MODEL.RPN.PRE_NMS_TOP_N_TEST = 6000 Loading @@ -61,7 +62,8 @@ _C.MODEL.ROI_HEADS.DETECTIONS_PER_IMG = 100 _C.MODEL.ROI_BOX_HEAD = CN() _C.MODEL.ROI_BOX_HEAD.NUM_CLASSES = 9 _C.MODEL.ROI_BOX_HEAD.POOL_SPATIAL_SCALE = 1.0 / 16 _C.MODEL.ROI_BOX_HEAD.POOLER_RESOLUTION = 7 _C.MODEL.ROI_BOX_HEAD.POOL_RESOLUTION = 7 _C.MODEL.ROI_BOX_HEAD.POOL_TYPE = "align" _C.MODEL.ROI_BOX_HEAD.BOX_PREDICTOR = 'vgg16_predictor' # ---------------------------------------------------------------------------- # Loading detection/data/build.py +2 −18 Original line number Diff line number Diff line Loading @@ -11,103 +11,86 @@ DATASETS = { 'cityscapes_train': { 'ann_file': '/data7/lufficc/cityscapes/cityscapes_coco_train.json', 'root': cityscapes_images_dir, 'train': True, }, 'cityscapes_val': { 'ann_file': '/data7/lufficc/cityscapes/cityscapes_coco_val.json', 'root': cityscapes_images_dir, 'train': False, }, 'cityscapes_test': { 'ann_file': '/data7/lufficc/cityscapes/cityscapes_coco_test.json', 'root': cityscapes_images_dir, 'train': False, }, 'foggy_cityscapes_train': { 'ann_file': '/data7/lufficc/cityscapes/foggy_cityscapes_coco_train.json', 'root': foggy_cityscapes_images_dir, 'train': True, }, 'foggy_cityscapes_val': { 'ann_file': '/data7/lufficc/cityscapes/foggy_cityscapes_coco_val.json', 'root': foggy_cityscapes_images_dir, 'train': False, }, 'foggy_cityscapes_test': { 'ann_file': '/data7/lufficc/cityscapes/foggy_cityscapes_coco_test.json', 'root': foggy_cityscapes_images_dir, 'train': False, }, "coco_2017_train": { "ann_file": "/data7/lufficc/coco/annotations/instances_train2017.json", "root": "/data7/lufficc/coco/train2017", 'train': True, }, "coco_2017_val": { "ann_file": "/data7/lufficc/coco/annotations/instances_val2017.json", "root": "/data7/lufficc/coco/val2017", 'train': False, }, 'voc_2007_trainval': { 'root': '/data7/lufficc/voc/VOCdevkit/VOC2007', 'split': 'trainval', 'train': True, }, 'voc_2012_trainval': { 'root': '/data7/lufficc/voc/VOCdevkit/VOC2012', 'split': 'trainval', 'train': True, }, 'voc_2007_test': { 'root': '/data7/lufficc/voc/VOCdevkit/VOC2007', 'split': 'test', 'train': False, }, 'voc_watercolor_train': { 'root': '/data7/lufficc/cross_domain_detection/watercolor', 'split': 'train', 'train': True, }, 'voc_watercolor_test': { 'root': '/data7/lufficc/cross_domain_detection/watercolor', 'split': 'test', 'train': False, }, 'voc_comic_train': { 'root': '/data7/lufficc/cross_domain_detection/comic', 'split': 'train', 'train': True, }, 'voc_comic_test': { 'root': '/data7/lufficc/cross_domain_detection/comic', 'split': 'test', 'train': False, }, 'voc_clipart_train': { 'root': '/data7/lufficc/cross_domain_detection/clipart', 'split': 'train', 'train': True, }, 'voc_clipart_test': { 'root': '/data7/lufficc/cross_domain_detection/clipart', 'split': 'test', 'train': False, }, 'voc_clipart_traintest': { 'root': '/data7/lufficc/cross_domain_detection/clipart', 'split': 'traintest', 'train': False, }, } Loading @@ -117,6 +100,7 @@ def build_datasets(names, is_train=True): for name in names: cfg = DATASETS[name].copy() cfg['dataset_name'] = name cfg['train'] = is_train if 'cityscapes' in name: dataset = CityscapeDataset(**cfg) elif 'coco' in name: Loading detection/data/datasets/cityscape.py +1 −1 Original line number Diff line number Diff line Loading @@ -44,6 +44,6 @@ test_transforms = [ class CityscapeDataset(COCODataset): CLASSES = ('__background__', 'person', 'rider', 'car', 'truck', 'bus', 'train', 'motorcycle', 'bicycle',) def __init__(self, train=True, **kwargs): def __init__(self, train, **kwargs): transforms = train_transforms if train else test_transforms super().__init__(transforms=transforms, remove_empty=train, **kwargs) Loading
configs/resnet101_clipart.yaml 0 → 100644 +19 −0 Original line number Diff line number Diff line MODEL: BACKBONE: NAME: 'resnet101' ROI_BOX_HEAD: NUM_CLASSES: 21 BOX_PREDICTOR: 'resnet101_predictor' DATASETS: TRAINS: ['voc_2007_trainval', 'voc_2012_trainval'] TESTS: ['voc_clipart_traintest'] SOLVER: EPOCHS: 20 STEPS: (16, 18) LR: 1e-5 WEIGHT_DECAY: 0.0001 BATCH_SIZE: 1 TEST: EVAL_TYPES: ['voc'] WORK_DIR: './work_dir/clipart' No newline at end of file
configs/vgg16_cityscapes.yaml +1 −1 Original line number Diff line number Diff line MODEL: BACKBONE: NAME: 'VGG16' NAME: 'vgg16' ROI_BOX_HEAD: NUM_CLASSES: 9 BOX_PREDICTOR: 'vgg16_predictor' Loading
detection/config/defaults.py +4 −2 Original line number Diff line number Diff line Loading @@ -16,7 +16,7 @@ _C.DATASETS.TARGETS = () # Backbone options # ---------------------------------------------------------------------------- # _C.MODEL.BACKBONE = CN() _C.MODEL.BACKBONE.NAME = "VGG16" _C.MODEL.BACKBONE.NAME = "vgg16" # ----------------------------------------------------------------------------- # INPUT options Loading @@ -39,6 +39,7 @@ _C.MODEL.RPN = CN() _C.MODEL.RPN.ANCHOR_SIZES = (32, 64, 128, 256, 512) _C.MODEL.RPN.ASPECT_RATIOS = (0.5, 1, 2) _C.MODEL.RPN.ANCHOR_STRIDE = 16 _C.MODEL.RPN.NUM_CHANNELS = 512 _C.MODEL.RPN.BATCH_SIZE_PER_IMAGE = 256 _C.MODEL.RPN.PRE_NMS_TOP_N_TRAIN = 12000 _C.MODEL.RPN.PRE_NMS_TOP_N_TEST = 6000 Loading @@ -61,7 +62,8 @@ _C.MODEL.ROI_HEADS.DETECTIONS_PER_IMG = 100 _C.MODEL.ROI_BOX_HEAD = CN() _C.MODEL.ROI_BOX_HEAD.NUM_CLASSES = 9 _C.MODEL.ROI_BOX_HEAD.POOL_SPATIAL_SCALE = 1.0 / 16 _C.MODEL.ROI_BOX_HEAD.POOLER_RESOLUTION = 7 _C.MODEL.ROI_BOX_HEAD.POOL_RESOLUTION = 7 _C.MODEL.ROI_BOX_HEAD.POOL_TYPE = "align" _C.MODEL.ROI_BOX_HEAD.BOX_PREDICTOR = 'vgg16_predictor' # ---------------------------------------------------------------------------- # Loading
detection/data/build.py +2 −18 Original line number Diff line number Diff line Loading @@ -11,103 +11,86 @@ DATASETS = { 'cityscapes_train': { 'ann_file': '/data7/lufficc/cityscapes/cityscapes_coco_train.json', 'root': cityscapes_images_dir, 'train': True, }, 'cityscapes_val': { 'ann_file': '/data7/lufficc/cityscapes/cityscapes_coco_val.json', 'root': cityscapes_images_dir, 'train': False, }, 'cityscapes_test': { 'ann_file': '/data7/lufficc/cityscapes/cityscapes_coco_test.json', 'root': cityscapes_images_dir, 'train': False, }, 'foggy_cityscapes_train': { 'ann_file': '/data7/lufficc/cityscapes/foggy_cityscapes_coco_train.json', 'root': foggy_cityscapes_images_dir, 'train': True, }, 'foggy_cityscapes_val': { 'ann_file': '/data7/lufficc/cityscapes/foggy_cityscapes_coco_val.json', 'root': foggy_cityscapes_images_dir, 'train': False, }, 'foggy_cityscapes_test': { 'ann_file': '/data7/lufficc/cityscapes/foggy_cityscapes_coco_test.json', 'root': foggy_cityscapes_images_dir, 'train': False, }, "coco_2017_train": { "ann_file": "/data7/lufficc/coco/annotations/instances_train2017.json", "root": "/data7/lufficc/coco/train2017", 'train': True, }, "coco_2017_val": { "ann_file": "/data7/lufficc/coco/annotations/instances_val2017.json", "root": "/data7/lufficc/coco/val2017", 'train': False, }, 'voc_2007_trainval': { 'root': '/data7/lufficc/voc/VOCdevkit/VOC2007', 'split': 'trainval', 'train': True, }, 'voc_2012_trainval': { 'root': '/data7/lufficc/voc/VOCdevkit/VOC2012', 'split': 'trainval', 'train': True, }, 'voc_2007_test': { 'root': '/data7/lufficc/voc/VOCdevkit/VOC2007', 'split': 'test', 'train': False, }, 'voc_watercolor_train': { 'root': '/data7/lufficc/cross_domain_detection/watercolor', 'split': 'train', 'train': True, }, 'voc_watercolor_test': { 'root': '/data7/lufficc/cross_domain_detection/watercolor', 'split': 'test', 'train': False, }, 'voc_comic_train': { 'root': '/data7/lufficc/cross_domain_detection/comic', 'split': 'train', 'train': True, }, 'voc_comic_test': { 'root': '/data7/lufficc/cross_domain_detection/comic', 'split': 'test', 'train': False, }, 'voc_clipart_train': { 'root': '/data7/lufficc/cross_domain_detection/clipart', 'split': 'train', 'train': True, }, 'voc_clipart_test': { 'root': '/data7/lufficc/cross_domain_detection/clipart', 'split': 'test', 'train': False, }, 'voc_clipart_traintest': { 'root': '/data7/lufficc/cross_domain_detection/clipart', 'split': 'traintest', 'train': False, }, } Loading @@ -117,6 +100,7 @@ def build_datasets(names, is_train=True): for name in names: cfg = DATASETS[name].copy() cfg['dataset_name'] = name cfg['train'] = is_train if 'cityscapes' in name: dataset = CityscapeDataset(**cfg) elif 'coco' in name: Loading
detection/data/datasets/cityscape.py +1 −1 Original line number Diff line number Diff line Loading @@ -44,6 +44,6 @@ test_transforms = [ class CityscapeDataset(COCODataset): CLASSES = ('__background__', 'person', 'rider', 'car', 'truck', 'bus', 'train', 'motorcycle', 'bicycle',) def __init__(self, train=True, **kwargs): def __init__(self, train, **kwargs): transforms = train_transforms if train else test_transforms super().__init__(transforms=transforms, remove_empty=train, **kwargs)