Skip to content

Commit ee3c8e1

Browse files
committed
added fcos config file to samples (for tests)
1 parent 562e783 commit ee3c8e1

File tree

1 file changed

+105
-0
lines changed

1 file changed

+105
-0
lines changed
Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
_base_ = [
2+
'../_base_/datasets/coco_detection.py',
3+
'../_base_/schedules/schedule_1x.py', '../_base_/default_runtime.py'
4+
]
5+
# model settings
6+
model = dict(
7+
type='FCOS',
8+
pretrained='open-mmlab://detectron/resnet50_caffe',
9+
backbone=dict(
10+
type='ResNet',
11+
depth=50,
12+
num_stages=4,
13+
out_indices=(0, 1, 2, 3),
14+
frozen_stages=1,
15+
norm_cfg=dict(type='BN', requires_grad=False),
16+
norm_eval=True,
17+
style='caffe'),
18+
neck=dict(
19+
type='FPN',
20+
in_channels=[256, 512, 1024, 2048],
21+
out_channels=256,
22+
start_level=1,
23+
add_extra_convs=True,
24+
extra_convs_on_inputs=False, # use P5
25+
num_outs=5,
26+
relu_before_extra_convs=True),
27+
bbox_head=dict(
28+
type='FCOSHead',
29+
num_classes=80,
30+
in_channels=256,
31+
stacked_convs=4,
32+
feat_channels=256,
33+
strides=[8, 16, 32, 64, 128],
34+
loss_cls=dict(
35+
type='FocalLoss',
36+
use_sigmoid=True,
37+
gamma=2.0,
38+
alpha=0.25,
39+
loss_weight=1.0),
40+
loss_bbox=dict(type='IoULoss', loss_weight=1.0),
41+
loss_centerness=dict(
42+
type='CrossEntropyLoss', use_sigmoid=True, loss_weight=1.0)),
43+
# training and testing settings
44+
train_cfg=dict(
45+
assigner=dict(
46+
type='MaxIoUAssigner',
47+
pos_iou_thr=0.5,
48+
neg_iou_thr=0.4,
49+
min_pos_iou=0,
50+
ignore_iof_thr=-1),
51+
allowed_border=-1,
52+
pos_weight=-1,
53+
debug=False),
54+
test_cfg=dict(
55+
nms_pre=1000,
56+
min_bbox_size=0,
57+
score_thr=0.05,
58+
nms=dict(type='nms', iou_threshold=0.5),
59+
max_per_img=100))
60+
img_norm_cfg = dict(
61+
mean=[102.9801, 115.9465, 122.7717], std=[1.0, 1.0, 1.0], to_rgb=False)
62+
train_pipeline = [
63+
dict(type='LoadImageFromFile'),
64+
dict(type='LoadAnnotations', with_bbox=True),
65+
dict(type='Resize', img_scale=(1333, 800), keep_ratio=True),
66+
dict(type='RandomFlip', flip_ratio=0.5),
67+
dict(type='Normalize', **img_norm_cfg),
68+
dict(type='Pad', size_divisor=32),
69+
dict(type='DefaultFormatBundle'),
70+
dict(type='Collect', keys=['img', 'gt_bboxes', 'gt_labels']),
71+
]
72+
test_pipeline = [
73+
dict(type='LoadImageFromFile'),
74+
dict(
75+
type='MultiScaleFlipAug',
76+
img_scale=(1333, 800),
77+
flip=False,
78+
transforms=[
79+
dict(type='Resize', keep_ratio=True),
80+
dict(type='RandomFlip'),
81+
dict(type='Normalize', **img_norm_cfg),
82+
dict(type='Pad', size_divisor=32),
83+
dict(type='ImageToTensor', keys=['img']),
84+
dict(type='Collect', keys=['img']),
85+
])
86+
]
87+
data = dict(
88+
samples_per_gpu=2,
89+
workers_per_gpu=2,
90+
train=dict(pipeline=train_pipeline),
91+
val=dict(pipeline=test_pipeline),
92+
test=dict(pipeline=test_pipeline))
93+
# optimizer
94+
optimizer = dict(
95+
lr=0.01, paramwise_cfg=dict(bias_lr_mult=2., bias_decay_mult=0.))
96+
optimizer_config = dict(
97+
_delete_=True, grad_clip=dict(max_norm=35, norm_type=2))
98+
# learning policy
99+
lr_config = dict(
100+
policy='step',
101+
warmup='constant',
102+
warmup_iters=500,
103+
warmup_ratio=1.0 / 3,
104+
step=[8, 11])
105+
runner = dict(type='EpochBasedRunner', max_epochs=12)

0 commit comments

Comments
 (0)