panel-segmentation-models / panel_detection_config.py
kperrynrel's picture
Uploaded all the public panel-segmentation files
685cc79 verified
auto_scale_lr = dict(base_batch_size=16, enable=False)
backend_args = None
base_lr = 0.002
custom_hooks = [
dict(
ema_type='ExpMomentumEMA',
momentum=0.0002,
priority=49,
type='EMAHook',
update_buffers=True),
dict(
switch_epoch=280,
switch_pipeline=[
dict(backend_args=None, type='LoadImageFromFile'),
dict(
poly2mask=False,
type='LoadAnnotations',
with_bbox=True,
with_mask=True),
dict(
keep_ratio=True,
ratio_range=(
0.1,
2.0,
),
scale=(
640,
640,
),
type='RandomResize'),
dict(
allow_negative_crop=True,
crop_size=(
640,
640,
),
recompute_bbox=True,
type='RandomCrop'),
dict(min_gt_bbox_wh=(
1,
1,
), type='FilterAnnotations'),
dict(type='YOLOXHSVRandomAug'),
dict(prob=0.5, type='RandomFlip'),
dict(
pad_val=dict(img=(
114,
114,
114,
)),
size=(
640,
640,
),
type='Pad'),
dict(type='PackDetInputs'),
],
type='PipelineSwitchHook'),
]
data_root = '/kfs2/projects/pvfleets24/repos/cv-dl-framework'
dataset_type = 'CocoDataset'
default_hooks = dict(
checkpoint=dict(
rule='greater', save_best='coco/bbox_mAP_50', type='CheckpointHook'),
logger=dict(interval=50, type='LoggerHook'),
param_scheduler=dict(type='ParamSchedulerHook'),
sampler_seed=dict(type='DistSamplerSeedHook'),
timer=dict(type='IterTimerHook'),
visualization=dict(type='DetVisualizationHook'))
default_scope = 'mmdet'
env_cfg = dict(
cudnn_benchmark=False,
dist_cfg=dict(backend='nccl'),
mp_cfg=dict(mp_start_method='fork', opencv_num_threads=0))
img_scales = [
(
640,
640,
),
(
320,
320,
),
(
960,
960,
),
]
interval = 10
launcher = 'none'
load_from = 'best_coco_bbox_mAP_50_epoch_291.pth'
log_level = 'INFO'
log_processor = dict(by_epoch=True, type='LogProcessor', window_size=50)
max_epochs = 300
metainfo = dict(
classes=(
'carport-fixed-tilt',
'ground-dual-axis-tracker',
'ground-fixed-tilt',
'ground-single-axis-tracker',
'rooftop-fixed-tilt',
))
model = dict(
backbone=dict(
act_cfg=dict(inplace=True, type='SiLU'),
arch='P5',
channel_attention=True,
deepen_factor=1.33,
expand_ratio=0.5,
norm_cfg=dict(type='SyncBN'),
type='CSPNeXt',
widen_factor=1.25),
bbox_head=dict(
act_cfg=dict(inplace=True, type='SiLU'),
anchor_generator=dict(
offset=0, strides=[
8,
16,
32,
], type='MlvlPointGenerator'),
bbox_coder=dict(type='DistancePointBBoxCoder'),
feat_channels=320,
in_channels=320,
loss_bbox=dict(loss_weight=2.0, type='GIoULoss'),
loss_cls=dict(
beta=2.0,
loss_weight=1.0,
type='QualityFocalLoss',
use_sigmoid=True),
loss_mask=dict(
eps=5e-06, loss_weight=2.0, reduction='mean', type='DiceLoss'),
norm_cfg=dict(requires_grad=True, type='SyncBN'),
num_classes=5,
pred_kernel_size=1,
share_conv=True,
stacked_convs=2,
test_cfg=dict(
mask_thr_binary=0.5,
max_per_img=100,
min_bbox_size=0,
nms=dict(iou_threshold=0.6, type='nms'),
nms_pre=1000,
score_thr=0.05),
train_cfg=dict(
allowed_border=-1,
assigner=dict(topk=13, type='DynamicSoftLabelAssigner'),
debug=False,
pos_weight=-1),
type='RTMDetInsSepBNHead'),
data_preprocessor=dict(
batch_augments=None,
bgr_to_rgb=False,
mean=[
103.53,
116.28,
123.675,
],
std=[
57.375,
57.12,
58.395,
],
type='DetDataPreprocessor'),
neck=dict(
act_cfg=dict(inplace=True, type='SiLU'),
expand_ratio=0.5,
in_channels=[
320,
640,
1280,
],
norm_cfg=dict(type='SyncBN'),
num_csp_blocks=4,
out_channels=320,
type='CSPNeXtPAFPN'),
test_cfg=dict(
mask_thr_binary=0.5,
max_per_img=100,
min_bbox_size=0,
nms=dict(iou_threshold=0.6, type='nms'),
nms_pre=1000,
score_thr=0.05),
train_cfg=dict(
allowed_border=-1,
assigner=dict(topk=13, type='DynamicSoftLabelAssigner'),
debug=False,
pos_weight=-1),
type='RTMDet')
optim_wrapper = dict(
optimizer=dict(lr=0.001, type='AdamW', weight_decay=0.05),
paramwise_cfg=dict(
bias_decay_mult=0, bypass_duplicate=True, norm_decay_mult=0),
type='OptimWrapper')
param_scheduler = [
dict(
begin=0, by_epoch=False, end=1000, start_factor=1e-05,
type='LinearLR'),
dict(
T_max=150,
begin=150,
by_epoch=True,
convert_to_iter_based=True,
end=300,
eta_min=0.0001,
type='CosineAnnealingLR'),
]
resume = False
stage2_num_epochs = 20
test_cfg = dict(type='TestLoop')
test_dataloader = dict(
batch_size=5,
dataset=dict(
ann_file='/cv-dl-framework/test/label_json.json',
backend_args=None,
data_prefix=dict(
img='/kfs2/projects/pvfleets24/repos/cv-dl-framework/test/images/'
),
data_root='/kfs2/projects/pvfleets24/repos/cv-dl-framework',
metainfo=dict(
classes=(
'carport-fixed-tilt',
'ground-dual-axis-tracker',
'ground-fixed-tilt',
'ground-single-axis-tracker',
'rooftop-fixed-tilt',
)),
pipeline=[
dict(backend_args=None, type='LoadImageFromFile'),
dict(keep_ratio=True, scale=(
640,
640,
), type='Resize'),
dict(
pad_val=dict(img=(
114,
114,
114,
)),
size=(
640,
640,
),
type='Pad'),
dict(type='LoadAnnotations', with_bbox=True),
dict(
meta_keys=(
'img_id',
'img_path',
'ori_shape',
'img_shape',
'scale_factor',
),
type='PackDetInputs'),
],
test_mode=True,
type='CocoDataset'),
drop_last=False,
num_workers=10,
persistent_workers=True,
sampler=dict(shuffle=False, type='DefaultSampler'))
test_evaluator = dict(
ann_file='/cv-dl-framework/test/label_json.json',
backend_args=None,
format_only=False,
metric=[
'bbox',
'segm',
],
proposal_nums=(
100,
1,
10,
),
type='CocoMetric')
test_pipeline = [
dict(backend_args=None, type='LoadImageFromFile'),
dict(keep_ratio=True, scale=(
640,
640,
), type='Resize'),
dict(pad_val=dict(img=(
114,
114,
114,
)), size=(
640,
640,
), type='Pad'),
dict(type='LoadAnnotations', with_bbox=True),
dict(
meta_keys=(
'img_id',
'img_path',
'ori_shape',
'img_shape',
'scale_factor',
),
type='PackDetInputs'),
]
train_cfg = dict(
dynamic_intervals=[
(
280,
1,
),
],
max_epochs=300,
type='EpochBasedTrainLoop',
val_interval=3)
train_dataloader = dict(
batch_sampler=None,
batch_size=4,
dataset=dict(
ann_file='/cv-dl-framework/train/label_json.json',
backend_args=None,
data_prefix=dict(
img='/kfs2/projects/pvfleets24/repos/cv-dl-framework/train/images/'
),
data_root='/kfs2/projects/pvfleets24/repos/cv-dl-framework',
filter_cfg=dict(filter_empty_gt=True, min_size=32),
metainfo=dict(
classes=(
'carport-fixed-tilt',
'ground-dual-axis-tracker',
'ground-fixed-tilt',
'ground-single-axis-tracker',
'rooftop-fixed-tilt',
)),
pipeline=[
dict(backend_args=None, type='LoadImageFromFile'),
dict(
poly2mask=False,
type='LoadAnnotations',
with_bbox=True,
with_mask=True),
dict(img_scale=(
640,
640,
), pad_val=114.0, type='CachedMosaic'),
dict(
keep_ratio=True,
ratio_range=(
0.1,
2.0,
),
scale=(
1280,
1280,
),
type='RandomResize'),
dict(
allow_negative_crop=True,
crop_size=(
640,
640,
),
recompute_bbox=True,
type='RandomCrop'),
dict(type='YOLOXHSVRandomAug'),
dict(prob=0.5, type='RandomFlip'),
dict(
pad_val=dict(img=(
114,
114,
114,
)),
size=(
640,
640,
),
type='Pad'),
dict(
img_scale=(
640,
640,
),
max_cached_images=20,
pad_val=(
114,
114,
114,
),
ratio_range=(
1.0,
1.0,
),
type='CachedMixUp'),
dict(min_gt_bbox_wh=(
1,
1,
), type='FilterAnnotations'),
dict(type='PackDetInputs'),
],
type='CocoDataset'),
num_workers=10,
persistent_workers=True,
pin_memory=True,
sampler=dict(shuffle=True, type='DefaultSampler'))
train_pipeline = [
dict(backend_args=None, type='LoadImageFromFile'),
dict(
poly2mask=False,
type='LoadAnnotations',
with_bbox=True,
with_mask=True),
dict(img_scale=(
640,
640,
), pad_val=114.0, type='CachedMosaic'),
dict(
keep_ratio=True,
ratio_range=(
0.1,
2.0,
),
scale=(
1280,
1280,
),
type='RandomResize'),
dict(
allow_negative_crop=True,
crop_size=(
640,
640,
),
recompute_bbox=True,
type='RandomCrop'),
dict(type='YOLOXHSVRandomAug'),
dict(prob=0.5, type='RandomFlip'),
dict(pad_val=dict(img=(
114,
114,
114,
)), size=(
640,
640,
), type='Pad'),
dict(
img_scale=(
640,
640,
),
max_cached_images=20,
pad_val=(
114,
114,
114,
),
ratio_range=(
1.0,
1.0,
),
type='CachedMixUp'),
dict(min_gt_bbox_wh=(
1,
1,
), type='FilterAnnotations'),
dict(type='PackDetInputs'),
]
train_pipeline_stage2 = [
dict(backend_args=None, type='LoadImageFromFile'),
dict(
poly2mask=False,
type='LoadAnnotations',
with_bbox=True,
with_mask=True),
dict(
keep_ratio=True,
ratio_range=(
0.1,
2.0,
),
scale=(
640,
640,
),
type='RandomResize'),
dict(
allow_negative_crop=True,
crop_size=(
640,
640,
),
recompute_bbox=True,
type='RandomCrop'),
dict(min_gt_bbox_wh=(
1,
1,
), type='FilterAnnotations'),
dict(type='YOLOXHSVRandomAug'),
dict(prob=0.5, type='RandomFlip'),
dict(pad_val=dict(img=(
114,
114,
114,
)), size=(
640,
640,
), type='Pad'),
dict(type='PackDetInputs'),
]
tta_model = dict(
tta_cfg=dict(max_per_img=100, nms=dict(iou_threshold=0.6, type='nms')),
type='DetTTAModel')
tta_pipeline = [
dict(backend_args=None, type='LoadImageFromFile'),
dict(
transforms=[
[
dict(keep_ratio=True, scale=(
640,
640,
), type='Resize'),
dict(keep_ratio=True, scale=(
320,
320,
), type='Resize'),
dict(keep_ratio=True, scale=(
960,
960,
), type='Resize'),
],
[
dict(prob=1.0, type='RandomFlip'),
dict(prob=0.0, type='RandomFlip'),
],
[
dict(
pad_val=dict(img=(
114,
114,
114,
)),
size=(
960,
960,
),
type='Pad'),
],
[
dict(type='LoadAnnotations', with_bbox=True),
],
[
dict(
meta_keys=(
'img_id',
'img_path',
'ori_shape',
'img_shape',
'scale_factor',
'flip',
'flip_direction',
),
type='PackDetInputs'),
],
],
type='TestTimeAug'),
]
val_cfg = dict(type='ValLoop')
val_dataloader = dict(
batch_size=5,
dataset=dict(
ann_file='/cv-dl-framework/test/label_json.json',
backend_args=None,
data_prefix=dict(
img='/kfs2/projects/pvfleets24/repos/cv-dl-framework/test/images/'
),
data_root='/kfs2/projects/pvfleets24/repos/cv-dl-framework',
metainfo=dict(
classes=(
'carport-fixed-tilt',
'ground-dual-axis-tracker',
'ground-fixed-tilt',
'ground-single-axis-tracker',
'rooftop-fixed-tilt',
)),
pipeline=[
dict(backend_args=None, type='LoadImageFromFile'),
dict(keep_ratio=True, scale=(
640,
640,
), type='Resize'),
dict(
pad_val=dict(img=(
114,
114,
114,
)),
size=(
640,
640,
),
type='Pad'),
dict(type='LoadAnnotations', with_bbox=True),
dict(
meta_keys=(
'img_id',
'img_path',
'ori_shape',
'img_shape',
'scale_factor',
),
type='PackDetInputs'),
],
test_mode=True,
type='CocoDataset'),
drop_last=False,
num_workers=10,
persistent_workers=True,
sampler=dict(shuffle=False, type='DefaultSampler'))
val_evaluator = dict(
ann_file='/cv-dl-framework/test/label_json.json',
backend_args=None,
format_only=False,
metric=[
'bbox',
'segm',
],
proposal_nums=(
100,
1,
10,
),
type='CocoMetric')
vis_backends = [
dict(type='LocalVisBackend'),
]
visualizer = dict(
name='visualizer',
type='DetLocalVisualizer',
vis_backends=[
dict(
save_dir='/12_03_2026_12_24_40',
type='LocalVisBackend'),
])
work_dir = '/12_03_2026_12_24_40'