Commit 57d34592 authored by Jiangmiao Pang's avatar Jiangmiao Pang Committed by Kai Chen
Browse files

Add loss evaluator (#678)

* Fix license in setup.py

* Add code for loss evaluator

* Configs support loss evaluator

* Fix a little bug

* Fix flake8

* return revised bbox to reg

* return revised bbox to reg

* revision according to comments

* fix flake8
parent a99dbae7
...@@ -24,7 +24,9 @@ model = dict( ...@@ -24,7 +24,9 @@ model = dict(
anchor_strides=[4, 8, 16, 32, 64], anchor_strides=[4, 8, 16, 32, 64],
target_means=[.0, .0, .0, .0], target_means=[.0, .0, .0, .0],
target_stds=[1.0, 1.0, 1.0, 1.0], target_stds=[1.0, 1.0, 1.0, 1.0],
use_sigmoid_cls=True), loss_cls=dict(
type='CrossEntropyLoss', use_sigmoid=True, loss_weight=1.0),
loss_bbox=dict(type='SmoothL1Loss', beta=1.0 / 9.0, loss_weight=1.0)),
bbox_roi_extractor=dict( bbox_roi_extractor=dict(
type='SingleRoIExtractor', type='SingleRoIExtractor',
roi_layer=dict(type='RoIAlign', out_size=7, sample_num=2), roi_layer=dict(type='RoIAlign', out_size=7, sample_num=2),
...@@ -40,7 +42,15 @@ model = dict( ...@@ -40,7 +42,15 @@ model = dict(
num_classes=81, num_classes=81,
target_means=[0., 0., 0., 0.], target_means=[0., 0., 0., 0.],
target_stds=[0.1, 0.1, 0.2, 0.2], target_stds=[0.1, 0.1, 0.2, 0.2],
reg_class_agnostic=True), reg_class_agnostic=True,
loss_cls=dict(
type='CrossEntropyLoss',
use_sigmoid=False,
loss_weight=1.0),
loss_bbox=dict(
type='SmoothL1Loss',
beta=1.0,
loss_weight=1.0)),
dict( dict(
type='SharedFCBBoxHead', type='SharedFCBBoxHead',
num_fcs=2, num_fcs=2,
...@@ -50,7 +60,15 @@ model = dict( ...@@ -50,7 +60,15 @@ model = dict(
num_classes=81, num_classes=81,
target_means=[0., 0., 0., 0.], target_means=[0., 0., 0., 0.],
target_stds=[0.05, 0.05, 0.1, 0.1], target_stds=[0.05, 0.05, 0.1, 0.1],
reg_class_agnostic=True), reg_class_agnostic=True,
loss_cls=dict(
type='CrossEntropyLoss',
use_sigmoid=False,
loss_weight=1.0),
loss_bbox=dict(
type='SmoothL1Loss',
beta=1.0,
loss_weight=1.0)),
dict( dict(
type='SharedFCBBoxHead', type='SharedFCBBoxHead',
num_fcs=2, num_fcs=2,
...@@ -60,7 +78,15 @@ model = dict( ...@@ -60,7 +78,15 @@ model = dict(
num_classes=81, num_classes=81,
target_means=[0., 0., 0., 0.], target_means=[0., 0., 0., 0.],
target_stds=[0.033, 0.033, 0.067, 0.067], target_stds=[0.033, 0.033, 0.067, 0.067],
reg_class_agnostic=True) reg_class_agnostic=True,
loss_cls=dict(
type='CrossEntropyLoss',
use_sigmoid=False,
loss_weight=1.0),
loss_bbox=dict(
type='SmoothL1Loss',
beta=1.0,
loss_weight=1.0))
], ],
mask_roi_extractor=dict( mask_roi_extractor=dict(
type='SingleRoIExtractor', type='SingleRoIExtractor',
...@@ -72,7 +98,9 @@ model = dict( ...@@ -72,7 +98,9 @@ model = dict(
num_convs=4, num_convs=4,
in_channels=256, in_channels=256,
conv_out_channels=256, conv_out_channels=256,
num_classes=81)) num_classes=81,
loss_mask=dict(
type='CrossEntropyLoss', use_mask=True, loss_weight=1.0)))
# model training and testing settings # model training and testing settings
train_cfg = dict( train_cfg = dict(
rpn=dict( rpn=dict(
...@@ -90,7 +118,6 @@ train_cfg = dict( ...@@ -90,7 +118,6 @@ train_cfg = dict(
add_gt_as_proposals=False), add_gt_as_proposals=False),
allowed_border=0, allowed_border=0,
pos_weight=-1, pos_weight=-1,
smoothl1_beta=1 / 9.0,
debug=False), debug=False),
rpn_proposal=dict( rpn_proposal=dict(
nms_across_levels=False, nms_across_levels=False,
......
...@@ -33,7 +33,9 @@ model = dict( ...@@ -33,7 +33,9 @@ model = dict(
anchor_strides=[16], anchor_strides=[16],
target_means=[.0, .0, .0, .0], target_means=[.0, .0, .0, .0],
target_stds=[1.0, 1.0, 1.0, 1.0], target_stds=[1.0, 1.0, 1.0, 1.0],
use_sigmoid_cls=True), loss_cls=dict(
type='CrossEntropyLoss', use_sigmoid=True, loss_weight=1.0),
loss_bbox=dict(type='SmoothL1Loss', beta=1.0 / 9.0, loss_weight=1.0)),
bbox_roi_extractor=dict( bbox_roi_extractor=dict(
type='SingleRoIExtractor', type='SingleRoIExtractor',
roi_layer=dict(type='RoIAlign', out_size=14, sample_num=2), roi_layer=dict(type='RoIAlign', out_size=14, sample_num=2),
...@@ -48,7 +50,15 @@ model = dict( ...@@ -48,7 +50,15 @@ model = dict(
num_classes=81, num_classes=81,
target_means=[0., 0., 0., 0.], target_means=[0., 0., 0., 0.],
target_stds=[0.1, 0.1, 0.2, 0.2], target_stds=[0.1, 0.1, 0.2, 0.2],
reg_class_agnostic=True), reg_class_agnostic=True,
loss_cls=dict(
type='CrossEntropyLoss',
use_sigmoid=False,
loss_weight=1.0),
loss_bbox=dict(
type='SmoothL1Loss',
beta=1.0,
loss_weight=1.0)),
dict( dict(
type='BBoxHead', type='BBoxHead',
with_avg_pool=True, with_avg_pool=True,
...@@ -57,7 +67,15 @@ model = dict( ...@@ -57,7 +67,15 @@ model = dict(
num_classes=81, num_classes=81,
target_means=[0., 0., 0., 0.], target_means=[0., 0., 0., 0.],
target_stds=[0.05, 0.05, 0.1, 0.1], target_stds=[0.05, 0.05, 0.1, 0.1],
reg_class_agnostic=True), reg_class_agnostic=True,
loss_cls=dict(
type='CrossEntropyLoss',
use_sigmoid=False,
loss_weight=1.0),
loss_bbox=dict(
type='SmoothL1Loss',
beta=1.0,
loss_weight=1.0)),
dict( dict(
type='BBoxHead', type='BBoxHead',
with_avg_pool=True, with_avg_pool=True,
...@@ -66,7 +84,15 @@ model = dict( ...@@ -66,7 +84,15 @@ model = dict(
num_classes=81, num_classes=81,
target_means=[0., 0., 0., 0.], target_means=[0., 0., 0., 0.],
target_stds=[0.033, 0.033, 0.067, 0.067], target_stds=[0.033, 0.033, 0.067, 0.067],
reg_class_agnostic=True) reg_class_agnostic=True,
loss_cls=dict(
type='CrossEntropyLoss',
use_sigmoid=False,
loss_weight=1.0),
loss_bbox=dict(
type='SmoothL1Loss',
beta=1.0,
loss_weight=1.0))
], ],
mask_roi_extractor=None, mask_roi_extractor=None,
mask_head=dict( mask_head=dict(
...@@ -74,7 +100,9 @@ model = dict( ...@@ -74,7 +100,9 @@ model = dict(
num_convs=0, num_convs=0,
in_channels=2048, in_channels=2048,
conv_out_channels=256, conv_out_channels=256,
num_classes=81)) num_classes=81,
loss_mask=dict(
type='CrossEntropyLoss', use_mask=True, loss_weight=1.0)))
# model training and testing settings # model training and testing settings
train_cfg = dict( train_cfg = dict(
rpn=dict( rpn=dict(
...@@ -92,7 +120,6 @@ train_cfg = dict( ...@@ -92,7 +120,6 @@ train_cfg = dict(
add_gt_as_proposals=False), add_gt_as_proposals=False),
allowed_border=0, allowed_border=0,
pos_weight=-1, pos_weight=-1,
smoothl1_beta=1 / 9.0,
debug=False), debug=False),
rpn_proposal=dict( rpn_proposal=dict(
nms_across_levels=False, nms_across_levels=False,
......
...@@ -24,7 +24,9 @@ model = dict( ...@@ -24,7 +24,9 @@ model = dict(
anchor_strides=[4, 8, 16, 32, 64], anchor_strides=[4, 8, 16, 32, 64],
target_means=[.0, .0, .0, .0], target_means=[.0, .0, .0, .0],
target_stds=[1.0, 1.0, 1.0, 1.0], target_stds=[1.0, 1.0, 1.0, 1.0],
use_sigmoid_cls=True), loss_cls=dict(
type='CrossEntropyLoss', use_sigmoid=True, loss_weight=1.0),
loss_bbox=dict(type='SmoothL1Loss', beta=1.0 / 9.0, loss_weight=1.0)),
bbox_roi_extractor=dict( bbox_roi_extractor=dict(
type='SingleRoIExtractor', type='SingleRoIExtractor',
roi_layer=dict(type='RoIAlign', out_size=7, sample_num=2), roi_layer=dict(type='RoIAlign', out_size=7, sample_num=2),
...@@ -40,7 +42,15 @@ model = dict( ...@@ -40,7 +42,15 @@ model = dict(
num_classes=81, num_classes=81,
target_means=[0., 0., 0., 0.], target_means=[0., 0., 0., 0.],
target_stds=[0.1, 0.1, 0.2, 0.2], target_stds=[0.1, 0.1, 0.2, 0.2],
reg_class_agnostic=True), reg_class_agnostic=True,
loss_cls=dict(
type='CrossEntropyLoss',
use_sigmoid=False,
loss_weight=1.0),
loss_bbox=dict(
type='SmoothL1Loss',
beta=1.0,
loss_weight=1.0)),
dict( dict(
type='SharedFCBBoxHead', type='SharedFCBBoxHead',
num_fcs=2, num_fcs=2,
...@@ -50,7 +60,15 @@ model = dict( ...@@ -50,7 +60,15 @@ model = dict(
num_classes=81, num_classes=81,
target_means=[0., 0., 0., 0.], target_means=[0., 0., 0., 0.],
target_stds=[0.05, 0.05, 0.1, 0.1], target_stds=[0.05, 0.05, 0.1, 0.1],
reg_class_agnostic=True), reg_class_agnostic=True,
loss_cls=dict(
type='CrossEntropyLoss',
use_sigmoid=False,
loss_weight=1.0),
loss_bbox=dict(
type='SmoothL1Loss',
beta=1.0,
loss_weight=1.0)),
dict( dict(
type='SharedFCBBoxHead', type='SharedFCBBoxHead',
num_fcs=2, num_fcs=2,
...@@ -60,7 +78,15 @@ model = dict( ...@@ -60,7 +78,15 @@ model = dict(
num_classes=81, num_classes=81,
target_means=[0., 0., 0., 0.], target_means=[0., 0., 0., 0.],
target_stds=[0.033, 0.033, 0.067, 0.067], target_stds=[0.033, 0.033, 0.067, 0.067],
reg_class_agnostic=True) reg_class_agnostic=True,
loss_cls=dict(
type='CrossEntropyLoss',
use_sigmoid=False,
loss_weight=1.0),
loss_bbox=dict(
type='SmoothL1Loss',
beta=1.0,
loss_weight=1.0))
], ],
mask_roi_extractor=dict( mask_roi_extractor=dict(
type='SingleRoIExtractor', type='SingleRoIExtractor',
...@@ -72,7 +98,9 @@ model = dict( ...@@ -72,7 +98,9 @@ model = dict(
num_convs=4, num_convs=4,
in_channels=256, in_channels=256,
conv_out_channels=256, conv_out_channels=256,
num_classes=81)) num_classes=81,
loss_mask=dict(
type='CrossEntropyLoss', use_mask=True, loss_weight=1.0)))
# model training and testing settings # model training and testing settings
train_cfg = dict( train_cfg = dict(
rpn=dict( rpn=dict(
...@@ -90,7 +118,6 @@ train_cfg = dict( ...@@ -90,7 +118,6 @@ train_cfg = dict(
add_gt_as_proposals=False), add_gt_as_proposals=False),
allowed_border=0, allowed_border=0,
pos_weight=-1, pos_weight=-1,
smoothl1_beta=1 / 9.0,
debug=False), debug=False),
rpn_proposal=dict( rpn_proposal=dict(
nms_across_levels=False, nms_across_levels=False,
......
...@@ -26,7 +26,9 @@ model = dict( ...@@ -26,7 +26,9 @@ model = dict(
anchor_strides=[4, 8, 16, 32, 64], anchor_strides=[4, 8, 16, 32, 64],
target_means=[.0, .0, .0, .0], target_means=[.0, .0, .0, .0],
target_stds=[1.0, 1.0, 1.0, 1.0], target_stds=[1.0, 1.0, 1.0, 1.0],
use_sigmoid_cls=True), loss_cls=dict(
type='CrossEntropyLoss', use_sigmoid=True, loss_weight=1.0),
loss_bbox=dict(type='SmoothL1Loss', beta=1.0 / 9.0, loss_weight=1.0)),
bbox_roi_extractor=dict( bbox_roi_extractor=dict(
type='SingleRoIExtractor', type='SingleRoIExtractor',
roi_layer=dict(type='RoIAlign', out_size=7, sample_num=2), roi_layer=dict(type='RoIAlign', out_size=7, sample_num=2),
...@@ -42,7 +44,15 @@ model = dict( ...@@ -42,7 +44,15 @@ model = dict(
num_classes=81, num_classes=81,
target_means=[0., 0., 0., 0.], target_means=[0., 0., 0., 0.],
target_stds=[0.1, 0.1, 0.2, 0.2], target_stds=[0.1, 0.1, 0.2, 0.2],
reg_class_agnostic=True), reg_class_agnostic=True,
loss_cls=dict(
type='CrossEntropyLoss',
use_sigmoid=False,
loss_weight=1.0),
loss_bbox=dict(
type='SmoothL1Loss',
beta=1.0,
loss_weight=1.0)),
dict( dict(
type='SharedFCBBoxHead', type='SharedFCBBoxHead',
num_fcs=2, num_fcs=2,
...@@ -52,7 +62,15 @@ model = dict( ...@@ -52,7 +62,15 @@ model = dict(
num_classes=81, num_classes=81,
target_means=[0., 0., 0., 0.], target_means=[0., 0., 0., 0.],
target_stds=[0.05, 0.05, 0.1, 0.1], target_stds=[0.05, 0.05, 0.1, 0.1],
reg_class_agnostic=True), reg_class_agnostic=True,
loss_cls=dict(
type='CrossEntropyLoss',
use_sigmoid=False,
loss_weight=1.0),
loss_bbox=dict(
type='SmoothL1Loss',
beta=1.0,
loss_weight=1.0)),
dict( dict(
type='SharedFCBBoxHead', type='SharedFCBBoxHead',
num_fcs=2, num_fcs=2,
...@@ -62,7 +80,15 @@ model = dict( ...@@ -62,7 +80,15 @@ model = dict(
num_classes=81, num_classes=81,
target_means=[0., 0., 0., 0.], target_means=[0., 0., 0., 0.],
target_stds=[0.033, 0.033, 0.067, 0.067], target_stds=[0.033, 0.033, 0.067, 0.067],
reg_class_agnostic=True) reg_class_agnostic=True,
loss_cls=dict(
type='CrossEntropyLoss',
use_sigmoid=False,
loss_weight=1.0),
loss_bbox=dict(
type='SmoothL1Loss',
beta=1.0,
loss_weight=1.0))
], ],
mask_roi_extractor=dict( mask_roi_extractor=dict(
type='SingleRoIExtractor', type='SingleRoIExtractor',
...@@ -74,7 +100,9 @@ model = dict( ...@@ -74,7 +100,9 @@ model = dict(
num_convs=4, num_convs=4,
in_channels=256, in_channels=256,
conv_out_channels=256, conv_out_channels=256,
num_classes=81)) num_classes=81,
loss_mask=dict(
type='CrossEntropyLoss', use_mask=True, loss_weight=1.0)))
# model training and testing settings # model training and testing settings
train_cfg = dict( train_cfg = dict(
rpn=dict( rpn=dict(
...@@ -92,7 +120,6 @@ train_cfg = dict( ...@@ -92,7 +120,6 @@ train_cfg = dict(
add_gt_as_proposals=False), add_gt_as_proposals=False),
allowed_border=0, allowed_border=0,
pos_weight=-1, pos_weight=-1,
smoothl1_beta=1 / 9.0,
debug=False), debug=False),
rpn_proposal=dict( rpn_proposal=dict(
nms_across_levels=False, nms_across_levels=False,
...@@ -230,7 +257,7 @@ log_config = dict( ...@@ -230,7 +257,7 @@ log_config = dict(
total_epochs = 12 total_epochs = 12
dist_params = dict(backend='nccl') dist_params = dict(backend='nccl')
log_level = 'INFO' log_level = 'INFO'
work_dir = './work_dirs/cascade_mask_rcnn_r50_fpn_1x' work_dir = './work_dirs/cascade_mask_rcnn_x101_32x4d_fpn_1x'
load_from = None load_from = None
resume_from = None resume_from = None
workflow = [('train', 1)] workflow = [('train', 1)]
...@@ -26,7 +26,9 @@ model = dict( ...@@ -26,7 +26,9 @@ model = dict(
anchor_strides=[4, 8, 16, 32, 64], anchor_strides=[4, 8, 16, 32, 64],
target_means=[.0, .0, .0, .0], target_means=[.0, .0, .0, .0],
target_stds=[1.0, 1.0, 1.0, 1.0], target_stds=[1.0, 1.0, 1.0, 1.0],
use_sigmoid_cls=True), loss_cls=dict(
type='CrossEntropyLoss', use_sigmoid=True, loss_weight=1.0),
loss_bbox=dict(type='SmoothL1Loss', beta=1.0 / 9.0, loss_weight=1.0)),
bbox_roi_extractor=dict( bbox_roi_extractor=dict(
type='SingleRoIExtractor', type='SingleRoIExtractor',
roi_layer=dict(type='RoIAlign', out_size=7, sample_num=2), roi_layer=dict(type='RoIAlign', out_size=7, sample_num=2),
...@@ -42,7 +44,15 @@ model = dict( ...@@ -42,7 +44,15 @@ model = dict(
num_classes=81, num_classes=81,
target_means=[0., 0., 0., 0.], target_means=[0., 0., 0., 0.],
target_stds=[0.1, 0.1, 0.2, 0.2], target_stds=[0.1, 0.1, 0.2, 0.2],
reg_class_agnostic=True), reg_class_agnostic=True,
loss_cls=dict(
type='CrossEntropyLoss',
use_sigmoid=False,
loss_weight=1.0),
loss_bbox=dict(
type='SmoothL1Loss',
beta=1.0,
loss_weight=1.0)),
dict( dict(
type='SharedFCBBoxHead', type='SharedFCBBoxHead',
num_fcs=2, num_fcs=2,
...@@ -52,7 +62,15 @@ model = dict( ...@@ -52,7 +62,15 @@ model = dict(
num_classes=81, num_classes=81,
target_means=[0., 0., 0., 0.], target_means=[0., 0., 0., 0.],
target_stds=[0.05, 0.05, 0.1, 0.1], target_stds=[0.05, 0.05, 0.1, 0.1],
reg_class_agnostic=True), reg_class_agnostic=True,
loss_cls=dict(
type='CrossEntropyLoss',
use_sigmoid=False,
loss_weight=1.0),
loss_bbox=dict(
type='SmoothL1Loss',
beta=1.0,
loss_weight=1.0)),
dict( dict(
type='SharedFCBBoxHead', type='SharedFCBBoxHead',
num_fcs=2, num_fcs=2,
...@@ -62,7 +80,15 @@ model = dict( ...@@ -62,7 +80,15 @@ model = dict(
num_classes=81, num_classes=81,
target_means=[0., 0., 0., 0.], target_means=[0., 0., 0., 0.],
target_stds=[0.033, 0.033, 0.067, 0.067], target_stds=[0.033, 0.033, 0.067, 0.067],
reg_class_agnostic=True) reg_class_agnostic=True,
loss_cls=dict(
type='CrossEntropyLoss',
use_sigmoid=False,
loss_weight=1.0),
loss_bbox=dict(
type='SmoothL1Loss',
beta=1.0,
loss_weight=1.0))
], ],
mask_roi_extractor=dict( mask_roi_extractor=dict(
type='SingleRoIExtractor', type='SingleRoIExtractor',
...@@ -74,7 +100,9 @@ model = dict( ...@@ -74,7 +100,9 @@ model = dict(
num_convs=4, num_convs=4,
in_channels=256, in_channels=256,
conv_out_channels=256, conv_out_channels=256,
num_classes=81)) num_classes=81,
loss_mask=dict(
type='CrossEntropyLoss', use_mask=True, loss_weight=1.0)))
# model training and testing settings # model training and testing settings
train_cfg = dict( train_cfg = dict(
rpn=dict( rpn=dict(
...@@ -92,7 +120,6 @@ train_cfg = dict( ...@@ -92,7 +120,6 @@ train_cfg = dict(
add_gt_as_proposals=False), add_gt_as_proposals=False),
allowed_border=0, allowed_border=0,
pos_weight=-1, pos_weight=-1,
smoothl1_beta=1 / 9.0,
debug=False), debug=False),
rpn_proposal=dict( rpn_proposal=dict(
nms_across_levels=False, nms_across_levels=False,
...@@ -230,7 +257,7 @@ log_config = dict( ...@@ -230,7 +257,7 @@ log_config = dict(
total_epochs = 12 total_epochs = 12
dist_params = dict(backend='nccl') dist_params = dict(backend='nccl')
log_level = 'INFO' log_level = 'INFO'
work_dir = './work_dirs/cascade_mask_rcnn_r50_fpn_1x' work_dir = './work_dirs/cascade_mask_rcnn_x101_64x4d_fpn_1x'
load_from = None load_from = None
resume_from = None resume_from = None
workflow = [('train', 1)] workflow = [('train', 1)]
...@@ -24,7 +24,9 @@ model = dict( ...@@ -24,7 +24,9 @@ model = dict(
anchor_strides=[4, 8, 16, 32, 64], anchor_strides=[4, 8, 16, 32, 64],
target_means=[.0, .0, .0, .0], target_means=[.0, .0, .0, .0],
target_stds=[1.0, 1.0, 1.0, 1.0], target_stds=[1.0, 1.0, 1.0, 1.0],
use_sigmoid_cls=True), loss_cls=dict(
type='CrossEntropyLoss', use_sigmoid=True, loss_weight=1.0),
loss_bbox=dict(type='SmoothL1Loss', beta=1.0 / 9.0, loss_weight=1.0)),
bbox_roi_extractor=dict( bbox_roi_extractor=dict(
type='SingleRoIExtractor', type='SingleRoIExtractor',
roi_layer=dict(type='RoIAlign', out_size=7, sample_num=2), roi_layer=dict(type='RoIAlign', out_size=7, sample_num=2),
...@@ -40,7 +42,15 @@ model = dict( ...@@ -40,7 +42,15 @@ model = dict(
num_classes=81, num_classes=81,
target_means=[0., 0., 0., 0.], target_means=[0., 0., 0., 0.],
target_stds=[0.1, 0.1, 0.2, 0.2], target_stds=[0.1, 0.1, 0.2, 0.2],
reg_class_agnostic=True), reg_class_agnostic=True,
loss_cls=dict(
type='CrossEntropyLoss',
use_sigmoid=False,
loss_weight=1.0),
loss_bbox=dict(
type='SmoothL1Loss',
beta=1.0,
loss_weight=1.0)),
dict( dict(
type='SharedFCBBoxHead', type='SharedFCBBoxHead',
num_fcs=2, num_fcs=2,
...@@ -50,7 +60,15 @@ model = dict( ...@@ -50,7 +60,15 @@ model = dict(
num_classes=81, num_classes=81,
target_means=[0., 0., 0., 0.], target_means=[0., 0., 0., 0.],
target_stds=[0.05, 0.05, 0.1, 0.1], target_stds=[0.05, 0.05, 0.1, 0.1],
reg_class_agnostic=True), reg_class_agnostic=True,
loss_cls=dict(
type='CrossEntropyLoss',
use_sigmoid=False,
loss_weight=1.0),
loss_bbox=dict(
type='SmoothL1Loss',
beta=1.0,
loss_weight=1.0)),
dict( dict(
type='SharedFCBBoxHead', type='SharedFCBBoxHead',
num_fcs=2, num_fcs=2,
...@@ -60,7 +78,15 @@ model = dict( ...@@ -60,7 +78,15 @@ model = dict(
num_classes=81, num_classes=81,
target_means=[0., 0., 0., 0.], target_means=[0., 0., 0., 0.],
target_stds=[0.033, 0.033, 0.067, 0.067], target_stds=[0.033, 0.033, 0.067, 0.067],
reg_class_agnostic=True) reg_class_agnostic=True,
loss_cls=dict(
type='CrossEntropyLoss',
use_sigmoid=False,
loss_weight=1.0),
loss_bbox=dict(
type='SmoothL1Loss',
beta=1.0,
loss_weight=1.0))
]) ])
# model training and testing settings # model training and testing settings
train_cfg = dict( train_cfg = dict(
...@@ -79,7 +105,6 @@ train_cfg = dict( ...@@ -79,7 +105,6 @@ train_cfg = dict(
add_gt_as_proposals=False), add_gt_as_proposals=False),
allowed_border=0, allowed_border=0,
pos_weight=-1, pos_weight=-1,
smoothl1_beta=1 / 9.0,
debug=False), debug=False),
rpn_proposal=dict( rpn_proposal=dict(
nms_across_levels=False, nms_across_levels=False,
......
...@@ -33,7 +33,9 @@ model = dict( ...@@ -33,7 +33,9 @@ model = dict(
anchor_strides=[16], anchor_strides=[16],
target_means=[.0, .0, .0, .0], target_means=[.0, .0, .0, .0],
target_stds=[1.0, 1.0, 1.0, 1.0], target_stds=[1.0, 1.0, 1.0, 1.0],
use_sigmoid_cls=True), loss_cls=dict(
type='CrossEntropyLoss', use_sigmoid=True, loss_weight=1.0),
loss_bbox=dict(type='SmoothL1Loss', beta=1.0 / 9.0, loss_weight=1.0)),
bbox_roi_extractor=dict( bbox_roi_extractor=dict(
type='SingleRoIExtractor', type='SingleRoIExtractor',
roi_layer=dict(type='RoIAlign', out_size=14, sample_num=2), roi_layer=dict(type='RoIAlign', out_size=14, sample_num=2),
...@@ -48,7 +50,15 @@ model = dict( ...@@ -48,7 +50,15 @@ model = dict(
num_classes=81, num_classes=81,
target_means=[0., 0., 0., 0.], target_means=[0., 0., 0., 0.],
target_stds=[0.1, 0.1, 0.2, 0.2], target_stds=[0.1, 0.1, 0.2, 0.2],
reg_class_agnostic=True), reg_class_agnostic=True,
loss_cls=dict(
type='CrossEntropyLoss',
use_sigmoid=False,
loss_weight=1.0),
loss_bbox=dict(
type='SmoothL1Loss',
beta=1.0,
loss_weight=1.0)),
dict( dict(
type='BBoxHead', type='BBoxHead',
with_avg_pool=True, with_avg_pool=True,
...@@ -57,7 +67,15 @@ model = dict( ...@@ -57,7 +67,15 @@ model = dict(
num_classes=81, num_classes=81,
target_means=[0., 0., 0., 0.], target_means=[0., 0., 0., 0.],
target_stds=[0.05, 0.05, 0.1, 0.1], target_stds=[0.05, 0.05, 0.1, 0.1],
reg_class_agnostic=True), reg_class_agnostic=True,
loss_cls=dict(
type='CrossEntropyLoss',
use_sigmoid=False,
loss_weight=1.0),
loss_bbox=dict(
type='SmoothL1Loss',
beta=1.0,
loss_weight=1.0)),
dict( dict(
type='BBoxHead', type='BBoxHead',
with_avg_pool=True, with_avg_pool=True,
...@@ -66,7 +84,15 @@ model = dict( ...@@ -66,7 +84,15 @@ model = dict(
num_classes=81, num_classes=81,
target_means=[0., 0., 0., 0.], target_means=[0., 0., 0., 0.],
target_stds=[0.033, 0.033, 0.067, 0.067], target_stds=[0.033, 0.033, 0.067, 0.067],
reg_class_agnostic=True) reg_class_agnostic=True,
loss_cls=dict(
type='CrossEntropyLoss',
use_sigmoid=False,
loss_weight=1.0),
loss_bbox=dict(
type='SmoothL1Loss',
beta=1.0,
loss_weight=1.0)),
]) ])
# model training and testing settings # model training and testing settings
train_cfg = dict( train_cfg = dict(
...@@ -85,7 +111,6 @@ train_cfg = dict( ...@@ -85,7 +111,6 @@ train_cfg = dict(
add_gt_as_proposals=False), add_gt_as_proposals=False),
allowed_border=0, allowed_border=0,
pos_weight=-1, pos_weight=-1,
smoothl1_beta=1 / 9.0,
debug=False), debug=False),
rpn_proposal=dict( rpn_proposal=dict(
nms_across_levels=False, nms_across_levels=False,
......
...@@ -24,7 +24,9 @@ model = dict( ...@@ -24,7 +24,9 @@ model = dict(
anchor_strides=[4, 8, 16, 32, 64], anchor_strides=[4, 8, 16, 32, 64],
target_means=[.0, .0, .0, .0], target_means=[.0, .0, .0, .0],
target_stds=[1.0, 1.0, 1.0, 1.0], target_stds=[1.0, 1.0, 1.0, 1.0],
use_sigmoid_cls=True), loss_cls=dict(
type='CrossEntropyLoss', use_sigmoid=True, loss_weight=1.0),
loss_bbox=dict(type='SmoothL1Loss', beta=1.0 / 9.0, loss_weight=1.0)),
bbox_roi_extractor=dict( bbox_roi_extractor=dict(
type='SingleRoIExtractor', type='SingleRoIExtractor',
roi_layer=dict(type='RoIAlign', out_size=7, sample_num=2), roi_layer=dict(type='RoIAlign', out_size=7, sample_num=2),
...@@ -40,7 +42,15 @@ model = dict( ...@@ -40,7 +42,15 @@ model = dict(
num_classes=81, num_classes=81,
target_means=[0., 0., 0., 0.], target_means=[0., 0., 0., 0.],
target_stds=[0.1, 0.1, 0.2, 0.2], target_stds=[0.1, 0.1, 0.2, 0.2],
reg_class_agnostic=True), reg_class_agnostic=True,
loss_cls=dict(
type='CrossEntropyLoss',
use_sigmoid=False,
loss_weight=1.0),
loss_bbox=dict(
type='SmoothL1Loss',
beta=1.0,
loss_weight=1.0)),
dict( dict(
type='SharedFCBBoxHead', type='SharedFCBBoxHead',
num_fcs=2, num_fcs=2,
...@@ -50,7 +60,15 @@ model = dict( ...@@ -50,7 +60,15 @@ model = dict(
num_classes=81, num_classes=81,
target_means=[0., 0., 0., 0.], target_means=[0., 0., 0., 0.],
target_stds=[0.05, 0.05, 0.1, 0.1], target_stds=[0.05, 0.05, 0.1, 0.1],
reg_class_agnostic=True), reg_class_agnostic=True,
loss_cls=dict(
type='CrossEntropyLoss',
use_sigmoid=False,
loss_weight=1.0),
loss_bbox=dict(
type='SmoothL1Loss',
beta=1.0,
loss_weight=1.0)),
dict( dict(
type='SharedFCBBoxHead', type='SharedFCBBoxHead',
num_fcs=2, num_fcs=2,
...@@ -60,7 +78,15 @@ model = dict( ...@@ -60,7 +78,15 @@ model = dict(
num_classes=81, num_classes=81,
target_means=[0., 0., 0., 0.], target_means=[0., 0., 0., 0.],
target_stds=[0.033, 0.033, 0.067, 0.067], target_stds=[0.033, 0.033, 0.067, 0.067],
reg_class_agnostic=True) reg_class_agnostic=True,
loss_cls=dict(
type='CrossEntropyLoss',
use_sigmoid=False,
loss_weight=1.0),
loss_bbox=dict(
type='SmoothL1Loss',
beta=1.0,
loss_weight=1.0))
]) ])
# model training and testing settings # model training and testing settings
train_cfg = dict( train_cfg = dict(
...@@ -79,7 +105,6 @@ train_cfg = dict( ...@@ -79,7 +105,6 @@ train_cfg = dict(
add_gt_as_proposals=False), add_gt_as_proposals=False),
allowed_border=0, allowed_border=0,
pos_weight=-1, pos_weight=-1,
smoothl1_beta=1 / 9.0,
debug=False), debug=False),
rpn_proposal=dict( rpn_proposal=dict(
nms_across_levels=False, nms_across_levels=False,
......
...@@ -26,7 +26,9 @@ model = dict( ...@@ -26,7 +26,9 @@ model = dict(
anchor_strides=[4, 8, 16, 32, 64], anchor_strides=[4, 8, 16, 32, 64],
target_means=[.0, .0, .0, .0], target_means=[.0, .0, .0, .0],
target_stds=[1.0, 1.0, 1.0, 1.0], target_stds=[1.0, 1.0, 1.0, 1.0],
use_sigmoid_cls=True), loss_cls=dict(
type='CrossEntropyLoss', use_sigmoid=True, loss_weight=1.0),
loss_bbox=dict(type='SmoothL1Loss', beta=1.0 / 9.0, loss_weight=1.0)),
bbox_roi_extractor=dict( bbox_roi_extractor=dict(
type='SingleRoIExtractor', type='SingleRoIExtractor',
roi_layer=dict(type='RoIAlign', out_size=7, sample_num=2), roi_layer=dict(type='RoIAlign', out_size=7, sample_num=2),
...@@ -42,7 +44,15 @@ model = dict( ...@@ -42,7 +44,15 @@ model = dict(
num_classes=81, num_classes=81,
target_means=[0., 0., 0., 0.], target_means=[0., 0., 0., 0.],
target_stds=[0.1, 0.1, 0.2, 0.2], target_stds=[0.1, 0.1, 0.2, 0.2],
reg_class_agnostic=True), reg_class_agnostic=True,
loss_cls=dict(
type='CrossEntropyLoss',
use_sigmoid=False,
loss_weight=1.0),
loss_bbox=dict(
type='SmoothL1Loss',
beta=1.0,
loss_weight=1.0)),
dict( dict(
type='SharedFCBBoxHead', type='SharedFCBBoxHead',
num_fcs=2, num_fcs=2,
...@@ -52,7 +62,15 @@ model = dict( ...@@ -52,7 +62,15 @@ model = dict(
num_classes=81, num_classes=81,
target_means=[0., 0., 0., 0.], target_means=[0., 0., 0., 0.],
target_stds=[0.05, 0.05, 0.1, 0.1], target_stds=[0.05, 0.05, 0.1, 0.1],
reg_class_agnostic=True), reg_class_agnostic=True,
loss_cls=dict(
type='CrossEntropyLoss',
use_sigmoid=False,
loss_weight=1.0),
loss_bbox=dict(
type='SmoothL1Loss',
beta=1.0,
loss_weight=1.0)),
dict( dict(
type='SharedFCBBoxHead', type='SharedFCBBoxHead',
num_fcs=2, num_fcs=2,
...@@ -62,7 +80,15 @@ model = dict( ...@@ -62,7 +80,15 @@ model = dict(
num_classes=81, num_classes=81,
target_means=[0., 0., 0., 0.], target_means=[0., 0., 0., 0.],
target_stds=[0.033, 0.033, 0.067, 0.067], target_stds=[0.033, 0.033, 0.067, 0.067],
reg_class_agnostic=True) reg_class_agnostic=True,
loss_cls=dict(
type='CrossEntropyLoss',
use_sigmoid=False,
loss_weight=1.0),
loss_bbox=dict(
type='SmoothL1Loss',
beta=1.0,
loss_weight=1.0))
]) ])
# model training and testing settings # model training and testing settings
train_cfg = dict( train_cfg = dict(
...@@ -81,7 +107,6 @@ train_cfg = dict( ...@@ -81,7 +107,6 @@ train_cfg = dict(
add_gt_as_proposals=False), add_gt_as_proposals=False),
allowed_border=0, allowed_border=0,
pos_weight=-1, pos_weight=-1,
smoothl1_beta=1 / 9.0,
debug=False), debug=False),
rpn_proposal=dict( rpn_proposal=dict(
nms_across_levels=False, nms_across_levels=False,
...@@ -213,7 +238,7 @@ log_config = dict( ...@@ -213,7 +238,7 @@ log_config = dict(
total_epochs = 12 total_epochs = 12
dist_params = dict(backend='nccl') dist_params = dict(backend='nccl')
log_level = 'INFO' log_level = 'INFO'
work_dir = './work_dirs/cascade_rcnn_r50_fpn_1x' work_dir = './work_dirs/cascade_rcnn_x101_32x4d_fpn_1x'
load_from = None load_from = None
resume_from = None resume_from = None
workflow = [('train', 1)] workflow = [('train', 1)]
...@@ -26,7 +26,9 @@ model = dict( ...@@ -26,7 +26,9 @@ model = dict(
anchor_strides=[4, 8, 16, 32, 64], anchor_strides=[4, 8, 16, 32, 64],
target_means=[.0, .0, .0, .0], target_means=[.0, .0, .0, .0],
target_stds=[1.0, 1.0, 1.0, 1.0], target_stds=[1.0, 1.0, 1.0, 1.0],
use_sigmoid_cls=True), loss_cls=dict(
type='CrossEntropyLoss', use_sigmoid=True, loss_weight=1.0),
loss_bbox=dict(type='SmoothL1Loss', beta=1.0 / 9.0, loss_weight=1.0)),
bbox_roi_extractor=dict( bbox_roi_extractor=dict(
type='SingleRoIExtractor', type='SingleRoIExtractor',
roi_layer=dict(type='RoIAlign', out_size=7, sample_num=2), roi_layer=dict(type='RoIAlign', out_size=7, sample_num=2),
...@@ -42,7 +44,15 @@ model = dict( ...@@ -42,7 +44,15 @@ model = dict(
num_classes=81, num_classes=81,
target_means=[0., 0., 0., 0.], target_means=[0., 0., 0., 0.],
target_stds=[0.1, 0.1, 0.2, 0.2], target_stds=[0.1, 0.1, 0.2, 0.2],
reg_class_agnostic=True), reg_class_agnostic=True,
loss_cls=dict(
type='CrossEntropyLoss',
use_sigmoid=False,
loss_weight=1.0),
loss_bbox=dict(
type='SmoothL1Loss',
beta=1.0,
loss_weight=1.0)),
dict( dict(
type='SharedFCBBoxHead', type='SharedFCBBoxHead',
num_fcs=2, num_fcs=2,
...@@ -52,7 +62,15 @@ model = dict( ...@@ -52,7 +62,15 @@ model = dict(
num_classes=81, num_classes=81,
target_means=[0., 0., 0., 0.], target_means=[0., 0., 0., 0.],
target_stds=[0.05, 0.05, 0.1, 0.1], target_stds=[0.05, 0.05, 0.1, 0.1],
reg_class_agnostic=True), reg_class_agnostic=True,
loss_cls=dict(
type='CrossEntropyLoss',
use_sigmoid=False,
loss_weight=1.0),
loss_bbox=dict(
type='SmoothL1Loss',
beta=1.0,
loss_weight=1.0)),
dict( dict(
type='SharedFCBBoxHead', type='SharedFCBBoxHead',
num_fcs=2, num_fcs=2,
...@@ -62,7 +80,15 @@ model = dict( ...@@ -62,7 +80,15 @@ model = dict(
num_classes=81, num_classes=81,
target_means=[0., 0., 0., 0.], target_means=[0., 0., 0., 0.],
target_stds=[0.033, 0.033, 0.067, 0.067], target_stds=[0.033, 0.033, 0.067, 0.067],
reg_class_agnostic=True) reg_class_agnostic=True,
loss_cls=dict(
type='CrossEntropyLoss',
use_sigmoid=False,
loss_weight=1.0),
loss_bbox=dict(
type='SmoothL1Loss',
beta=1.0,
loss_weight=1.0))
]) ])
# model training and testing settings # model training and testing settings
train_cfg = dict( train_cfg = dict(
...@@ -81,7 +107,6 @@ train_cfg = dict( ...@@ -81,7 +107,6 @@ train_cfg = dict(
add_gt_as_proposals=False), add_gt_as_proposals=False),
allowed_border=0, allowed_border=0,
pos_weight=-1, pos_weight=-1,
smoothl1_beta=1 / 9.0,
debug=False), debug=False),
rpn_proposal=dict( rpn_proposal=dict(
nms_across_levels=False, nms_across_levels=False,
...@@ -213,7 +238,7 @@ log_config = dict( ...@@ -213,7 +238,7 @@ log_config = dict(
total_epochs = 12 total_epochs = 12
dist_params = dict(backend='nccl') dist_params = dict(backend='nccl')
log_level = 'INFO' log_level = 'INFO'
work_dir = './work_dirs/cascade_rcnn_r50_fpn_1x' work_dir = './work_dirs/cascade_rcnn_x101_64x4d_fpn_1x'
load_from = None load_from = None
resume_from = None resume_from = None
workflow = [('train', 1)] workflow = [('train', 1)]
...@@ -27,7 +27,9 @@ model = dict( ...@@ -27,7 +27,9 @@ model = dict(
anchor_strides=[4, 8, 16, 32, 64], anchor_strides=[4, 8, 16, 32, 64],
target_means=[.0, .0, .0, .0], target_means=[.0, .0, .0, .0],
target_stds=[1.0, 1.0, 1.0, 1.0], target_stds=[1.0, 1.0, 1.0, 1.0],
use_sigmoid_cls=True), loss_cls=dict(
type='CrossEntropyLoss', use_sigmoid=True, loss_weight=1.0),
loss_bbox=dict(type='SmoothL1Loss', beta=1.0 / 9.0, loss_weight=1.0)),
bbox_roi_extractor=dict( bbox_roi_extractor=dict(
type='SingleRoIExtractor', type='SingleRoIExtractor',
roi_layer=dict(type='RoIAlign', out_size=7, sample_num=2), roi_layer=dict(type='RoIAlign', out_size=7, sample_num=2),
...@@ -43,7 +45,10 @@ model = dict( ...@@ -43,7 +45,10 @@ model = dict(
num_classes=81, num_classes=81,
target_means=[0., 0., 0., 0.], target_means=[0., 0., 0., 0.],
target_stds=[0.1, 0.1, 0.2, 0.2], target_stds=[0.1, 0.1, 0.2, 0.2],
reg_class_agnostic=True), reg_class_agnostic=True,
loss_cls=dict(
type='CrossEntropyLoss', use_sigmoid=False, loss_weight=1.0),
loss_bbox=dict(type='SmoothL1Loss', beta=1.0, loss_weight=1.0)),
dict( dict(
type='SharedFCBBoxHead', type='SharedFCBBoxHead',
num_fcs=2, num_fcs=2,
...@@ -53,7 +58,10 @@ model = dict( ...@@ -53,7 +58,10 @@ model = dict(
num_classes=81, num_classes=81,
target_means=[0., 0., 0., 0.], target_means=[0., 0., 0., 0.],
target_stds=[0.05, 0.05, 0.1, 0.1], target_stds=[0.05, 0.05, 0.1, 0.1],
reg_class_agnostic=True), reg_class_agnostic=True,
loss_cls=dict(
type='CrossEntropyLoss', use_sigmoid=False, loss_weight=1.0),
loss_bbox=dict(type='SmoothL1Loss', beta=1.0, loss_weight=1.0)),
dict( dict(
type='SharedFCBBoxHead', type='SharedFCBBoxHead',
num_fcs=2, num_fcs=2,
...@@ -63,7 +71,10 @@ model = dict( ...@@ -63,7 +71,10 @@ model = dict(
num_classes=81, num_classes=81,
target_means=[0., 0., 0., 0.], target_means=[0., 0., 0., 0.],
target_stds=[0.033, 0.033, 0.067, 0.067], target_stds=[0.033, 0.033, 0.067, 0.067],
reg_class_agnostic=True) reg_class_agnostic=True,
loss_cls=dict(
type='CrossEntropyLoss', use_sigmoid=False, loss_weight=1.0),
loss_bbox=dict(type='SmoothL1Loss', beta=1.0, loss_weight=1.0))
], ],
mask_roi_extractor=dict( mask_roi_extractor=dict(
type='SingleRoIExtractor', type='SingleRoIExtractor',
...@@ -75,7 +86,9 @@ model = dict( ...@@ -75,7 +86,9 @@ model = dict(
num_convs=4, num_convs=4,
in_channels=256, in_channels=256,
conv_out_channels=256, conv_out_channels=256,
num_classes=81)) num_classes=81,
loss_mask=dict(
type='CrossEntropyLoss', use_mask=True, loss_weight=1.0)))
# model training and testing settings # model training and testing settings
train_cfg = dict( train_cfg = dict(
rpn=dict( rpn=dict(
...@@ -93,7 +106,6 @@ train_cfg = dict( ...@@ -93,7 +106,6 @@ train_cfg = dict(
add_gt_as_proposals=False), add_gt_as_proposals=False),
allowed_border=0, allowed_border=0,
pos_weight=-1, pos_weight=-1,
smoothl1_beta=1 / 9.0,
debug=False), debug=False),
rpn_proposal=dict( rpn_proposal=dict(
nms_across_levels=False, nms_across_levels=False,
......
...@@ -11,7 +11,9 @@ model = dict( ...@@ -11,7 +11,9 @@ model = dict(
frozen_stages=1, frozen_stages=1,
style='pytorch', style='pytorch',
dcn=dict( dcn=dict(
modulated=False, deformable_groups=1, fallback_on_stride=False), modulated=False,
deformable_groups=1,
fallback_on_stride=False),
stage_with_dcn=(False, True, True, True)), stage_with_dcn=(False, True, True, True)),
neck=dict( neck=dict(
type='FPN', type='FPN',
...@@ -27,7 +29,9 @@ model = dict( ...@@ -27,7 +29,9 @@ model = dict(
anchor_strides=[4, 8, 16, 32, 64], anchor_strides=[4, 8, 16, 32, 64],
target_means=[.0, .0, .0, .0], target_means=[.0, .0, .0, .0],
target_stds=[1.0, 1.0, 1.0, 1.0], target_stds=[1.0, 1.0, 1.0, 1.0],
use_sigmoid_cls=True), loss_cls=dict(
type='CrossEntropyLoss', use_sigmoid=True, loss_weight=1.0),
loss_bbox=dict(type='SmoothL1Loss', beta=1.0 / 9.0, loss_weight=1.0)),
bbox_roi_extractor=dict( bbox_roi_extractor=dict(
type='SingleRoIExtractor', type='SingleRoIExtractor',
roi_layer=dict(type='RoIAlign', out_size=7, sample_num=2), roi_layer=dict(type='RoIAlign', out_size=7, sample_num=2),
...@@ -43,7 +47,15 @@ model = dict( ...@@ -43,7 +47,15 @@ model = dict(
num_classes=81, num_classes=81,
target_means=[0., 0., 0., 0.], target_means=[0., 0., 0., 0.],
target_stds=[0.1, 0.1, 0.2, 0.2], target_stds=[0.1, 0.1, 0.2, 0.2],
reg_class_agnostic=True), reg_class_agnostic=True,
loss_cls=dict(
type='CrossEntropyLoss',
use_sigmoid=False,
loss_weight=1.0),
loss_bbox=dict(
type='SmoothL1Loss',
beta=1.0,
loss_weight=1.0)),
dict( dict(
type='SharedFCBBoxHead', type='SharedFCBBoxHead',
num_fcs=2, num_fcs=2,
...@@ -53,7 +65,15 @@ model = dict( ...@@ -53,7 +65,15 @@ model = dict(
num_classes=81, num_classes=81,
target_means=[0., 0., 0., 0.], target_means=[0., 0., 0., 0.],
target_stds=[0.05, 0.05, 0.1, 0.1], target_stds=[0.05, 0.05, 0.1, 0.1],
reg_class_agnostic=True), reg_class_agnostic=True,
loss_cls=dict(
type='CrossEntropyLoss',
use_sigmoid=False,
loss_weight=1.0),
loss_bbox=dict(
type='SmoothL1Loss',
beta=1.0,
loss_weight=1.0)),
dict( dict(
type='SharedFCBBoxHead', type='SharedFCBBoxHead',
num_fcs=2, num_fcs=2,
...@@ -63,7 +83,15 @@ model = dict( ...@@ -63,7 +83,15 @@ model = dict(
num_classes=81, num_classes=81,
target_means=[0., 0., 0., 0.], target_means=[0., 0., 0., 0.],
target_stds=[0.033, 0.033, 0.067, 0.067], target_stds=[0.033, 0.033, 0.067, 0.067],
reg_class_agnostic=True) reg_class_agnostic=True,
loss_cls=dict(
type='CrossEntropyLoss',
use_sigmoid=False,
loss_weight=1.0),
loss_bbox=dict(
type='SmoothL1Loss',
beta=1.0,
loss_weight=1.0))
]) ])
# model training and testing settings # model training and testing settings
train_cfg = dict( train_cfg = dict(
...@@ -82,7 +110,6 @@ train_cfg = dict( ...@@ -82,7 +110,6 @@ train_cfg = dict(
add_gt_as_proposals=False), add_gt_as_proposals=False),
allowed_border=0, allowed_border=0,
pos_weight=-1, pos_weight=-1,
smoothl1_beta=1 / 9.0,
debug=False), debug=False),
rpn_proposal=dict( rpn_proposal=dict(
nms_across_levels=False, nms_across_levels=False,
......
...@@ -26,7 +26,9 @@ model = dict( ...@@ -26,7 +26,9 @@ model = dict(
anchor_strides=[4, 8, 16, 32, 64], anchor_strides=[4, 8, 16, 32, 64],
target_means=[.0, .0, .0, .0], target_means=[.0, .0, .0, .0],
target_stds=[1.0, 1.0, 1.0, 1.0], target_stds=[1.0, 1.0, 1.0, 1.0],
use_sigmoid_cls=True), loss_cls=dict(
type='CrossEntropyLoss', use_sigmoid=True, loss_weight=1.0),
loss_bbox=dict(type='SmoothL1Loss', beta=1.0 / 9.0, loss_weight=1.0)),
bbox_roi_extractor=dict( bbox_roi_extractor=dict(
type='SingleRoIExtractor', type='SingleRoIExtractor',
roi_layer=dict(type='RoIAlign', out_size=7, sample_num=2), roi_layer=dict(type='RoIAlign', out_size=7, sample_num=2),
...@@ -41,7 +43,10 @@ model = dict( ...@@ -41,7 +43,10 @@ model = dict(
num_classes=81, num_classes=81,
target_means=[0., 0., 0., 0.], target_means=[0., 0., 0., 0.],
target_stds=[0.1, 0.1, 0.2, 0.2], target_stds=[0.1, 0.1, 0.2, 0.2],
reg_class_agnostic=False)) reg_class_agnostic=False,
loss_cls=dict(
type='CrossEntropyLoss', use_sigmoid=False, loss_weight=1.0),
loss_bbox=dict(type='SmoothL1Loss', beta=1.0, loss_weight=1.0)))
# model training and testing settings # model training and testing settings
train_cfg = dict( train_cfg = dict(
rpn=dict( rpn=dict(
...@@ -59,7 +64,6 @@ train_cfg = dict( ...@@ -59,7 +64,6 @@ train_cfg = dict(
add_gt_as_proposals=False), add_gt_as_proposals=False),
allowed_border=0, allowed_border=0,
pos_weight=-1, pos_weight=-1,
smoothl1_beta=1 / 9.0,
debug=False), debug=False),
rpn_proposal=dict( rpn_proposal=dict(
nms_across_levels=False, nms_across_levels=False,
......
...@@ -31,7 +31,9 @@ model = dict( ...@@ -31,7 +31,9 @@ model = dict(
anchor_strides=[4, 8, 16, 32, 64], anchor_strides=[4, 8, 16, 32, 64],
target_means=[.0, .0, .0, .0], target_means=[.0, .0, .0, .0],
target_stds=[1.0, 1.0, 1.0, 1.0], target_stds=[1.0, 1.0, 1.0, 1.0],
use_sigmoid_cls=True), loss_cls=dict(
type='CrossEntropyLoss', use_sigmoid=True, loss_weight=1.0),
loss_bbox=dict(type='SmoothL1Loss', beta=1.0 / 9.0, loss_weight=1.0)),
bbox_roi_extractor=dict( bbox_roi_extractor=dict(
type='SingleRoIExtractor', type='SingleRoIExtractor',
roi_layer=dict(type='RoIAlign', out_size=7, sample_num=2), roi_layer=dict(type='RoIAlign', out_size=7, sample_num=2),
...@@ -46,7 +48,10 @@ model = dict( ...@@ -46,7 +48,10 @@ model = dict(
num_classes=81, num_classes=81,
target_means=[0., 0., 0., 0.], target_means=[0., 0., 0., 0.],
target_stds=[0.1, 0.1, 0.2, 0.2], target_stds=[0.1, 0.1, 0.2, 0.2],
reg_class_agnostic=False)) reg_class_agnostic=False,
loss_cls=dict(
type='CrossEntropyLoss', use_sigmoid=False, loss_weight=1.0),
loss_bbox=dict(type='SmoothL1Loss', beta=1.0, loss_weight=1.0)))
# model training and testing settings # model training and testing settings
train_cfg = dict( train_cfg = dict(
rpn=dict( rpn=dict(
...@@ -64,7 +69,6 @@ train_cfg = dict( ...@@ -64,7 +69,6 @@ train_cfg = dict(
add_gt_as_proposals=False), add_gt_as_proposals=False),
allowed_border=0, allowed_border=0,
pos_weight=-1, pos_weight=-1,
smoothl1_beta=1 / 9.0,
debug=False), debug=False),
rpn_proposal=dict( rpn_proposal=dict(
nms_across_levels=False, nms_across_levels=False,
......
...@@ -23,7 +23,9 @@ model = dict( ...@@ -23,7 +23,9 @@ model = dict(
anchor_strides=[4, 8, 16, 32, 64], anchor_strides=[4, 8, 16, 32, 64],
target_means=[.0, .0, .0, .0], target_means=[.0, .0, .0, .0],
target_stds=[1.0, 1.0, 1.0, 1.0], target_stds=[1.0, 1.0, 1.0, 1.0],
use_sigmoid_cls=True), loss_cls=dict(
type='CrossEntropyLoss', use_sigmoid=True, loss_weight=1.0),
loss_bbox=dict(type='SmoothL1Loss', beta=1.0 / 9.0, loss_weight=1.0)),
bbox_roi_extractor=dict( bbox_roi_extractor=dict(
type='SingleRoIExtractor', type='SingleRoIExtractor',
roi_layer=dict( roi_layer=dict(
...@@ -44,7 +46,10 @@ model = dict( ...@@ -44,7 +46,10 @@ model = dict(
num_classes=81, num_classes=81,
target_means=[0., 0., 0., 0.], target_means=[0., 0., 0., 0.],
target_stds=[0.1, 0.1, 0.2, 0.2], target_stds=[0.1, 0.1, 0.2, 0.2],
reg_class_agnostic=False)) reg_class_agnostic=False,
loss_cls=dict(
type='CrossEntropyLoss', use_sigmoid=False, loss_weight=1.0),
loss_bbox=dict(type='SmoothL1Loss', beta=1.0, loss_weight=1.0)))
# model training and testing settings # model training and testing settings
train_cfg = dict( train_cfg = dict(
rpn=dict( rpn=dict(
...@@ -62,7 +67,6 @@ train_cfg = dict( ...@@ -62,7 +67,6 @@ train_cfg = dict(
add_gt_as_proposals=False), add_gt_as_proposals=False),
allowed_border=0, allowed_border=0,
pos_weight=-1, pos_weight=-1,
smoothl1_beta=1 / 9.0,
debug=False), debug=False),
rpn_proposal=dict( rpn_proposal=dict(
nms_across_levels=False, nms_across_levels=False,
......
...@@ -26,7 +26,9 @@ model = dict( ...@@ -26,7 +26,9 @@ model = dict(
anchor_strides=[4, 8, 16, 32, 64], anchor_strides=[4, 8, 16, 32, 64],
target_means=[.0, .0, .0, .0], target_means=[.0, .0, .0, .0],
target_stds=[1.0, 1.0, 1.0, 1.0], target_stds=[1.0, 1.0, 1.0, 1.0],
use_sigmoid_cls=True), loss_cls=dict(
type='CrossEntropyLoss', use_sigmoid=True, loss_weight=1.0),
loss_bbox=dict(type='SmoothL1Loss', beta=1.0 / 9.0, loss_weight=1.0)),
bbox_roi_extractor=dict( bbox_roi_extractor=dict(
type='SingleRoIExtractor', type='SingleRoIExtractor',
roi_layer=dict(type='RoIAlign', out_size=7, sample_num=2), roi_layer=dict(type='RoIAlign', out_size=7, sample_num=2),
...@@ -41,7 +43,10 @@ model = dict( ...@@ -41,7 +43,10 @@ model = dict(
num_classes=81, num_classes=81,
target_means=[0., 0., 0., 0.], target_means=[0., 0., 0., 0.],
target_stds=[0.1, 0.1, 0.2, 0.2], target_stds=[0.1, 0.1, 0.2, 0.2],
reg_class_agnostic=False)) reg_class_agnostic=False,
loss_cls=dict(
type='CrossEntropyLoss', use_sigmoid=False, loss_weight=1.0),
loss_bbox=dict(type='SmoothL1Loss', beta=1.0, loss_weight=1.0)))
# model training and testing settings # model training and testing settings
train_cfg = dict( train_cfg = dict(
rpn=dict( rpn=dict(
...@@ -59,7 +64,6 @@ train_cfg = dict( ...@@ -59,7 +64,6 @@ train_cfg = dict(
add_gt_as_proposals=False), add_gt_as_proposals=False),
allowed_border=0, allowed_border=0,
pos_weight=-1, pos_weight=-1,
smoothl1_beta=1 / 9.0,
debug=False), debug=False),
rpn_proposal=dict( rpn_proposal=dict(
nms_across_levels=False, nms_across_levels=False,
......
...@@ -23,7 +23,9 @@ model = dict( ...@@ -23,7 +23,9 @@ model = dict(
anchor_strides=[4, 8, 16, 32, 64], anchor_strides=[4, 8, 16, 32, 64],
target_means=[.0, .0, .0, .0], target_means=[.0, .0, .0, .0],
target_stds=[1.0, 1.0, 1.0, 1.0], target_stds=[1.0, 1.0, 1.0, 1.0],
use_sigmoid_cls=True), loss_cls=dict(
type='CrossEntropyLoss', use_sigmoid=True, loss_weight=1.0),
loss_bbox=dict(type='SmoothL1Loss', beta=1.0 / 9.0, loss_weight=1.0)),
bbox_roi_extractor=dict( bbox_roi_extractor=dict(
type='SingleRoIExtractor', type='SingleRoIExtractor',
roi_layer=dict( roi_layer=dict(
...@@ -44,7 +46,10 @@ model = dict( ...@@ -44,7 +46,10 @@ model = dict(
num_classes=81, num_classes=81,
target_means=[0., 0., 0., 0.], target_means=[0., 0., 0., 0.],
target_stds=[0.1, 0.1, 0.2, 0.2], target_stds=[0.1, 0.1, 0.2, 0.2],
reg_class_agnostic=False)) reg_class_agnostic=False,
loss_cls=dict(
type='CrossEntropyLoss', use_sigmoid=False, loss_weight=1.0),
loss_bbox=dict(type='SmoothL1Loss', beta=1.0, loss_weight=1.0)))
# model training and testing settings # model training and testing settings
train_cfg = dict( train_cfg = dict(
rpn=dict( rpn=dict(
...@@ -62,7 +67,6 @@ train_cfg = dict( ...@@ -62,7 +67,6 @@ train_cfg = dict(
add_gt_as_proposals=False), add_gt_as_proposals=False),
allowed_border=0, allowed_border=0,
pos_weight=-1, pos_weight=-1,
smoothl1_beta=1 / 9.0,
debug=False), debug=False),
rpn_proposal=dict( rpn_proposal=dict(
nms_across_levels=False, nms_across_levels=False,
......
...@@ -10,7 +10,9 @@ model = dict( ...@@ -10,7 +10,9 @@ model = dict(
frozen_stages=1, frozen_stages=1,
style='pytorch', style='pytorch',
dcn=dict( dcn=dict(
modulated=False, deformable_groups=1, fallback_on_stride=False), modulated=False,
deformable_groups=1,
fallback_on_stride=False),
stage_with_dcn=(False, True, True, True)), stage_with_dcn=(False, True, True, True)),
neck=dict( neck=dict(
type='FPN', type='FPN',
...@@ -26,7 +28,9 @@ model = dict( ...@@ -26,7 +28,9 @@ model = dict(
anchor_strides=[4, 8, 16, 32, 64], anchor_strides=[4, 8, 16, 32, 64],
target_means=[.0, .0, .0, .0], target_means=[.0, .0, .0, .0],
target_stds=[1.0, 1.0, 1.0, 1.0], target_stds=[1.0, 1.0, 1.0, 1.0],
use_sigmoid_cls=True), loss_cls=dict(
type='CrossEntropyLoss', use_sigmoid=True, loss_weight=1.0),
loss_bbox=dict(type='SmoothL1Loss', beta=1.0 / 9.0, loss_weight=1.0)),
bbox_roi_extractor=dict( bbox_roi_extractor=dict(
type='SingleRoIExtractor', type='SingleRoIExtractor',
roi_layer=dict(type='RoIAlign', out_size=7, sample_num=2), roi_layer=dict(type='RoIAlign', out_size=7, sample_num=2),
...@@ -41,7 +45,10 @@ model = dict( ...@@ -41,7 +45,10 @@ model = dict(
num_classes=81, num_classes=81,
target_means=[0., 0., 0., 0.], target_means=[0., 0., 0., 0.],
target_stds=[0.1, 0.1, 0.2, 0.2], target_stds=[0.1, 0.1, 0.2, 0.2],
reg_class_agnostic=False), reg_class_agnostic=False,
loss_cls=dict(
type='CrossEntropyLoss', use_sigmoid=False, loss_weight=1.0),
loss_bbox=dict(type='SmoothL1Loss', beta=1.0, loss_weight=1.0)),
mask_roi_extractor=dict( mask_roi_extractor=dict(
type='SingleRoIExtractor', type='SingleRoIExtractor',
roi_layer=dict(type='RoIAlign', out_size=14, sample_num=2), roi_layer=dict(type='RoIAlign', out_size=14, sample_num=2),
...@@ -52,7 +59,9 @@ model = dict( ...@@ -52,7 +59,9 @@ model = dict(
num_convs=4, num_convs=4,
in_channels=256, in_channels=256,
conv_out_channels=256, conv_out_channels=256,
num_classes=81)) num_classes=81,
loss_mask=dict(
type='CrossEntropyLoss', use_mask=True, loss_weight=1.0)))
# model training and testing settings # model training and testing settings
train_cfg = dict( train_cfg = dict(
rpn=dict( rpn=dict(
...@@ -70,7 +79,6 @@ train_cfg = dict( ...@@ -70,7 +79,6 @@ train_cfg = dict(
add_gt_as_proposals=False), add_gt_as_proposals=False),
allowed_border=0, allowed_border=0,
pos_weight=-1, pos_weight=-1,
smoothl1_beta=1 / 9.0,
debug=False), debug=False),
rpn_proposal=dict( rpn_proposal=dict(
nms_across_levels=False, nms_across_levels=False,
......
...@@ -28,7 +28,10 @@ model = dict( ...@@ -28,7 +28,10 @@ model = dict(
num_classes=81, num_classes=81,
target_means=[0., 0., 0., 0.], target_means=[0., 0., 0., 0.],
target_stds=[0.1, 0.1, 0.2, 0.2], target_stds=[0.1, 0.1, 0.2, 0.2],
reg_class_agnostic=False), reg_class_agnostic=False,
loss_cls=dict(
type='CrossEntropyLoss', use_sigmoid=False, loss_weight=1.0),
loss_bbox=dict(type='SmoothL1Loss', beta=1.0, loss_weight=1.0)),
mask_roi_extractor=dict( mask_roi_extractor=dict(
type='SingleRoIExtractor', type='SingleRoIExtractor',
roi_layer=dict(type='RoIAlign', out_size=14, sample_num=2), roi_layer=dict(type='RoIAlign', out_size=14, sample_num=2),
...@@ -39,7 +42,9 @@ model = dict( ...@@ -39,7 +42,9 @@ model = dict(
num_convs=4, num_convs=4,
in_channels=256, in_channels=256,
conv_out_channels=256, conv_out_channels=256,
num_classes=81)) num_classes=81,
loss_mask=dict(
type='CrossEntropyLoss', use_mask=True, loss_weight=1.0)))
# model training and testing settings # model training and testing settings
train_cfg = dict( train_cfg = dict(
rcnn=dict( rcnn=dict(
......
...@@ -28,7 +28,10 @@ model = dict( ...@@ -28,7 +28,10 @@ model = dict(
num_classes=81, num_classes=81,
target_means=[0., 0., 0., 0.], target_means=[0., 0., 0., 0.],
target_stds=[0.1, 0.1, 0.2, 0.2], target_stds=[0.1, 0.1, 0.2, 0.2],
reg_class_agnostic=False), reg_class_agnostic=False,
loss_cls=dict(
type='CrossEntropyLoss', use_sigmoid=False, loss_weight=1.0),
loss_bbox=dict(type='SmoothL1Loss', beta=1.0, loss_weight=1.0)),
mask_roi_extractor=dict( mask_roi_extractor=dict(
type='SingleRoIExtractor', type='SingleRoIExtractor',
roi_layer=dict(type='RoIAlign', out_size=14, sample_num=2), roi_layer=dict(type='RoIAlign', out_size=14, sample_num=2),
...@@ -39,7 +42,9 @@ model = dict( ...@@ -39,7 +42,9 @@ model = dict(
num_convs=4, num_convs=4,
in_channels=256, in_channels=256,
conv_out_channels=256, conv_out_channels=256,
num_classes=81)) num_classes=81,
loss_mask=dict(
type='CrossEntropyLoss', use_mask=True, loss_weight=1.0)))
# model training and testing settings # model training and testing settings
train_cfg = dict( train_cfg = dict(
rcnn=dict( rcnn=dict(
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment