/
swinv2_yolov6l6_finetune.py
62 lines (60 loc) · 1.4 KB
/
swinv2_yolov6l6_finetune.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
53
54
55
56
57
58
59
60
61
62
# YOLOv6l6 model
model = dict(
type="YOLOv6l6",
pretrained="/shares/rpg.ifi.uzh/nzubic/event_representation_study/swinv2_yolov6l6.pt",
depth_multiple=1.0,
width_multiple=1.0,
backbone=dict(
type="SwinTransformerV2",
num_repeats=[1, 6, 12, 18, 6, 6],
out_channels=[64, 128, 256, 512, 768, 1024],
csp_e=float(1) / 2,
fuse_P2=True,
),
neck=dict(
type="CSPRepBiFPANNeck_P6",
num_repeats=[12, 12, 12, 12, 12, 12],
out_channels=[512, 256, 128, 256, 512, 1024],
csp_e=float(1) / 2,
),
head=dict(
type="EffiDeHead",
in_channels=[128, 256, 512, 1024],
num_layers=4,
anchors=1,
strides=[8, 16, 32, 64],
atss_warmup_epoch=4,
iou_type="giou",
use_dfl=True,
reg_max=16, # if use_dfl is False, please set reg_max to 0
distill_weight={
"class": 1.0,
"dfl": 1.0,
},
),
)
solver = dict(
optim="SGD",
lr_scheduler="Cosine",
lr0=0.0032,
lrf=0.12,
momentum=0.843,
weight_decay=0.00036,
warmup_epochs=2.0,
warmup_momentum=0.5,
warmup_bias_lr=0.05,
)
data_aug = dict(
hsv_h=0.0138,
hsv_s=0.664,
hsv_v=0.464,
degrees=0.373,
translate=0.245,
scale=0.898,
shear=0.602,
flipud=0.00856,
fliplr=0.5,
mosaic=1.0,
mixup=0.243,
)
training_mode = "conv_silu"