forked from meituan/YOLOv6
-
Notifications
You must be signed in to change notification settings - Fork 1
/
yolov6n_with_eval_params.py
76 lines (71 loc) · 1.76 KB
/
yolov6n_with_eval_params.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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# YOLOv6n model with eval param(when traing)
model = dict(
type='YOLOv6n',
pretrained=None,
depth_multiple=0.33,
width_multiple=0.25,
backbone=dict(
type='EfficientRep',
num_repeats=[1, 6, 12, 18, 6],
out_channels=[64, 128, 256, 512, 1024],
),
neck=dict(
type='RepPANNeck',
num_repeats=[12, 12, 12, 12],
out_channels=[256, 128, 128, 256, 256, 512],
),
head=dict(
type='EffiDeHead',
in_channels=[128, 256, 512],
num_layers=3,
begin_indices=24,
anchors=1,
out_indices=[17, 20, 23],
strides=[8, 16, 32],
iou_type='siou',
use_dfl=False,
reg_max=0 #if use_dfl is False, please set reg_max to 0
)
)
solver = dict(
optim='SGD',
lr_scheduler='Cosine',
lr0=0.02, #0.01 # 0.02
lrf=0.01,
momentum=0.937,
weight_decay=0.0005,
warmup_epochs=3.0,
warmup_momentum=0.8,
warmup_bias_lr=0.1
)
data_aug = dict(
hsv_h=0.015,
hsv_s=0.7,
hsv_v=0.4,
degrees=0.0,
translate=0.1,
scale=0.5,
shear=0.0,
flipud=0.0,
fliplr=0.5,
mosaic=1.0,
mixup=0.0,
)
# Eval params when eval model.
# If eval_params item is list, eg conf_thres=[0.03, 0.03],
# first will be used in train.py and second will be used in eval.py.
eval_params = dict(
batch_size=None, #None mean will be the same as batch on one device * 2
img_size=None, #None mean will be the same as train image size
conf_thres=0.03,
iou_thres=0.65,
#pading and scale coord
shrink_size=None, # None mean will not shrink the image.
infer_on_rect=True,
#metric
verbose=False,
do_coco_metric=True,
do_pr_metric=False,
plot_curve=False,
plot_confusion_matrix=False
)