auto_scale_lr = dict(base_batch_size=16, enable=False) backend_args = None base_lr = 0.004 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(type='LoadAnnotations', with_bbox=True), dict( keep_ratio=True, ratio_range=( 0.1, 2.0, ), scale=( 640, 640, ), type='RandomResize'), dict(crop_size=( 640, 640, ), 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(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 = ('/kfs2/projects/pvfleets24/repos/cv-dl-framework/runs/' + 'sol-searcher.v1i.coco-segmentation/07_06_2025_03_44_01/' + 'best_coco_bbox_mAP_50_epoch_324.pth') log_level = 'INFO' log_processor = dict(by_epoch=True, type='LogProcessor', window_size=50) max_epochs = 300 metainfo = dict(classes=('panel', )) 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'), exp_on_reg=True, 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), norm_cfg=dict(type='SyncBN'), num_classes=1, pred_kernel_size=1, share_conv=True, stacked_convs=2, test_cfg=dict( max_per_img=300, min_bbox_size=0, nms=dict(iou_threshold=0.65, type='nms'), nms_pre=30000, score_thr=0.001), train_cfg=dict( allowed_border=-1, assigner=dict(topk=13, type='DynamicSoftLabelAssigner'), debug=False, pos_weight=-1), type='RTMDetSepBNHead', with_objectness=False), 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( max_per_img=300, min_bbox_size=0, nms=dict(iou_threshold=0.65, type='nms'), nms_pre=30000, score_thr=0.001), 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.0013396075094963768, type='AdamW', weight_decay=0.0764032184205418), 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.0002, type='CosineAnnealingLR'), ] resume = False stage2_num_epochs = 20 test_cfg = dict(type='TestLoop') test_dataloader = dict( batch_size=5, dataset=dict( ann_file=('/kfs2/projects/pvfleets24/repos/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=('panel', )), 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=('/kfs2/projects/pvfleets24/repos/cv-dl-framework' + '/test/label_json.json'), backend_args=None, format_only=False, metric='bbox', 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=400, type='EpochBasedTrainLoop', val_interval=3) train_dataloader = dict( batch_sampler=None, batch_size=32, dataset=dict( ann_file=('/kfs2/projects/pvfleets24/repos/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=('panel', )), pipeline=[ dict(backend_args=None, type='LoadImageFromFile'), dict(type='LoadAnnotations', with_bbox=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(crop_size=( 640, 640, ), 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(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(type='LoadAnnotations', with_bbox=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(crop_size=( 640, 640, ), 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(type='PackDetInputs'), ] train_pipeline_stage2 = [ dict(backend_args=None, type='LoadImageFromFile'), dict(type='LoadAnnotations', with_bbox=True), dict( keep_ratio=True, ratio_range=( 0.1, 2.0, ), scale=( 640, 640, ), type='RandomResize'), dict(crop_size=( 640, 640, ), 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(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=('/kfs2/projects/pvfleets24/repos/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=('panel', )), 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=('/kfs2/projects/pvfleets24/repos/cv-dl-framework' + '/test/label_json.json'), backend_args=None, format_only=False, metric='bbox', proposal_nums=( 100, 1, 10, ), type='CocoMetric') vis_backends = [ dict(type='LocalVisBackend'), ] visualizer = dict( name='visualizer', type='DetLocalVisualizer', vis_backends=[ dict( save_dir=('/kfs2/projects/pvfleets24/repos/cv-dl-framework/runs' + '/sol-searcher.v1i.coco-segmentation/' + '07_06_2025_03_44_01'), type='LocalVisBackend'), ]) work_dir = ('/kfs2/projects/pvfleets24/repos/cv-dl-framework/runs' + '/sol-searcher.v1i.coco-segmentation/07_06_2025_03_44_01')