first commit
This commit is contained in:
39
rtdetr_pytorch/configs/rtdetr/include/dataloader.yml
Normal file
39
rtdetr_pytorch/configs/rtdetr/include/dataloader.yml
Normal file
@@ -0,0 +1,39 @@
|
||||
# num_classes: 91
|
||||
# remap_mscoco_category: True
|
||||
|
||||
train_dataloader:
|
||||
dataset:
|
||||
return_masks: False
|
||||
transforms:
|
||||
ops:
|
||||
- {type: RandomPhotometricDistort, p: 0.5}
|
||||
- {type: RandomZoomOut, fill: 0}
|
||||
- {type: RandomIoUCrop, p: 0.8}
|
||||
- {type: SanitizeBoundingBox, min_size: 1}
|
||||
- {type: RandomHorizontalFlip}
|
||||
- {type: Resize, size: [640, 640], }
|
||||
# - {type: Resize, size: 639, max_size: 640}
|
||||
# - {type: PadToSize, spatial_size: 640}
|
||||
- {type: ToImageTensor}
|
||||
- {type: ConvertDtype}
|
||||
- {type: SanitizeBoundingBox, min_size: 1}
|
||||
- {type: ConvertBox, out_fmt: 'cxcywh', normalize: True}
|
||||
shuffle: True
|
||||
batch_size: 4
|
||||
num_workers: 4
|
||||
collate_fn: default_collate_fn
|
||||
|
||||
|
||||
val_dataloader:
|
||||
dataset:
|
||||
transforms:
|
||||
ops:
|
||||
# - {type: Resize, size: 639, max_size: 640}
|
||||
# - {type: PadToSize, spatial_size: 640}
|
||||
- {type: Resize, size: [640, 640]}
|
||||
- {type: ToImageTensor}
|
||||
- {type: ConvertDtype}
|
||||
shuffle: False
|
||||
batch_size: 8
|
||||
num_workers: 4
|
||||
collate_fn: default_collate_fn
|
||||
39
rtdetr_pytorch/configs/rtdetr/include/dataloader_regnet.yml
Normal file
39
rtdetr_pytorch/configs/rtdetr/include/dataloader_regnet.yml
Normal file
@@ -0,0 +1,39 @@
|
||||
# num_classes: 91
|
||||
# remap_mscoco_category: True
|
||||
|
||||
train_dataloader:
|
||||
dataset:
|
||||
return_masks: False
|
||||
transforms:
|
||||
ops:
|
||||
- {type: RandomPhotometricDistort, p: 0.5}
|
||||
- {type: RandomZoomOut, fill: 0}
|
||||
- {type: RandomIoUCrop, p: 0.8}
|
||||
- {type: SanitizeBoundingBox, min_size: 1}
|
||||
- {type: RandomHorizontalFlip}
|
||||
- {type: Resize, size: [640, 640], }
|
||||
# - {type: Resize, size: 639, max_size: 640}
|
||||
# - {type: PadToSize, spatial_size: 640}
|
||||
- {type: ToImageTensor}
|
||||
- {type: ConvertDtype}
|
||||
- {type: SanitizeBoundingBox, min_size: 1}
|
||||
- {type: ConvertBox, out_fmt: 'cxcywh', normalize: True}
|
||||
shuffle: True
|
||||
batch_size: 8
|
||||
num_workers: 2
|
||||
collate_fn: default_collate_fn
|
||||
|
||||
|
||||
val_dataloader:
|
||||
dataset:
|
||||
transforms:
|
||||
ops:
|
||||
# - {type: Resize, size: 639, max_size: 640}
|
||||
# - {type: PadToSize, spatial_size: 640}
|
||||
- {type: Resize, size: [640, 640]}
|
||||
- {type: ToImageTensor}
|
||||
- {type: ConvertDtype}
|
||||
shuffle: False
|
||||
batch_size: 8
|
||||
num_workers: 2
|
||||
collate_fn: default_collate_fn
|
||||
36
rtdetr_pytorch/configs/rtdetr/include/optimizer.yml
Normal file
36
rtdetr_pytorch/configs/rtdetr/include/optimizer.yml
Normal file
@@ -0,0 +1,36 @@
|
||||
|
||||
use_ema: True
|
||||
ema:
|
||||
type: ModelEMA
|
||||
decay: 0.9999
|
||||
warmups: 2000
|
||||
|
||||
|
||||
find_unused_parameters: True
|
||||
|
||||
epoches: 72
|
||||
clip_max_norm: 0.1
|
||||
|
||||
optimizer:
|
||||
type: AdamW
|
||||
params:
|
||||
-
|
||||
params: 'backbone'
|
||||
lr: 0.00001
|
||||
-
|
||||
params: '^(?=.*encoder(?=.*bias|.*norm.*weight)).*$'
|
||||
weight_decay: 0.
|
||||
-
|
||||
params: '^(?=.*decoder(?=.*bias|.*norm.*weight)).*$'
|
||||
weight_decay: 0.
|
||||
|
||||
lr: 0.0001
|
||||
betas: [0.9, 0.999]
|
||||
weight_decay: 0.0001
|
||||
|
||||
|
||||
lr_scheduler:
|
||||
type: MultiStepLR
|
||||
milestones: [1000]
|
||||
gamma: 0.1
|
||||
|
||||
33
rtdetr_pytorch/configs/rtdetr/include/optimizer_regnet.yml
Normal file
33
rtdetr_pytorch/configs/rtdetr/include/optimizer_regnet.yml
Normal file
@@ -0,0 +1,33 @@
|
||||
|
||||
use_ema: True
|
||||
ema:
|
||||
type: ModelEMA
|
||||
decay: 0.9999
|
||||
warmups: 2000
|
||||
|
||||
|
||||
find_unused_parameters: True
|
||||
|
||||
epoches: 72
|
||||
clip_max_norm: 0.1
|
||||
|
||||
optimizer:
|
||||
type: AdamW
|
||||
params:
|
||||
-
|
||||
params: '^(?=.*encoder(?=.*bias|.*norm.*weight)).*$'
|
||||
weight_decay: 0.
|
||||
-
|
||||
params: '^(?=.*decoder(?=.*bias|.*norm.*weight)).*$'
|
||||
weight_decay: 0.
|
||||
|
||||
lr: 0.0001
|
||||
betas: [0.9, 0.999]
|
||||
weight_decay: 0.0001
|
||||
|
||||
|
||||
lr_scheduler:
|
||||
type: MultiStepLR
|
||||
milestones: [1000]
|
||||
gamma: 0.1
|
||||
|
||||
78
rtdetr_pytorch/configs/rtdetr/include/rtdetr_dla34.yml
Normal file
78
rtdetr_pytorch/configs/rtdetr/include/rtdetr_dla34.yml
Normal file
@@ -0,0 +1,78 @@
|
||||
task: detection
|
||||
|
||||
model: RTDETR
|
||||
criterion: SetCriterion
|
||||
postprocessor: RTDETRPostProcessor
|
||||
|
||||
|
||||
RTDETR:
|
||||
backbone: DLANet
|
||||
encoder: HybridEncoder
|
||||
decoder: RTDETRTransformer
|
||||
multi_scale: [480, 512, 544, 576, 608, 640, 640, 640, 672, 704, 736, 768, 800]
|
||||
|
||||
DLANet:
|
||||
dla: dla34
|
||||
pretrained: True
|
||||
return_idx: [1, 2, 3]
|
||||
|
||||
|
||||
HybridEncoder:
|
||||
in_channels: [128, 256, 512]
|
||||
feat_strides: [8, 16, 32]
|
||||
|
||||
# intra
|
||||
hidden_dim: 256
|
||||
use_encoder_idx: [2]
|
||||
num_encoder_layers: 1
|
||||
nhead: 8
|
||||
dim_feedforward: 1024
|
||||
dropout: 0.
|
||||
enc_act: 'gelu'
|
||||
pe_temperature: 10000
|
||||
|
||||
# cross
|
||||
expansion: 1.0
|
||||
depth_mult: 1
|
||||
act: 'silu'
|
||||
|
||||
# eval
|
||||
eval_spatial_size: [640, 640]
|
||||
|
||||
|
||||
RTDETRTransformer:
|
||||
feat_channels: [256, 256, 256]
|
||||
feat_strides: [8, 16, 32]
|
||||
hidden_dim: 256
|
||||
num_levels: 3
|
||||
|
||||
num_queries: 300
|
||||
|
||||
num_decoder_layers: 6
|
||||
num_denoising: 100
|
||||
|
||||
eval_idx: -1
|
||||
eval_spatial_size: [640, 640]
|
||||
|
||||
|
||||
use_focal_loss: True
|
||||
|
||||
RTDETRPostProcessor:
|
||||
num_top_queries: 300
|
||||
|
||||
|
||||
SetCriterion:
|
||||
weight_dict: {loss_vfl: 1, loss_bbox: 5, loss_giou: 2,}
|
||||
losses: ['vfl', 'boxes', ]
|
||||
alpha: 0.75
|
||||
gamma: 2.0
|
||||
|
||||
matcher:
|
||||
type: HungarianMatcher
|
||||
weight_dict: {cost_class: 2, cost_bbox: 5, cost_giou: 2}
|
||||
# use_focal_loss: True
|
||||
alpha: 0.25
|
||||
gamma: 2.0
|
||||
|
||||
|
||||
|
||||
81
rtdetr_pytorch/configs/rtdetr/include/rtdetr_r50vd.yml
Normal file
81
rtdetr_pytorch/configs/rtdetr/include/rtdetr_r50vd.yml
Normal file
@@ -0,0 +1,81 @@
|
||||
task: detection
|
||||
|
||||
model: RTDETR
|
||||
criterion: SetCriterion
|
||||
postprocessor: RTDETRPostProcessor
|
||||
|
||||
|
||||
RTDETR:
|
||||
backbone: PResNet
|
||||
encoder: HybridEncoder
|
||||
decoder: RTDETRTransformer
|
||||
multi_scale: [480, 512, 544, 576, 608, 640, 640, 640, 672, 704, 736, 768, 800]
|
||||
|
||||
PResNet:
|
||||
depth: 50
|
||||
variant: d
|
||||
freeze_at: 0
|
||||
return_idx: [1, 2, 3]
|
||||
num_stages: 4
|
||||
freeze_norm: True
|
||||
pretrained: True
|
||||
|
||||
HybridEncoder:
|
||||
in_channels: [512, 1024, 2048]
|
||||
feat_strides: [8, 16, 32]
|
||||
|
||||
# intra
|
||||
hidden_dim: 256
|
||||
use_encoder_idx: [2]
|
||||
num_encoder_layers: 1
|
||||
nhead: 8
|
||||
dim_feedforward: 1024
|
||||
dropout: 0.
|
||||
enc_act: 'gelu'
|
||||
pe_temperature: 10000
|
||||
|
||||
# cross
|
||||
expansion: 1.0
|
||||
depth_mult: 1
|
||||
act: 'silu'
|
||||
|
||||
# eval
|
||||
eval_spatial_size: [640, 640]
|
||||
|
||||
|
||||
RTDETRTransformer:
|
||||
feat_channels: [256, 256, 256]
|
||||
feat_strides: [8, 16, 32]
|
||||
hidden_dim: 256
|
||||
num_levels: 3
|
||||
|
||||
num_queries: 300
|
||||
|
||||
num_decoder_layers: 6
|
||||
num_denoising: 100
|
||||
|
||||
eval_idx: -1
|
||||
eval_spatial_size: [640, 640]
|
||||
|
||||
|
||||
use_focal_loss: True
|
||||
|
||||
RTDETRPostProcessor:
|
||||
num_top_queries: 300
|
||||
|
||||
|
||||
SetCriterion:
|
||||
weight_dict: {loss_vfl: 1, loss_bbox: 5, loss_giou: 2,}
|
||||
losses: ['vfl', 'boxes', ]
|
||||
alpha: 0.75
|
||||
gamma: 2.0
|
||||
|
||||
matcher:
|
||||
type: HungarianMatcher
|
||||
weight_dict: {cost_class: 2, cost_bbox: 5, cost_giou: 2}
|
||||
# use_focal_loss: True
|
||||
alpha: 0.25
|
||||
gamma: 2.0
|
||||
|
||||
|
||||
|
||||
77
rtdetr_pytorch/configs/rtdetr/include/rtdetr_regnet.yml
Normal file
77
rtdetr_pytorch/configs/rtdetr/include/rtdetr_regnet.yml
Normal file
@@ -0,0 +1,77 @@
|
||||
task: detection
|
||||
|
||||
model: RTDETR
|
||||
criterion: SetCriterion
|
||||
postprocessor: RTDETRPostProcessor
|
||||
|
||||
|
||||
RTDETR:
|
||||
backbone: RegNet
|
||||
encoder: HybridEncoder
|
||||
decoder: RTDETRTransformer
|
||||
multi_scale: [480, 512, 544, 576, 608, 640, 640, 640, 672, 704, 736, 768, 800]
|
||||
|
||||
|
||||
RegNet:
|
||||
return_idx: [1, 2, 3]
|
||||
configuration: RegNetConfig()
|
||||
|
||||
HybridEncoder:
|
||||
in_channels: [192, 512, 1088]
|
||||
feat_strides: [8, 16, 32]
|
||||
|
||||
# intra
|
||||
hidden_dim: 256
|
||||
use_encoder_idx: [2]
|
||||
num_encoder_layers: 1
|
||||
nhead: 8
|
||||
dim_feedforward: 1024
|
||||
dropout: 0.
|
||||
enc_act: 'gelu'
|
||||
pe_temperature: 10000
|
||||
|
||||
# cross
|
||||
expansion: 1.0
|
||||
depth_mult: 1
|
||||
act: 'silu'
|
||||
|
||||
# eval
|
||||
eval_spatial_size: [640, 640]
|
||||
|
||||
|
||||
RTDETRTransformer:
|
||||
feat_channels: [256, 256, 256]
|
||||
feat_strides: [8, 16, 32]
|
||||
hidden_dim: 256
|
||||
num_levels: 3
|
||||
|
||||
num_queries: 300
|
||||
|
||||
num_decoder_layers: 6
|
||||
num_denoising: 100
|
||||
|
||||
eval_idx: -1
|
||||
eval_spatial_size: [640, 640]
|
||||
|
||||
|
||||
use_focal_loss: True
|
||||
|
||||
RTDETRPostProcessor:
|
||||
num_top_queries: 300
|
||||
|
||||
|
||||
SetCriterion:
|
||||
weight_dict: {loss_vfl: 1, loss_bbox: 5, loss_giou: 2,}
|
||||
losses: ['vfl', 'boxes', ]
|
||||
alpha: 0.75
|
||||
gamma: 2.0
|
||||
|
||||
matcher:
|
||||
type: HungarianMatcher
|
||||
weight_dict: {cost_class: 2, cost_bbox: 5, cost_giou: 2}
|
||||
# use_focal_loss: True
|
||||
alpha: 0.25
|
||||
gamma: 2.0
|
||||
|
||||
|
||||
|
||||
9
rtdetr_pytorch/configs/rtdetr/rtdetr_dla34_6x_coco.yml
Normal file
9
rtdetr_pytorch/configs/rtdetr/rtdetr_dla34_6x_coco.yml
Normal file
@@ -0,0 +1,9 @@
|
||||
__include__: [
|
||||
'../dataset/coco_detection.yml',
|
||||
'../runtime.yml',
|
||||
'./include/dataloader.yml',
|
||||
'./include/optimizer.yml',
|
||||
'./include/rtdetr_dla34.yml',
|
||||
]
|
||||
|
||||
output_dir: ./output/rtdetr_dla34_6x_coco
|
||||
28
rtdetr_pytorch/configs/rtdetr/rtdetr_r101vd_6x_coco.yml
Normal file
28
rtdetr_pytorch/configs/rtdetr/rtdetr_r101vd_6x_coco.yml
Normal file
@@ -0,0 +1,28 @@
|
||||
__include__: [
|
||||
'../dataset/coco_detection.yml',
|
||||
'../runtime.yml',
|
||||
'./include/dataloader.yml',
|
||||
'./include/optimizer.yml',
|
||||
'./include/rtdetr_r50vd.yml',
|
||||
]
|
||||
|
||||
PResNet:
|
||||
depth: 101
|
||||
|
||||
|
||||
HybridEncoder:
|
||||
# intra
|
||||
hidden_dim: 384
|
||||
dim_feedforward: 2048
|
||||
|
||||
|
||||
RTDETRTransformer:
|
||||
feat_channels: [384, 384, 384]
|
||||
|
||||
|
||||
optimizer:
|
||||
type: AdamW
|
||||
params:
|
||||
-
|
||||
params: 'backbone'
|
||||
lr: 0.000001
|
||||
49
rtdetr_pytorch/configs/rtdetr/rtdetr_r18vd_6x_coco.yml
Normal file
49
rtdetr_pytorch/configs/rtdetr/rtdetr_r18vd_6x_coco.yml
Normal file
@@ -0,0 +1,49 @@
|
||||
|
||||
__include__: [
|
||||
'../dataset/coco_detection.yml',
|
||||
'../runtime.yml',
|
||||
'./include/dataloader.yml',
|
||||
'./include/optimizer.yml',
|
||||
'./include/rtdetr_r50vd.yml',
|
||||
]
|
||||
|
||||
|
||||
output_dir: ./output/rtdetr_r18vd_6x_coco
|
||||
|
||||
PResNet:
|
||||
depth: 18
|
||||
freeze_at: -1
|
||||
freeze_norm: False
|
||||
pretrained: True
|
||||
|
||||
HybridEncoder:
|
||||
in_channels: [128, 256, 512]
|
||||
hidden_dim: 256
|
||||
expansion: 0.5
|
||||
|
||||
|
||||
RTDETRTransformer:
|
||||
eval_idx: -1
|
||||
num_decoder_layers: 3
|
||||
num_denoising: 100
|
||||
|
||||
|
||||
|
||||
optimizer:
|
||||
type: AdamW
|
||||
params:
|
||||
-
|
||||
params: '^(?=.*backbone)(?=.*norm).*$'
|
||||
lr: 0.00001
|
||||
weight_decay: 0.
|
||||
-
|
||||
params: '^(?=.*backbone)(?!.*norm).*$'
|
||||
lr: 0.00001
|
||||
-
|
||||
params: '^(?=.*(?:encoder|decoder))(?=.*(?:norm|bias)).*$'
|
||||
weight_decay: 0.
|
||||
|
||||
lr: 0.0001
|
||||
betas: [0.9, 0.999]
|
||||
weight_decay: 0.0001
|
||||
|
||||
48
rtdetr_pytorch/configs/rtdetr/rtdetr_r34vd_6x_coco.yml
Normal file
48
rtdetr_pytorch/configs/rtdetr/rtdetr_r34vd_6x_coco.yml
Normal file
@@ -0,0 +1,48 @@
|
||||
|
||||
__include__: [
|
||||
'../dataset/coco_detection.yml',
|
||||
'../runtime.yml',
|
||||
'./include/dataloader.yml',
|
||||
'./include/optimizer.yml',
|
||||
'./include/rtdetr_r50vd.yml',
|
||||
]
|
||||
|
||||
|
||||
output_dir: ./output/rtdetr_r34vd_6x_coco
|
||||
|
||||
|
||||
PResNet:
|
||||
depth: 34
|
||||
freeze_at: -1
|
||||
freeze_norm: False
|
||||
pretrained: True
|
||||
|
||||
|
||||
HybridEncoder:
|
||||
in_channels: [128, 256, 512]
|
||||
hidden_dim: 256
|
||||
expansion: 0.5
|
||||
|
||||
|
||||
RTDETRTransformer:
|
||||
num_decoder_layers: 4
|
||||
|
||||
|
||||
|
||||
optimizer:
|
||||
type: AdamW
|
||||
params:
|
||||
-
|
||||
params: '^(?=.*backbone)(?=.*norm|bn).*$'
|
||||
weight_decay: 0.
|
||||
lr: 0.00001
|
||||
-
|
||||
params: '^(?=.*backbone)(?!.*norm|bn).*$'
|
||||
lr: 0.00001
|
||||
-
|
||||
params: '^(?=.*(?:encoder|decoder))(?=.*(?:norm|bn|bias)).*$'
|
||||
weight_decay: 0.
|
||||
|
||||
lr: 0.0001
|
||||
betas: [0.9, 0.999]
|
||||
weight_decay: 0.0001
|
||||
9
rtdetr_pytorch/configs/rtdetr/rtdetr_r50vd_6x_coco.yml
Normal file
9
rtdetr_pytorch/configs/rtdetr/rtdetr_r50vd_6x_coco.yml
Normal file
@@ -0,0 +1,9 @@
|
||||
__include__: [
|
||||
'../dataset/coco_detection.yml',
|
||||
'../runtime.yml',
|
||||
'./include/dataloader.yml',
|
||||
'./include/optimizer.yml',
|
||||
'./include/rtdetr_r50vd.yml',
|
||||
]
|
||||
|
||||
output_dir: ./output/rtdetr_r50vd_6x_coco
|
||||
16
rtdetr_pytorch/configs/rtdetr/rtdetr_r50vd_m_6x_coco.yml
Normal file
16
rtdetr_pytorch/configs/rtdetr/rtdetr_r50vd_m_6x_coco.yml
Normal file
@@ -0,0 +1,16 @@
|
||||
__include__: [
|
||||
'../dataset/coco_detection.yml',
|
||||
'../runtime.yml',
|
||||
'./include/dataloader.yml',
|
||||
'./include/optimizer.yml',
|
||||
'./include/rtdetr_r50vd.yml',
|
||||
]
|
||||
|
||||
output_dir: ./output/rtdetr_r50vd_m_6x_coco
|
||||
|
||||
|
||||
HybridEncoder:
|
||||
expansion: 0.5
|
||||
|
||||
RTDETRTransformer:
|
||||
eval_idx: 2 # use 3th decoder layer to eval
|
||||
9
rtdetr_pytorch/configs/rtdetr/rtdetr_regnet_6x_coco.yml
Normal file
9
rtdetr_pytorch/configs/rtdetr/rtdetr_regnet_6x_coco.yml
Normal file
@@ -0,0 +1,9 @@
|
||||
__include__: [
|
||||
'../dataset/coco_detection.yml',
|
||||
'../runtime.yml',
|
||||
'./include/dataloader_regnet.yml',
|
||||
'./include/optimizer_regnet.yml',
|
||||
'./include/rtdetr_regnet.yml',
|
||||
]
|
||||
|
||||
output_dir: ./output/rtdetr_regnet_6x_coco
|
||||
Reference in New Issue
Block a user