-
Notifications
You must be signed in to change notification settings - Fork 1
/
semi_fcaf3d.py
52 lines (50 loc) · 1.54 KB
/
semi_fcaf3d.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
voxel_size = 0.01
model = dict(
type='SemiSingleStageSparse3DDetector',
model_cfg=dict(
type="SingleStageSparse3DDetector",
voxel_size=voxel_size,
backbone=dict(
type='MEResNet3D',
in_channels=3,
depth=34),
neck_with_head=dict(
type='Fcaf3DNeckWithHead',
in_channels=(64, 128, 256, 512),
out_channels=128,
pts_threshold=100000,
n_classes=18,
n_reg_outs=6,
voxel_size=voxel_size,
assigner=dict(
type='Fcaf3DAssigner',
limit=27,
topk=18,
n_scales=4),
loss_bbox=dict(type='IoU3DLoss', loss_weight=1.0)),
train_cfg=dict(),
test_cfg=dict(
nms_pre=1000,
iou_thr=.5,
score_thr=.01)
)
)
optimizer = dict(type='AdamW', lr=0.001, weight_decay=0.0001)
optimizer_config = dict(grad_clip=dict(max_norm=10, norm_type=2))
runner = dict(type='IterBasedRunner', max_iters=12000)
custom_hooks = [dict(type='EmptyCacheHook', after_iter=True)]
lr_config = dict(policy='step', warmup=None, step=[12000, 16500])
evaluation = dict(interval=1000)
checkpoint_config = dict(by_epoch=False, interval=1000, max_keep_ckpts=-1,)
log_config = dict(
interval=20,
hooks=[
dict(type='TextLoggerHook'),
# dict(type='TensorboardLoggerHook')
])
dist_params = dict(backend='nccl')
log_level = 'INFO'
work_dir = None
load_from = None
resume_from = None
workflow = [('train', 1)]