huawei-noah / VanillaNet

MIT License
814 stars 57 forks source link

训练报错 #28

Open zbl929 opened 1 year ago

zbl929 commented 1 year ago

norm_cfg = dict(type='BN', requires_grad=True) model = dict( type='EncoderDecoder', backbone=dict( delete=True, type='Vanillanet', act_num=3, dims=[512, 512, 1024, 2048, 2048, 2048, 2048, 2048, 2048, 4096, 4096], strides=[1, 2, 2, 1, 1, 1, 1, 1, 2, 1], out_indices=[1, 2, 8, 9], norm_cfg=dict(type='BN', requires_grad=True), with_extra_norm=True), neck=dict( type='FPN', in_channels=[512, 1024, 2048, 4096], out_channels=1024, num_outs=4), decode_head=dict( type='SegformerHead', in_channels=[128, 256, 512, 1024], in_index=[0, 1, 2, 3], channels=512, dropout_ratio=0.1, num_classes=2, norm_cfg=dict(type='BN', requires_grad=True), align_corners=False, loss_decode=dict( type='CrossEntropyLoss', use_sigmoid=True, loss_weight=1.0)), train_cfg=dict(), test_cfg=dict(mode='whole')) dataset_type = 'WaterDataset' data_root = 'E:\zbl\pic\segformer-pytorch-master\VOCdevkit\zbl' img_norm_cfg = dict( mean=[123.675, 116.28, 103.53], std=[58.395, 57.12, 57.375], to_rgb=True) crop_size = (512, 512) train_pipeline = [ dict(type='LoadImageFromFile'), dict(type='LoadAnnotations', reduce_zero_label=False), dict(type='Resize', img_scale=(512, 512), ratio_range=(0.5, 2.0)), dict(type='RandomCrop', crop_size=(512, 512), cat_max_ratio=0.75), dict(type='RandomFlip', prob=0.5), dict(type='PhotoMetricDistortion'), dict( type='Normalize', mean=[123.675, 116.28, 103.53], std=[58.395, 57.12, 57.375], to_rgb=True), dict(type='Pad', size=(512, 512), pad_val=0, seg_pad_val=255), dict(type='DefaultFormatBundle'), dict(type='Collect', keys=['img', 'gt_semantic_seg']) ] test_pipeline = [ dict(type='LoadImageFromFile'), dict( type='MultiScaleFlipAug', img_scale=(512, 512), flip=False, transforms=[ dict(type='Resize', keep_ratio=True), dict(type='RandomFlip'), dict( type='Normalize', mean=[123.675, 116.28, 103.53], std=[58.395, 57.12, 57.375], to_rgb=True), dict(type='ImageToTensor', keys=['img']), dict(type='Collect', keys=['img']) ]) ] data = dict( samples_per_gpu=8, workers_per_gpu=2, train=dict( type='WaterDataset', data_root='E:\zbl\pic\segformer-pytorch-master\VOCdevkit\zbl', img_dir='JPEGImages', ann_dir='SegmentationClass', split='ImageSets/Segmentation/train.txt', pipeline=[ dict(type='LoadImageFromFile'), dict(type='LoadAnnotations', reduce_zero_label=False), dict(type='Resize', img_scale=(512, 512), ratio_range=(0.5, 2.0)), dict(type='RandomCrop', crop_size=(512, 512), cat_max_ratio=0.75), dict(type='RandomFlip', prob=0.5), dict(type='PhotoMetricDistortion'), dict( type='Normalize', mean=[123.675, 116.28, 103.53], std=[58.395, 57.12, 57.375], to_rgb=True), dict(type='Pad', size=(512, 512), pad_val=0, seg_pad_val=255), dict(type='DefaultFormatBundle'), dict(type='Collect', keys=['img', 'gt_semantic_seg']) ]), val=dict( type='WaterDataset', data_root='E:\zbl\pic\segformer-pytorch-master\VOCdevkit\zbl', img_dir='JPEGImages', ann_dir='SegmentationClass', split='ImageSets/Segmentation/val.txt', pipeline=[ dict(type='LoadImageFromFile'), dict( type='MultiScaleFlipAug', img_scale=(512, 512), flip=False, transforms=[ dict(type='Resize', keep_ratio=True), dict(type='RandomFlip'), dict( type='Normalize', mean=[123.675, 116.28, 103.53], std=[58.395, 57.12, 57.375], to_rgb=True), dict(type='ImageToTensor', keys=['img']), dict(type='Collect', keys=['img']) ]) ]), test=dict( type='WaterDataset', data_root='E:\zbl\pic\segformer-pytorch-master\VOCdevkit\zbl', img_dir='JPEGImages', ann_dir='SegmentationClass', split='ImageSets/Segmentation/val.txt', pipeline=[ dict(type='LoadImageFromFile'), dict( type='MultiScaleFlipAug', img_scale=(512, 512), flip=False, transforms=[ dict(type='Resize', keep_ratio=True), dict(type='RandomFlip'), dict( type='Normalize', mean=[123.675, 116.28, 103.53], std=[58.395, 57.12, 57.375], to_rgb=True), dict(type='ImageToTensor', keys=['img']), dict(type='Collect', keys=['img']) ]) ])) log_config = dict( interval=50, hooks=[dict(type='TextLoggerHook', by_epoch=False)]) dist_params = dict(backend='nccl') log_level = 'INFO' load_from = 'E:\zbl\mmsegmentation-0.23.0\pretrain\vanillanet_12.pth' resume_from = None workflow = [('train', 1), ('val', 1)] cudnn_benchmark = True optimizer = dict( constructor='LearningRateDecayOptimizerConstructor', type='AdamW', lr=0.00013, betas=(0.9, 0.999), weight_decay=0.05, paramwise_cfg=dict(decay_rate=0.6, decay_type='layer_wise', num_layers=6)) optimizer_config = dict(grad_clip=None) lr_config = dict( policy='step', warmup='linear', warmup_iters=500, warmup_ratio=0.001, step=[15000, 20000]) runner = dict(type='IterBasedRunner', max_iters=20000) checkpoint_config = dict(by_epoch=False, interval=2000) evaluation = dict(interval=2000, metric='mIoU') work_dir = 'logs_vanillanet/pretrain_12' gpu_ids = [0] auto_resume = False


报错信息 Traceback (most recent call last): File "E:/zbl/mmsegmentation-0.23.0/tools/train.py", line 244, in main() File "E:/zbl/mmsegmentation-0.23.0/tools/train.py", line 233, in main train_segmentor( File "E:\zbl\mmsegmentation-0.23.0\mmseg\apis\train.py", line 174, in train_segmentor runner.run(data_loaders, cfg.workflow) File "D:\Anaconda3.0\envs\nextvit\lib\site-packages\mmcv\runner\iter_based_runner.py", line 134, in run iter_runner(iter_loaders[i], kwargs) File "D:\Anaconda3.0\envs\nextvit\lib\site-packages\mmcv\runner\iter_based_runner.py", line 61, in train outputs = self.model.train_step(data_batch, self.optimizer, kwargs) File "D:\Anaconda3.0\envs\nextvit\lib\site-packages\mmcv\parallel\data_parallel.py", line 75, in train_step return self.module.train_step(inputs[0], kwargs[0]) File "E:\zbl\mmsegmentation-0.23.0\mmseg\models\segmentors\base.py", line 138, in train_step losses = self(data_batch) File "D:\Anaconda3.0\envs\nextvit\lib\site-packages\torch\nn\modules\module.py", line 1102, in _call_impl return forward_call(input, kwargs) File "D:\Anaconda3.0\envs\nextvit\lib\site-packages\mmcv\runner\fp16_utils.py", line 110, in new_func return old_func(args, kwargs) File "E:\zbl\mmsegmentation-0.23.0\mmseg\models\segmentors\base.py", line 108, in forward return self.forward_train(img, img_metas, kwargs) File "E:\zbl\mmsegmentation-0.23.0\mmseg\models\segmentors\encoder_decoder.py", line 139, in forward_train x = self.extract_feat(img) File "E:\zbl\mmsegmentation-0.23.0\mmseg\models\segmentors\encoder_decoder.py", line 67, in extract_feat x = self.neck(x) File "D:\Anaconda3.0\envs\nextvit\lib\site-packages\torch\nn\modules\module.py", line 1102, in _call_impl return forward_call(input, kwargs) File "D:\Anaconda3.0\envs\nextvit\lib\site-packages\mmcv\runner\fp16_utils.py", line 110, in new_func return old_func(*args, kwargs) File "E:\zbl\mmsegmentation-0.23.0\mmseg\models\necks\fpn.py", line 167, in forward laterals = [ File "E:\zbl\mmsegmentation-0.23.0\mmseg\models\necks\fpn.py", line 168, in lateral_conv(inputs[i + self.start_level]) File "D:\Anaconda3.0\envs\nextvit\lib\site-packages\torch\nn\modules\module.py", line 1102, in _call_impl return forward_call(*input, *kwargs) File "D:\Anaconda3.0\envs\nextvit\lib\site-packages\mmcv\cnn\bricks\conv_module.py", line 201, in forward x = self.conv(x) File "D:\Anaconda3.0\envs\nextvit\lib\site-packages\torch\nn\modules\module.py", line 1102, in _call_impl return forward_call(input, kwargs) File "D:\Anaconda3.0\envs\nextvit\lib\site-packages\torch\nn\modules\conv.py", line 446, in forward return self._conv_forward(input, self.weight, self.bias) File "D:\Anaconda3.0\envs\nextvit\lib\site-packages\torch\nn\modules\conv.py", line 442, in _conv_forward return F.conv2d(input, weight, bias, self.stride, RuntimeError: Given groups=1, weight of size [1024, 512, 1, 1], expected input[8, 1024, 64, 64] to have 512 channels, but got 1024 channels instead

进程已结束,退出代码1


试验了vanillanet12和vanillanet13,都报同样的错

期望尽快解答!感谢!

ggjy commented 1 year ago

hi, 看起来你的out_indices=[1, 2, 8, 9]应该改成out_indices=[0, 1, 7, 9],不然backbone其实return的4个stage的channel就是[1024, 2048, 4096, 4096],和FPN的输入对不上。

zbl929 commented 1 year ago

您好,感谢回答!! 我现在又碰上了另一个问题:加载预训练权重无法匹配!无论是从load_from加载或是从配置文件model里加载,都显示WARNING - No pre-trained weights for Vanillanet, training start from scratch! 期待解答!感谢!


2023-06-30 16:38:52,882 - mmseg - INFO - OpenCV num_threads is ` 2023-06-30 16:38:58,558 - mmseg - INFO - Distributed training: False 2023-06-30 16:38:59,138 - mmseg - INFO - Config: norm_cfg = dict(type='BN', requires_grad=True) model = dict( type='EncoderDecoder', pretrained='E:/zbl/mmsegmentation-0.23.0/pretrain/vanillanet_13.pth', backbone=dict( delete=True, type='Vanillanet', act_num=4, dims=[ 512, 512, 1024, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 4096, 4096 ], strides=[1, 2, 2, 1, 1, 1, 1, 1, 1, 2, 1], out_indices=[0, 1, 8, 10], norm_cfg=dict(type='BN', requires_grad=True), with_extra_norm=True), neck=dict( type='FPN', in_channels=[512, 1024, 2048, 4096], out_channels=1024, num_outs=4), decode_head=dict( type='FPNHead', in_channels=[1024, 1024, 1024, 1024], in_index=[0, 1, 2, 3], feature_strides=[4, 8, 16, 32], channels=512, dropout_ratio=0.1, num_classes=2, norm_cfg=dict(type='BN', requires_grad=True), align_corners=False, loss_decode=dict( type='CrossEntropyLoss', use_sigmoid=False, loss_weight=1.0)), train_cfg=dict(), test_cfg=dict(mode='whole')) dataset_type = 'WaterDataset' data_root = 'E:\zbl\pic\segformer-pytorch-master\VOCdevkit\zbl' img_norm_cfg = dict( mean=[123.675, 116.28, 103.53], std=[58.395, 57.12, 57.375], to_rgb=True) crop_size = (512, 512) train_pipeline = [ dict(type='LoadImageFromFile'), dict(type='LoadAnnotations', reduce_zero_label=False), dict(type='Resize', img_scale=(512, 512), ratio_range=(0.5, 2.0)), dict(type='RandomCrop', crop_size=(512, 512), cat_max_ratio=0.75), dict(type='RandomFlip', prob=0.5), dict(type='PhotoMetricDistortion'), dict( type='Normalize', mean=[123.675, 116.28, 103.53], std=[58.395, 57.12, 57.375], to_rgb=True), dict(type='Pad', size=(512, 512), pad_val=0, seg_pad_val=255), dict(type='DefaultFormatBundle'), dict(type='Collect', keys=['img', 'gt_semantic_seg']) ] test_pipeline = [ dict(type='LoadImageFromFile'), dict( type='MultiScaleFlipAug', img_scale=(512, 512), flip=False, transforms=[ dict(type='Resize', keep_ratio=True), dict(type='RandomFlip'), dict( type='Normalize', mean=[123.675, 116.28, 103.53], std=[58.395, 57.12, 57.375], to_rgb=True), dict(type='ImageToTensor', keys=['img']), dict(type='Collect', keys=['img']) ]) ] data = dict( samples_per_gpu=8, workers_per_gpu=1, train=dict( type='WaterDataset', data_root='E:\zbl\pic\segformer-pytorch-master\VOCdevkit\zbl', img_dir='JPEGImages', ann_dir='SegmentationClass', split='ImageSets/Segmentation/train.txt', pipeline=[ dict(type='LoadImageFromFile'), dict(type='LoadAnnotations', reduce_zero_label=False), dict(type='Resize', img_scale=(512, 512), ratio_range=(0.5, 2.0)), dict(type='RandomCrop', crop_size=(512, 512), cat_max_ratio=0.75), dict(type='RandomFlip', prob=0.5), dict(type='PhotoMetricDistortion'), dict( type='Normalize', mean=[123.675, 116.28, 103.53], std=[58.395, 57.12, 57.375], to_rgb=True), dict(type='Pad', size=(512, 512), pad_val=0, seg_pad_val=255), dict(type='DefaultFormatBundle'), dict(type='Collect', keys=['img', 'gt_semantic_seg']) ]), val=dict( type='WaterDataset', data_root='E:\zbl\pic\segformer-pytorch-master\VOCdevkit\zbl', img_dir='JPEGImages', ann_dir='SegmentationClass', split='ImageSets/Segmentation/val.txt', pipeline=[ dict(type='LoadImageFromFile'), dict( type='MultiScaleFlipAug', img_scale=(512, 512), flip=False, transforms=[ dict(type='Resize', keep_ratio=True), dict(type='RandomFlip'), dict( type='Normalize', mean=[123.675, 116.28, 103.53], std=[58.395, 57.12, 57.375], to_rgb=True), dict(type='ImageToTensor', keys=['img']), dict(type='Collect', keys=['img']) ]) ]), test=dict( type='WaterDataset', data_root='E:\zbl\pic\segformer-pytorch-master\VOCdevkit\zbl', img_dir='JPEGImages', ann_dir='SegmentationClass', split='ImageSets/Segmentation/val.txt', pipeline=[ dict(type='LoadImageFromFile'), dict( type='MultiScaleFlipAug', img_scale=(512, 512), flip=False, transforms=[ dict(type='Resize', keep_ratio=True), dict(type='RandomFlip'), dict( type='Normalize', mean=[123.675, 116.28, 103.53], std=[58.395, 57.12, 57.375], to_rgb=True), dict(type='ImageToTensor', keys=['img']), dict(type='Collect', keys=['img']) ]) ])) log_config = dict( interval=20, hooks=[dict(type='TextLoggerHook', by_epoch=False)]) dist_params = dict(backend='nccl') log_level = 'INFO' load_from = None resume_from = None workflow = [('train', 1), ('val', 1)] cudnn_benchmark = True optimizer = dict( constructor='LearningRateDecayOptimizerConstructor', type='AdamW', lr=0.00013, betas=(0.9, 0.999), weight_decay=0.05, paramwise_cfg=dict(decay_rate=0.6, decay_type='layer_wise', num_layers=6)) optimizer_config = dict(grad_clip=None) lr_config = dict( policy='step', warmup='linear', warmup_iters=500, warmup_ratio=0.001, step=[15000, 20000]) runner = dict(type='IterBasedRunner', max_iters=20000) checkpoint_config = dict(by_epoch=False, interval=2000) evaluation = dict(interval=2000, metric='mIoU') work_dir = 'E:\zbl\mmsegmentation-0.23.0\tools\logs_vanillanet\13' gpu_ids = [0] auto_resume = False

2023-06-30 16:38:59,145 - mmseg - INFO - Set random seed to 1502961241, deterministic: False 2023-06-30 16:39:01,437 - mmseg - WARNING - No pre-trained weights for Vanillanet, training start from scratch 2023-06-30 16:39:02,380 - mmseg - INFO - initialize FPN with init_cfg {'type': 'Xavier', 'layer': 'Conv2d', 'distribution': 'uniform'} 2023-06-30 16:39:02,785 - mmseg - INFO - initialize FPNHead with init_cfg {'type': 'Normal', 'std': 0.01, 'override': {'name': 'conv_seg'}} Name of parameter - Initialization information

backbone.stem1.0.weight - torch.Size([512, 3, 4, 4]): Initialized by user-defined init_weights in Vanillanet

backbone.stem1.0.bias - torch.Size([512]): Initialized by user-defined init_weights in Vanillanet

backbone.stem1.1.weight - torch.Size([512]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stem1.1.bias - torch.Size([512]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stem2.0.weight - torch.Size([512, 512, 1, 1]): Initialized by user-defined init_weights in Vanillanet

backbone.stem2.0.bias - torch.Size([512]): Initialized by user-defined init_weights in Vanillanet

backbone.stem2.1.weight - torch.Size([512]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stem2.1.bias - torch.Size([512]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stem2.2.weight - torch.Size([512, 1, 9, 9]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stem2.2.bn.weight - torch.Size([512]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stem2.2.bn.bias - torch.Size([512]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.0.conv1.0.weight - torch.Size([512, 512, 1, 1]): Initialized by user-defined init_weights in Vanillanet

backbone.stages.0.conv1.0.bias - torch.Size([512]): Initialized by user-defined init_weights in Vanillanet

backbone.stages.0.conv1.1.weight - torch.Size([512]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.0.conv1.1.bias - torch.Size([512]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.0.conv2.0.weight - torch.Size([512, 512, 1, 1]): Initialized by user-defined init_weights in Vanillanet

backbone.stages.0.conv2.0.bias - torch.Size([512]): Initialized by user-defined init_weights in Vanillanet

backbone.stages.0.conv2.1.weight - torch.Size([512]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.0.conv2.1.bias - torch.Size([512]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.0.act.weight - torch.Size([512, 1, 9, 9]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.0.act.bn.weight - torch.Size([512]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.0.act.bn.bias - torch.Size([512]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.1.conv1.0.weight - torch.Size([512, 512, 1, 1]): Initialized by user-defined init_weights in Vanillanet

backbone.stages.1.conv1.0.bias - torch.Size([512]): Initialized by user-defined init_weights in Vanillanet

backbone.stages.1.conv1.1.weight - torch.Size([512]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.1.conv1.1.bias - torch.Size([512]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.1.conv2.0.weight - torch.Size([1024, 512, 1, 1]): Initialized by user-defined init_weights in Vanillanet

backbone.stages.1.conv2.0.bias - torch.Size([1024]): Initialized by user-defined init_weights in Vanillanet

backbone.stages.1.conv2.1.weight - torch.Size([1024]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.1.conv2.1.bias - torch.Size([1024]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.1.act.weight - torch.Size([1024, 1, 9, 9]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.1.act.bn.weight - torch.Size([1024]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.1.act.bn.bias - torch.Size([1024]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.2.conv1.0.weight - torch.Size([1024, 1024, 1, 1]): Initialized by user-defined init_weights in Vanillanet

backbone.stages.2.conv1.0.bias - torch.Size([1024]): Initialized by user-defined init_weights in Vanillanet

backbone.stages.2.conv1.1.weight - torch.Size([1024]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.2.conv1.1.bias - torch.Size([1024]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.2.conv2.0.weight - torch.Size([2048, 1024, 1, 1]): Initialized by user-defined init_weights in Vanillanet

backbone.stages.2.conv2.0.bias - torch.Size([2048]): Initialized by user-defined init_weights in Vanillanet

backbone.stages.2.conv2.1.weight - torch.Size([2048]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.2.conv2.1.bias - torch.Size([2048]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.2.act.weight - torch.Size([2048, 1, 9, 9]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.2.act.bn.weight - torch.Size([2048]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.2.act.bn.bias - torch.Size([2048]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.3.conv1.0.weight - torch.Size([2048, 2048, 1, 1]): Initialized by user-defined init_weights in Vanillanet

backbone.stages.3.conv1.0.bias - torch.Size([2048]): Initialized by user-defined init_weights in Vanillanet

backbone.stages.3.conv1.1.weight - torch.Size([2048]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.3.conv1.1.bias - torch.Size([2048]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.3.conv2.0.weight - torch.Size([2048, 2048, 1, 1]): Initialized by user-defined init_weights in Vanillanet

backbone.stages.3.conv2.0.bias - torch.Size([2048]): Initialized by user-defined init_weights in Vanillanet

backbone.stages.3.conv2.1.weight - torch.Size([2048]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.3.conv2.1.bias - torch.Size([2048]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.3.act.weight - torch.Size([2048, 1, 9, 9]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.3.act.bn.weight - torch.Size([2048]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.3.act.bn.bias - torch.Size([2048]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.4.conv1.0.weight - torch.Size([2048, 2048, 1, 1]): Initialized by user-defined init_weights in Vanillanet

backbone.stages.4.conv1.0.bias - torch.Size([2048]): Initialized by user-defined init_weights in Vanillanet

backbone.stages.4.conv1.1.weight - torch.Size([2048]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.4.conv1.1.bias - torch.Size([2048]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.4.conv2.0.weight - torch.Size([2048, 2048, 1, 1]): Initialized by user-defined init_weights in Vanillanet

backbone.stages.4.conv2.0.bias - torch.Size([2048]): Initialized by user-defined init_weights in Vanillanet

backbone.stages.4.conv2.1.weight - torch.Size([2048]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.4.conv2.1.bias - torch.Size([2048]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.4.act.weight - torch.Size([2048, 1, 9, 9]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.4.act.bn.weight - torch.Size([2048]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.4.act.bn.bias - torch.Size([2048]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.5.conv1.0.weight - torch.Size([2048, 2048, 1, 1]): Initialized by user-defined init_weights in Vanillanet

backbone.stages.5.conv1.0.bias - torch.Size([2048]): Initialized by user-defined init_weights in Vanillanet

backbone.stages.5.conv1.1.weight - torch.Size([2048]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.5.conv1.1.bias - torch.Size([2048]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.5.conv2.0.weight - torch.Size([2048, 2048, 1, 1]): Initialized by user-defined init_weights in Vanillanet

backbone.stages.5.conv2.0.bias - torch.Size([2048]): Initialized by user-defined init_weights in Vanillanet

backbone.stages.5.conv2.1.weight - torch.Size([2048]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.5.conv2.1.bias - torch.Size([2048]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.5.act.weight - torch.Size([2048, 1, 9, 9]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.5.act.bn.weight - torch.Size([2048]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.5.act.bn.bias - torch.Size([2048]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.6.conv1.0.weight - torch.Size([2048, 2048, 1, 1]): Initialized by user-defined init_weights in Vanillanet

backbone.stages.6.conv1.0.bias - torch.Size([2048]): Initialized by user-defined init_weights in Vanillanet

backbone.stages.6.conv1.1.weight - torch.Size([2048]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.6.conv1.1.bias - torch.Size([2048]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.6.conv2.0.weight - torch.Size([2048, 2048, 1, 1]): Initialized by user-defined init_weights in Vanillanet

backbone.stages.6.conv2.0.bias - torch.Size([2048]): Initialized by user-defined init_weights in Vanillanet

backbone.stages.6.conv2.1.weight - torch.Size([2048]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.6.conv2.1.bias - torch.Size([2048]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.6.act.weight - torch.Size([2048, 1, 9, 9]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.6.act.bn.weight - torch.Size([2048]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.6.act.bn.bias - torch.Size([2048]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.7.conv1.0.weight - torch.Size([2048, 2048, 1, 1]): Initialized by user-defined init_weights in Vanillanet

backbone.stages.7.conv1.0.bias - torch.Size([2048]): Initialized by user-defined init_weights in Vanillanet

backbone.stages.7.conv1.1.weight - torch.Size([2048]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.7.conv1.1.bias - torch.Size([2048]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.7.conv2.0.weight - torch.Size([2048, 2048, 1, 1]): Initialized by user-defined init_weights in Vanillanet

backbone.stages.7.conv2.0.bias - torch.Size([2048]): Initialized by user-defined init_weights in Vanillanet

backbone.stages.7.conv2.1.weight - torch.Size([2048]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.7.conv2.1.bias - torch.Size([2048]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.7.act.weight - torch.Size([2048, 1, 9, 9]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.7.act.bn.weight - torch.Size([2048]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.7.act.bn.bias - torch.Size([2048]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.8.conv1.0.weight - torch.Size([2048, 2048, 1, 1]): Initialized by user-defined init_weights in Vanillanet

backbone.stages.8.conv1.0.bias - torch.Size([2048]): Initialized by user-defined init_weights in Vanillanet

backbone.stages.8.conv1.1.weight - torch.Size([2048]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.8.conv1.1.bias - torch.Size([2048]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.8.conv2.0.weight - torch.Size([2048, 2048, 1, 1]): Initialized by user-defined init_weights in Vanillanet

backbone.stages.8.conv2.0.bias - torch.Size([2048]): Initialized by user-defined init_weights in Vanillanet

backbone.stages.8.conv2.1.weight - torch.Size([2048]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.8.conv2.1.bias - torch.Size([2048]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.8.act.weight - torch.Size([2048, 1, 9, 9]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.8.act.bn.weight - torch.Size([2048]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.8.act.bn.bias - torch.Size([2048]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.9.conv1.0.weight - torch.Size([2048, 2048, 1, 1]): Initialized by user-defined init_weights in Vanillanet

backbone.stages.9.conv1.0.bias - torch.Size([2048]): Initialized by user-defined init_weights in Vanillanet

backbone.stages.9.conv1.1.weight - torch.Size([2048]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.9.conv1.1.bias - torch.Size([2048]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.9.conv2.0.weight - torch.Size([4096, 2048, 1, 1]): Initialized by user-defined init_weights in Vanillanet

backbone.stages.9.conv2.0.bias - torch.Size([4096]): Initialized by user-defined init_weights in Vanillanet

backbone.stages.9.conv2.1.weight - torch.Size([4096]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.9.conv2.1.bias - torch.Size([4096]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.9.act.weight - torch.Size([4096, 1, 9, 9]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.9.act.bn.weight - torch.Size([4096]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.9.act.bn.bias - torch.Size([4096]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.10.conv1.0.weight - torch.Size([4096, 4096, 1, 1]): Initialized by user-defined init_weights in Vanillanet

backbone.stages.10.conv1.0.bias - torch.Size([4096]): Initialized by user-defined init_weights in Vanillanet

backbone.stages.10.conv1.1.weight - torch.Size([4096]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.10.conv1.1.bias - torch.Size([4096]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.10.conv2.0.weight - torch.Size([4096, 4096, 1, 1]): Initialized by user-defined init_weights in Vanillanet

backbone.stages.10.conv2.0.bias - torch.Size([4096]): Initialized by user-defined init_weights in Vanillanet

backbone.stages.10.conv2.1.weight - torch.Size([4096]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.10.conv2.1.bias - torch.Size([4096]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.10.act.weight - torch.Size([4096, 1, 9, 9]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.10.act.bn.weight - torch.Size([4096]): The value is the same before and after calling init_weights of EncoderDecoder

backbone.stages.10.act.bn.bias - torch.Size([4096]): The value is the same before and after calling init_weights of EncoderDecoder

neck.lateral_convs.0.conv.weight - torch.Size([1024, 512, 1, 1]): XavierInit: gain=1, distribution=uniform, bias=0

neck.lateral_convs.0.conv.bias - torch.Size([1024]): The value is the same before and after calling init_weights of EncoderDecoder

neck.lateral_convs.1.conv.weight - torch.Size([1024, 1024, 1, 1]): XavierInit: gain=1, distribution=uniform, bias=0

neck.lateral_convs.1.conv.bias - torch.Size([1024]): The value is the same before and after calling init_weights of EncoderDecoder

neck.lateral_convs.2.conv.weight - torch.Size([1024, 2048, 1, 1]): XavierInit: gain=1, distribution=uniform, bias=0

neck.lateral_convs.2.conv.bias - torch.Size([1024]): The value is the same before and after calling init_weights of EncoderDecoder

neck.lateral_convs.3.conv.weight - torch.Size([1024, 4096, 1, 1]): XavierInit: gain=1, distribution=uniform, bias=0

neck.lateral_convs.3.conv.bias - torch.Size([1024]): The value is the same before and after calling init_weights of EncoderDecoder

neck.fpn_convs.0.conv.weight - torch.Size([1024, 1024, 3, 3]): XavierInit: gain=1, distribution=uniform, bias=0

neck.fpn_convs.0.conv.bias - torch.Size([1024]): The value is the same before and after calling init_weights of EncoderDecoder

neck.fpn_convs.1.conv.weight - torch.Size([1024, 1024, 3, 3]): XavierInit: gain=1, distribution=uniform, bias=0

neck.fpn_convs.1.conv.bias - torch.Size([1024]): The value is the same before and after calling init_weights of EncoderDecoder

neck.fpn_convs.2.conv.weight - torch.Size([1024, 1024, 3, 3]): XavierInit: gain=1, distribution=uniform, bias=0

neck.fpn_convs.2.conv.bias - torch.Size([1024]): The value is the same before and after calling init_weights of EncoderDecoder

neck.fpn_convs.3.conv.weight - torch.Size([1024, 1024, 3, 3]): XavierInit: gain=1, distribution=uniform, bias=0

neck.fpn_convs.3.conv.bias - torch.Size([1024]): The value is the same before and after calling init_weights of EncoderDecoder

decode_head.conv_seg.weight - torch.Size([2, 512, 1, 1]): NormalInit: mean=0, std=0.01, bias=0

decode_head.conv_seg.bias - torch.Size([2]): NormalInit: mean=0, std=0.01, bias=0

decode_head.scale_heads.0.0.conv.weight - torch.Size([512, 1024, 3, 3]): The value is the same before and after calling init_weights of EncoderDecoder

decode_head.scale_heads.0.0.bn.weight - torch.Size([512]): The value is the same before and after calling init_weights of EncoderDecoder

decode_head.scale_heads.0.0.bn.bias - torch.Size([512]): The value is the same before and after calling init_weights of EncoderDecoder

decode_head.scale_heads.1.0.conv.weight - torch.Size([512, 1024, 3, 3]): The value is the same before and after calling init_weights of EncoderDecoder

decode_head.scale_heads.1.0.bn.weight - torch.Size([512]): The value is the same before and after calling init_weights of EncoderDecoder

decode_head.scale_heads.1.0.bn.bias - torch.Size([512]): The value is the same before and after calling init_weights of EncoderDecoder

decode_head.scale_heads.2.0.conv.weight - torch.Size([512, 1024, 3, 3]): The value is the same before and after calling init_weights of EncoderDecoder

decode_head.scale_heads.2.0.bn.weight - torch.Size([512]): The value is the same before and after calling init_weights of EncoderDecoder

decode_head.scale_heads.2.0.bn.bias - torch.Size([512]): The value is the same before and after calling init_weights of EncoderDecoder

decode_head.scale_heads.2.2.conv.weight - torch.Size([512, 512, 3, 3]): The value is the same before and after calling init_weights of EncoderDecoder

decode_head.scale_heads.2.2.bn.weight - torch.Size([512]): The value is the same before and after calling init_weights of EncoderDecoder

decode_head.scale_heads.2.2.bn.bias - torch.Size([512]): The value is the same before and after calling init_weights of EncoderDecoder

decode_head.scale_heads.3.0.conv.weight - torch.Size([512, 1024, 3, 3]): The value is the same before and after calling init_weights of EncoderDecoder

decode_head.scale_heads.3.0.bn.weight - torch.Size([512]): The value is the same before and after calling init_weights of EncoderDecoder

decode_head.scale_heads.3.0.bn.bias - torch.Size([512]): The value is the same before and after calling init_weights of EncoderDecoder

decode_head.scale_heads.3.2.conv.weight - torch.Size([512, 512, 3, 3]): The value is the same before and after calling init_weights of EncoderDecoder

decode_head.scale_heads.3.2.bn.weight - torch.Size([512]): The value is the same before and after calling init_weights of EncoderDecoder

decode_head.scale_heads.3.2.bn.bias - torch.Size([512]): The value is the same before and after calling init_weights of EncoderDecoder

decode_head.scale_heads.3.4.conv.weight - torch.Size([512, 512, 3, 3]): The value is the same before and after calling init_weights of EncoderDecoder

decode_head.scale_heads.3.4.bn.weight - torch.Size([512]): The value is the same before and after calling init_weights of EncoderDecoder

decode_head.scale_heads.3.4.bn.bias - torch.Size([512]): The value is the same before and after calling init_weights of EncoderDecoder
2023-06-30 16:39:02,828 - mmseg - INFO - EncoderDecoder( (backbone): Vanillanet( (stem1): Sequential( (0): Conv2d(3, 512, kernel_size=(4, 4), stride=(4, 4)) (1): _BatchNormXd(512, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True) ) (stem2): Sequential( (0): Conv2d(512, 512, kernel_size=(1, 1), stride=(1, 1)) (1): _BatchNormXd(512, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True) (2): activation( (bn): _BatchNormXd(512, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True) ) ) (stages): ModuleList( (0): Block( (conv1): Sequential( (0): Conv2d(512, 512, kernel_size=(1, 1), stride=(1, 1)) (1): _BatchNormXd(512, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True) ) (conv2): Sequential( (0): Conv2d(512, 512, kernel_size=(1, 1), stride=(1, 1)) (1): _BatchNormXd(512, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True) ) (pool): Identity() (act): activation( (bn): _BatchNormXd(512, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True) ) ) (1): Block( (conv1): Sequential( (0): Conv2d(512, 512, kernel_size=(1, 1), stride=(1, 1)) (1): _BatchNormXd(512, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True) ) (conv2): Sequential( (0): Conv2d(512, 1024, kernel_size=(1, 1), stride=(1, 1)) (1): _BatchNormXd(1024, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True) ) (pool): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False) (act): activation( (bn): _BatchNormXd(1024, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True) ) ) (2): Block( (conv1): Sequential( (0): Conv2d(1024, 1024, kernel_size=(1, 1), stride=(1, 1)) (1): _BatchNormXd(1024, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True) ) (conv2): Sequential( (0): Conv2d(1024, 2048, kernel_size=(1, 1), stride=(1, 1)) (1): _BatchNormXd(2048, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True) ) (pool): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False) (act): activation( (bn): _BatchNormXd(2048, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True) ) ) (3): Block( (conv1): Sequential( (0): Conv2d(2048, 2048, kernel_size=(1, 1), stride=(1, 1)) (1): _BatchNormXd(2048, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True) ) (conv2): Sequential( (0): Conv2d(2048, 2048, kernel_size=(1, 1), stride=(1, 1)) (1): _BatchNormXd(2048, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True) ) (pool): Identity() (act): activation( (bn): _BatchNormXd(2048, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True) ) ) (4): Block( (conv1): Sequential( (0): Conv2d(2048, 2048, kernel_size=(1, 1), stride=(1, 1)) (1): _BatchNormXd(2048, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True) ) (conv2): Sequential( (0): Conv2d(2048, 2048, kernel_size=(1, 1), stride=(1, 1)) (1): _BatchNormXd(2048, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True) ) (pool): Identity() (act): activation( (bn): _BatchNormXd(2048, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True) ) ) (5): Block( (conv1): Sequential( (0): Conv2d(2048, 2048, kernel_size=(1, 1), stride=(1, 1)) (1): _BatchNormXd(2048, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True) ) (conv2): Sequential( (0): Conv2d(2048, 2048, kernel_size=(1, 1), stride=(1, 1)) (1): _BatchNormXd(2048, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True) ) (pool): Identity() (act): activation( (bn): _BatchNormXd(2048, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True) ) ) (6): Block( (conv1): Sequential( (0): Conv2d(2048, 2048, kernel_size=(1, 1), stride=(1, 1)) (1): _BatchNormXd(2048, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True) ) (conv2): Sequential( (0): Conv2d(2048, 2048, kernel_size=(1, 1), stride=(1, 1)) (1): _BatchNormXd(2048, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True) ) (pool): Identity() (act): activation( (bn): _BatchNormXd(2048, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True) ) ) (7): Block( (conv1): Sequential( (0): Conv2d(2048, 2048, kernel_size=(1, 1), stride=(1, 1)) (1): _BatchNormXd(2048, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True) ) (conv2): Sequential( (0): Conv2d(2048, 2048, kernel_size=(1, 1), stride=(1, 1)) (1): _BatchNormXd(2048, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True) ) (pool): Identity() (act): activation( (bn): _BatchNormXd(2048, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True) ) ) (8): Block( (conv1): Sequential( (0): Conv2d(2048, 2048, kernel_size=(1, 1), stride=(1, 1)) (1): _BatchNormXd(2048, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True) ) (conv2): Sequential( (0): Conv2d(2048, 2048, kernel_size=(1, 1), stride=(1, 1)) (1): _BatchNormXd(2048, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True) ) (pool): Identity() (act): activation( (bn): _BatchNormXd(2048, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True) ) ) (9): Block( (conv1): Sequential( (0): Conv2d(2048, 2048, kernel_size=(1, 1), stride=(1, 1)) (1): _BatchNormXd(2048, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True) ) (conv2): Sequential( (0): Conv2d(2048, 4096, kernel_size=(1, 1), stride=(1, 1)) (1): _BatchNormXd(4096, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True) ) (pool): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False) (act): activation( (bn): _BatchNormXd(4096, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True) ) ) (10): Block( (conv1): Sequential( (0): Conv2d(4096, 4096, kernel_size=(1, 1), stride=(1, 1)) (1): _BatchNormXd(4096, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True) ) (conv2): Sequential( (0): Conv2d(4096, 4096, kernel_size=(1, 1), stride=(1, 1)) (1): _BatchNormXd(4096, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True) ) (pool): Identity() (act): activation( (bn): _BatchNormXd(4096, eps=1e-06, momentum=0.1, affine=True, track_running_stats=True) ) ) ) ) (neck): FPN( (lateral_convs): ModuleList( (0): ConvModule( (conv): Conv2d(512, 1024, kernel_size=(1, 1), stride=(1, 1)) ) (1): ConvModule( (conv): Conv2d(1024, 1024, kernel_size=(1, 1), stride=(1, 1)) ) (2): ConvModule( (conv): Conv2d(2048, 1024, kernel_size=(1, 1), stride=(1, 1)) ) (3): ConvModule( (conv): Conv2d(4096, 1024, kernel_size=(1, 1), stride=(1, 1)) ) ) (fpn_convs): ModuleList( (0): ConvModule( (conv): Conv2d(1024, 1024, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) ) (1): ConvModule( (conv): Conv2d(1024, 1024, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) ) (2): ConvModule( (conv): Conv2d(1024, 1024, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) ) (3): ConvModule( (conv): Conv2d(1024, 1024, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) ) ) ) init_cfg={'type': 'Xavier', 'layer': 'Conv2d', 'distribution': 'uniform'} (decode_head): FPNHead( input_transform=multiple_select, ignore_index=255, align_corners=False (loss_decode): CrossEntropyLoss(avg_non_ignore=False) (conv_seg): Conv2d(512, 2, kernel_size=(1, 1), stride=(1, 1)) (dropout): Dropout2d(p=0.1, inplace=False) (scale_heads): ModuleList( (0): Sequential( (0): ConvModule( (conv): Conv2d(1024, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (activate): ReLU(inplace=True) ) ) (1): Sequential( (0): ConvModule( (conv): Conv2d(1024, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (activate): ReLU(inplace=True) ) (1): Upsample() ) (2): Sequential( (0): ConvModule( (conv): Conv2d(1024, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (activate): ReLU(inplace=True) ) (1): Upsample() (2): ConvModule( (conv): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (activate): ReLU(inplace=True) ) (3): Upsample() ) (3): Sequential( (0): ConvModule( (conv): Conv2d(1024, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (activate): ReLU(inplace=True) ) (1): Upsample() (2): ConvModule( (conv): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (activate): ReLU(inplace=True) ) (3): Upsample() (4): ConvModule( (conv): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (activate): ReLU(inplace=True) ) (5): Upsample() ) ) ) init_cfg={'type': 'Normal', 'std': 0.01, 'override': {'name': 'conv_seg'}} ) 2023-06-30 16:39:02,845 - mmseg - INFO - Loaded 1341 images 2023-06-30 16:39:02,847 - mmseg - INFO - Loaded 178 images 2023-06-30 16:39:03,842 - mmseg - INFO - self.paramwise_cfg is {'decay_rate': 0.6, 'decay_type': 'layer_wise', 'num_layers': 6} 2023-06-30 16:39:03,842 - mmseg - INFO - Build LearningRateDecayOptimizerConstructor layer_wise 0.6 - 8 2023-06-30 16:39:03,842 - mmseg - INFO - set param backbone.stem1.0.weight as id 0 2023-06-30 16:39:03,843 - mmseg - INFO - set param backbone.stem1.0.bias as id 0 2023-06-30 16:39:03,843 - mmseg - INFO - set param backbone.stem1.1.weight as id 0 2023-06-30 16:39:03,843 - mmseg - INFO - set param backbone.stem1.1.bias as id 0 2023-06-30 16:39:03,843 - mmseg - INFO - set param backbone.stem2.0.weight as id 0 2023-06-30 16:39:03,843 - mmseg - INFO - set param backbone.stem2.0.bias as id 0 2023-06-30 16:39:03,843 - mmseg - INFO - set param backbone.stem2.1.weight as id 0 2023-06-30 16:39:03,843 - mmseg - INFO - set param backbone.stem2.1.bias as id 0 2023-06-30 16:39:03,843 - mmseg - INFO - set param backbone.stem2.2.weight as id 0 2023-06-30 16:39:03,843 - mmseg - INFO - set param backbone.stem2.2.bn.weight as id 0 2023-06-30 16:39:03,843 - mmseg - INFO - set param backbone.stem2.2.bn.bias as id 0 2023-06-30 16:39:03,844 - mmseg - INFO - set param backbone.stages.0.conv1.0.weight as id 1 2023-06-30 16:39:03,844 - mmseg - INFO - set param backbone.stages.0.conv1.0.bias as id 1 2023-06-30 16:39:03,844 - mmseg - INFO - set param backbone.stages.0.conv1.1.weight as id 1 2023-06-30 16:39:03,844 - mmseg - INFO - set param backbone.stages.0.conv1.1.bias as id 1 2023-06-30 16:39:03,844 - mmseg - INFO - set param backbone.stages.0.conv2.0.weight as id 1 2023-06-30 16:39:03,844 - mmseg - INFO - set param backbone.stages.0.conv2.0.bias as id 1 2023-06-30 16:39:03,844 - mmseg - INFO - set param backbone.stages.0.conv2.1.weight as id 1 2023-06-30 16:39:03,844 - mmseg - INFO - set param backbone.stages.0.conv2.1.bias as id 1 2023-06-30 16:39:03,844 - mmseg - INFO - set param backbone.stages.0.act.weight as id 1 2023-06-30 16:39:03,845 - mmseg - INFO - set param backbone.stages.0.act.bn.weight as id 1 2023-06-30 16:39:03,845 - mmseg - INFO - set param backbone.stages.0.act.bn.bias as id 1 2023-06-30 16:39:03,845 - mmseg - INFO - set param backbone.stages.1.conv1.0.weight as id 1 2023-06-30 16:39:03,845 - mmseg - INFO - set param backbone.stages.1.conv1.0.bias as id 1 2023-06-30 16:39:03,845 - mmseg - INFO - set param backbone.stages.1.conv1.1.weight as id 1 2023-06-30 16:39:03,845 - mmseg - INFO - set param backbone.stages.1.conv1.1.bias as id 1 2023-06-30 16:39:03,845 - mmseg - INFO - set param backbone.stages.1.conv2.0.weight as id 1 2023-06-30 16:39:03,845 - mmseg - INFO - set param backbone.stages.1.conv2.0.bias as id 1 2023-06-30 16:39:03,845 - mmseg - INFO - set param backbone.stages.1.conv2.1.weight as id 1 2023-06-30 16:39:03,845 - mmseg - INFO - set param backbone.stages.1.conv2.1.bias as id 1 2023-06-30 16:39:03,846 - mmseg - INFO - set param backbone.stages.1.act.weight as id 1 2023-06-30 16:39:03,846 - mmseg - INFO - set param backbone.stages.1.act.bn.weight as id 1 2023-06-30 16:39:03,846 - mmseg - INFO - set param backbone.stages.1.act.bn.bias as id 1 2023-06-30 16:39:03,846 - mmseg - INFO - set param backbone.stages.2.conv1.0.weight as id 2 2023-06-30 16:39:03,846 - mmseg - INFO - set param backbone.stages.2.conv1.0.bias as id 2 2023-06-30 16:39:03,846 - mmseg - INFO - set param backbone.stages.2.conv1.1.weight as id 2 2023-06-30 16:39:03,846 - mmseg - INFO - set param backbone.stages.2.conv1.1.bias as id 2 2023-06-30 16:39:03,846 - mmseg - INFO - set param backbone.stages.2.conv2.0.weight as id 2 2023-06-30 16:39:03,846 - mmseg - INFO - set param backbone.stages.2.conv2.0.bias as id 2 2023-06-30 16:39:03,846 - mmseg - INFO - set param backbone.stages.2.conv2.1.weight as id 2 2023-06-30 16:39:03,847 - mmseg - INFO - set param backbone.stages.2.conv2.1.bias as id 2 2023-06-30 16:39:03,847 - mmseg - INFO - set param backbone.stages.2.act.weight as id 2 2023-06-30 16:39:03,847 - mmseg - INFO - set param backbone.stages.2.act.bn.weight as id 2 2023-06-30 16:39:03,847 - mmseg - INFO - set param backbone.stages.2.act.bn.bias as id 2 2023-06-30 16:39:03,847 - mmseg - INFO - set param backbone.stages.3.conv1.0.weight as id 2 2023-06-30 16:39:03,847 - mmseg - INFO - set param backbone.stages.3.conv1.0.bias as id 2 2023-06-30 16:39:03,847 - mmseg - INFO - set param backbone.stages.3.conv1.1.weight as id 2 2023-06-30 16:39:03,847 - mmseg - INFO - set param backbone.stages.3.conv1.1.bias as id 2 2023-06-30 16:39:03,848 - mmseg - INFO - set param backbone.stages.3.conv2.0.weight as id 2 2023-06-30 16:39:03,848 - mmseg - INFO - set param backbone.stages.3.conv2.0.bias as id 2 2023-06-30 16:39:03,848 - mmseg - INFO - set param backbone.stages.3.conv2.1.weight as id 2 2023-06-30 16:39:03,848 - mmseg - INFO - set param backbone.stages.3.conv2.1.bias as id 2 2023-06-30 16:39:03,848 - mmseg - INFO - set param backbone.stages.3.act.weight as id 2 2023-06-30 16:39:03,848 - mmseg - INFO - set param backbone.stages.3.act.bn.weight as id 2 2023-06-30 16:39:03,848 - mmseg - INFO - set param backbone.stages.3.act.bn.bias as id 2 2023-06-30 16:39:03,848 - mmseg - INFO - set param backbone.stages.4.conv1.0.weight as id 3 2023-06-30 16:39:03,848 - mmseg - INFO - set param backbone.stages.4.conv1.0.bias as id 3 2023-06-30 16:39:03,848 - mmseg - INFO - set param backbone.stages.4.conv1.1.weight as id 3 2023-06-30 16:39:03,849 - mmseg - INFO - set param backbone.stages.4.conv1.1.bias as id 3 2023-06-30 16:39:03,849 - mmseg - INFO - set param backbone.stages.4.conv2.0.weight as id 3 2023-06-30 16:39:03,849 - mmseg - INFO - set param backbone.stages.4.conv2.0.bias as id 3 2023-06-30 16:39:03,849 - mmseg - INFO - set param backbone.stages.4.conv2.1.weight as id 3 2023-06-30 16:39:03,849 - mmseg - INFO - set param backbone.stages.4.conv2.1.bias as id 3 2023-06-30 16:39:03,849 - mmseg - INFO - set param backbone.stages.4.act.weight as id 3 2023-06-30 16:39:03,849 - mmseg - INFO - set param backbone.stages.4.act.bn.weight as id 3 2023-06-30 16:39:03,849 - mmseg - INFO - set param backbone.stages.4.act.bn.bias as id 3 2023-06-30 16:39:03,849 - mmseg - INFO - set param backbone.stages.5.conv1.0.weight as id 3 2023-06-30 16:39:03,850 - mmseg - INFO - set param backbone.stages.5.conv1.0.bias as id 3 2023-06-30 16:39:03,850 - mmseg - INFO - set param backbone.stages.5.conv1.1.weight as id 3 2023-06-30 16:39:03,850 - mmseg - INFO - set param backbone.stages.5.conv1.1.bias as id 3 2023-06-30 16:39:03,850 - mmseg - INFO - set param backbone.stages.5.conv2.0.weight as id 3 2023-06-30 16:39:03,850 - mmseg - INFO - set param backbone.stages.5.conv2.0.bias as id 3 2023-06-30 16:39:03,850 - mmseg - INFO - set param backbone.stages.5.conv2.1.weight as id 3 2023-06-30 16:39:03,850 - mmseg - INFO - set param backbone.stages.5.conv2.1.bias as id 3 2023-06-30 16:39:03,850 - mmseg - INFO - set param backbone.stages.5.act.weight as id 3 2023-06-30 16:39:03,850 - mmseg - INFO - set param backbone.stages.5.act.bn.weight as id 3 2023-06-30 16:39:03,850 - mmseg - INFO - set param backbone.stages.5.act.bn.bias as id 3 2023-06-30 16:39:03,851 - mmseg - INFO - set param backbone.stages.6.conv1.0.weight as id 4 2023-06-30 16:39:03,851 - mmseg - INFO - set param backbone.stages.6.conv1.0.bias as id 4 2023-06-30 16:39:03,851 - mmseg - INFO - set param backbone.stages.6.conv1.1.weight as id 4 2023-06-30 16:39:03,851 - mmseg - INFO - set param backbone.stages.6.conv1.1.bias as id 4 2023-06-30 16:39:03,851 - mmseg - INFO - set param backbone.stages.6.conv2.0.weight as id 4 2023-06-30 16:39:03,851 - mmseg - INFO - set param backbone.stages.6.conv2.0.bias as id 4 2023-06-30 16:39:03,851 - mmseg - INFO - set param backbone.stages.6.conv2.1.weight as id 4 2023-06-30 16:39:03,851 - mmseg - INFO - set param backbone.stages.6.conv2.1.bias as id 4 2023-06-30 16:39:03,851 - mmseg - INFO - set param backbone.stages.6.act.weight as id 4 2023-06-30 16:39:03,851 - mmseg - INFO - set param backbone.stages.6.act.bn.weight as id 4 2023-06-30 16:39:03,852 - mmseg - INFO - set param backbone.stages.6.act.bn.bias as id 4 2023-06-30 16:39:03,862 - mmseg - INFO - set param backbone.stages.7.conv1.0.weight as id 4 2023-06-30 16:39:03,862 - mmseg - INFO - set param backbone.stages.7.conv1.0.bias as id 4 2023-06-30 16:39:03,862 - mmseg - INFO - set param backbone.stages.7.conv1.1.weight as id 4 2023-06-30 16:39:03,862 - mmseg - INFO - set param backbone.stages.7.conv1.1.bias as id 4 2023-06-30 16:39:03,862 - mmseg - INFO - set param backbone.stages.7.conv2.0.weight as id 4 2023-06-30 16:39:03,862 - mmseg - INFO - set param backbone.stages.7.conv2.0.bias as id 4 2023-06-30 16:39:03,863 - mmseg - INFO - set param backbone.stages.7.conv2.1.weight as id 4 2023-06-30 16:39:03,863 - mmseg - INFO - set param backbone.stages.7.conv2.1.bias as id 4 2023-06-30 16:39:03,863 - mmseg - INFO - set param backbone.stages.7.act.weight as id 4 2023-06-30 16:39:03,863 - mmseg - INFO - set param backbone.stages.7.act.bn.weight as id 4 2023-06-30 16:39:03,863 - mmseg - INFO - set param backbone.stages.7.act.bn.bias as id 4 2023-06-30 16:39:03,863 - mmseg - INFO - set param backbone.stages.8.conv1.0.weight as id 5 2023-06-30 16:39:03,863 - mmseg - INFO - set param backbone.stages.8.conv1.0.bias as id 5 2023-06-30 16:39:03,863 - mmseg - INFO - set param backbone.stages.8.conv1.1.weight as id 5 2023-06-30 16:39:03,863 - mmseg - INFO - set param backbone.stages.8.conv1.1.bias as id 5 2023-06-30 16:39:03,863 - mmseg - INFO - set param backbone.stages.8.conv2.0.weight as id 5 2023-06-30 16:39:03,864 - mmseg - INFO - set param backbone.stages.8.conv2.0.bias as id 5 2023-06-30 16:39:03,864 - mmseg - INFO - set param backbone.stages.8.conv2.1.weight as id 5 2023-06-30 16:39:03,864 - mmseg - INFO - set param backbone.stages.8.conv2.1.bias as id 5 2023-06-30 16:39:03,864 - mmseg - INFO - set param backbone.stages.8.act.weight as id 5 2023-06-30 16:39:03,864 - mmseg - INFO - set param backbone.stages.8.act.bn.weight as id 5 2023-06-30 16:39:03,864 - mmseg - INFO - set param backbone.stages.8.act.bn.bias as id 5 2023-06-30 16:39:03,864 - mmseg - INFO - set param backbone.stages.9.conv1.0.weight as id 5 2023-06-30 16:39:03,864 - mmseg - INFO - set param backbone.stages.9.conv1.0.bias as id 5 2023-06-30 16:39:03,864 - mmseg - INFO - set param backbone.stages.9.conv1.1.weight as id 5 2023-06-30 16:39:03,864 - mmseg - INFO - set param backbone.stages.9.conv1.1.bias as id 5 2023-06-30 16:39:03,865 - mmseg - INFO - set param backbone.stages.9.conv2.0.weight as id 5 2023-06-30 16:39:03,865 - mmseg - INFO - set param backbone.stages.9.conv2.0.bias as id 5 2023-06-30 16:39:03,865 - mmseg - INFO - set param backbone.stages.9.conv2.1.weight as id 5 2023-06-30 16:39:03,865 - mmseg - INFO - set param backbone.stages.9.conv2.1.bias as id 5 2023-06-30 16:39:03,865 - mmseg - INFO - set param backbone.stages.9.act.weight as id 5 2023-06-30 16:39:03,865 - mmseg - INFO - set param backbone.stages.9.act.bn.weight as id 5 2023-06-30 16:39:03,865 - mmseg - INFO - set param backbone.stages.9.act.bn.bias as id 5 2023-06-30 16:39:03,865 - mmseg - INFO - set param backbone.stages.10.conv1.0.weight as id 6 2023-06-30 16:39:03,865 - mmseg - INFO - set param backbone.stages.10.conv1.0.bias as id 6 2023-06-30 16:39:03,866 - mmseg - INFO - set param backbone.stages.10.conv1.1.weight as id 6 2023-06-30 16:39:03,866 - mmseg - INFO - set param backbone.stages.10.conv1.1.bias as id 6 2023-06-30 16:39:03,866 - mmseg - INFO - set param backbone.stages.10.conv2.0.weight as id 6 2023-06-30 16:39:03,866 - mmseg - INFO - set param backbone.stages.10.conv2.0.bias as id 6 2023-06-30 16:39:03,866 - mmseg - INFO - set param backbone.stages.10.conv2.1.weight as id 6 2023-06-30 16:39:03,866 - mmseg - INFO - set param backbone.stages.10.conv2.1.bias as id 6 2023-06-30 16:39:03,866 - mmseg - INFO - set param backbone.stages.10.act.weight as id 6 2023-06-30 16:39:03,866 - mmseg - INFO - set param backbone.stages.10.act.bn.weight as id 6 2023-06-30 16:39:03,866 - mmseg - INFO - set param backbone.stages.10.act.bn.bias as id 6 2023-06-30 16:39:03,866 - mmseg - INFO - set param neck.lateral_convs.0.conv.weight as id 7 2023-06-30 16:39:03,878 - mmseg - INFO - set param neck.lateral_convs.0.conv.bias as id 7 2023-06-30 16:39:03,878 - mmseg - INFO - set param neck.lateral_convs.1.conv.weight as id 7 2023-06-30 16:39:03,878 - mmseg - INFO - set param neck.lateral_convs.1.conv.bias as id 7 2023-06-30 16:39:03,878 - mmseg - INFO - set param neck.lateral_convs.2.conv.weight as id 7 2023-06-30 16:39:03,878 - mmseg - INFO - set param neck.lateral_convs.2.conv.bias as id 7 2023-06-30 16:39:03,878 - mmseg - INFO - set param neck.lateral_convs.3.conv.weight as id 7 2023-06-30 16:39:03,879 - mmseg - INFO - set param neck.lateral_convs.3.conv.bias as id 7 2023-06-30 16:39:03,879 - mmseg - INFO - set param neck.fpn_convs.0.conv.weight as id 7 2023-06-30 16:39:03,879 - mmseg - INFO - set param neck.fpn_convs.0.conv.bias as id 7 2023-06-30 16:39:03,879 - mmseg - INFO - set param neck.fpn_convs.1.conv.weight as id 7 2023-06-30 16:39:03,879 - mmseg - INFO - set param neck.fpn_convs.1.conv.bias as id 7 2023-06-30 16:39:03,879 - mmseg - INFO - set param neck.fpn_convs.2.conv.weight as id 7 2023-06-30 16:39:03,879 - mmseg - INFO - set param neck.fpn_convs.2.conv.bias as id 7 2023-06-30 16:39:03,879 - mmseg - INFO - set param neck.fpn_convs.3.conv.weight as id 7 2023-06-30 16:39:03,879 - mmseg - INFO - set param neck.fpn_convs.3.conv.bias as id 7 2023-06-30 16:39:03,879 - mmseg - INFO - set param decode_head.conv_seg.weight as id 7 2023-06-30 16:39:03,880 - mmseg - INFO - set param decode_head.conv_seg.bias as id 7 2023-06-30 16:39:03,880 - mmseg - INFO - set param decode_head.scale_heads.0.0.conv.weight as id 7 2023-06-30 16:39:03,880 - mmseg - INFO - set param decode_head.scale_heads.0.0.bn.weight as id 7 2023-06-30 16:39:03,880 - mmseg - INFO - set param decode_head.scale_heads.0.0.bn.bias as id 7 2023-06-30 16:39:03,880 - mmseg - INFO - set param decode_head.scale_heads.1.0.conv.weight as id 7 2023-06-30 16:39:03,880 - mmseg - INFO - set param decode_head.scale_heads.1.0.bn.weight as id 7 2023-06-30 16:39:03,880 - mmseg - INFO - set param decode_head.scale_heads.1.0.bn.bias as id 7 2023-06-30 16:39:03,880 - mmseg - INFO - set param decode_head.scale_heads.2.0.conv.weight as id 7 2023-06-30 16:39:03,880 - mmseg - INFO - set param decode_head.scale_heads.2.0.bn.weight as id 7 2023-06-30 16:39:03,880 - mmseg - INFO - set param decode_head.scale_heads.2.0.bn.bias as id 7 2023-06-30 16:39:03,881 - mmseg - INFO - set param decode_head.scale_heads.2.2.conv.weight as id 7 2023-06-30 16:39:03,881 - mmseg - INFO - set param decode_head.scale_heads.2.2.bn.weight as id 7 2023-06-30 16:39:03,881 - mmseg - INFO - set param decode_head.scale_heads.2.2.bn.bias as id 7 2023-06-30 16:39:03,881 - mmseg - INFO - set param decode_head.scale_heads.3.0.conv.weight as id 7 2023-06-30 16:39:03,881 - mmseg - INFO - set param decode_head.scale_heads.3.0.bn.weight as id 7 2023-06-30 16:39:03,881 - mmseg - INFO - set param decode_head.scale_heads.3.0.bn.bias as id 7 2023-06-30 16:39:03,881 - mmseg - INFO - set param decode_head.scale_heads.3.2.conv.weight as id 7 2023-06-30 16:39:03,881 - mmseg - INFO - set param decode_head.scale_heads.3.2.bn.weight as id 7 2023-06-30 16:39:03,881 - mmseg - INFO - set param decode_head.scale_heads.3.2.bn.bias as id 7 2023-06-30 16:39:03,882 - mmseg - INFO - set param decode_head.scale_heads.3.4.conv.weight as id 7 2023-06-30 16:39:03,882 - mmseg - INFO - set param decode_head.scale_heads.3.4.bn.weight as id 7 2023-06-30 16:39:03,882 - mmseg - INFO - set param decode_head.scale_heads.3.4.bn.bias as id 7 2023-06-30 16:39:03,882 - mmseg - INFO - Param groups = { "layer_0_decay": { "param_names": [ "backbone.stem1.0.weight", "backbone.stem2.0.weight", "backbone.stem2.2.weight" ], "lr_scale": 0.027993599999999993, "lr": 3.639167999999999e-06, "weight_decay": 0.05 }, "layer_0_no_decay": { "param_names": [ "backbone.stem1.0.bias", "backbone.stem1.1.weight", "backbone.stem1.1.bias", "backbone.stem2.0.bias", "backbone.stem2.1.weight", "backbone.stem2.1.bias", "backbone.stem2.2.bn.weight", "backbone.stem2.2.bn.bias" ], "lr_scale": 0.027993599999999993, "lr": 3.639167999999999e-06, "weight_decay": 0.0 }, "layer_1_decay": { "param_names": [ "backbone.stages.0.conv1.0.weight", "backbone.stages.0.conv2.0.weight", "backbone.stages.0.act.weight", "backbone.stages.1.conv1.0.weight", "backbone.stages.1.conv2.0.weight", "backbone.stages.1.act.weight" ], "lr_scale": 0.04665599999999999, "lr": 6.065279999999998e-06, "weight_decay": 0.05 }, "layer_1_no_decay": { "param_names": [ "backbone.stages.0.conv1.0.bias", "backbone.stages.0.conv1.1.weight", "backbone.stages.0.conv1.1.bias", "backbone.stages.0.conv2.0.bias", "backbone.stages.0.conv2.1.weight", "backbone.stages.0.conv2.1.bias", "backbone.stages.0.act.bn.weight", "backbone.stages.0.act.bn.bias", "backbone.stages.1.conv1.0.bias", "backbone.stages.1.conv1.1.weight", "backbone.stages.1.conv1.1.bias", "backbone.stages.1.conv2.0.bias", "backbone.stages.1.conv2.1.weight", "backbone.stages.1.conv2.1.bias", "backbone.stages.1.act.bn.weight", "backbone.stages.1.act.bn.bias" ], "lr_scale": 0.04665599999999999, "lr": 6.065279999999998e-06, "weight_decay": 0.0 }, "layer_2_decay": { "param_names": [ "backbone.stages.2.conv1.0.weight", "backbone.stages.2.conv2.0.weight", "backbone.stages.2.act.weight", "backbone.stages.3.conv1.0.weight", "backbone.stages.3.conv2.0.weight", "backbone.stages.3.act.weight" ], "lr_scale": 0.07775999999999998, "lr": 1.0108799999999997e-05, "weight_decay": 0.05 }, "layer_2_no_decay": { "param_names": [ "backbone.stages.2.conv1.0.bias", "backbone.stages.2.conv1.1.weight", "backbone.stages.2.conv1.1.bias", "backbone.stages.2.conv2.0.bias", "backbone.stages.2.conv2.1.weight", "backbone.stages.2.conv2.1.bias", "backbone.stages.2.act.bn.weight", "backbone.stages.2.act.bn.bias", "backbone.stages.3.conv1.0.bias", "backbone.stages.3.conv1.1.weight", "backbone.stages.3.conv1.1.bias", "backbone.stages.3.conv2.0.bias", "backbone.stages.3.conv2.1.weight", "backbone.stages.3.conv2.1.bias", "backbone.stages.3.act.bn.weight", "backbone.stages.3.act.bn.bias" ], "lr_scale": 0.07775999999999998, "lr": 1.0108799999999997e-05, "weight_decay": 0.0 }, "layer_3_decay": { "param_names": [ "backbone.stages.4.conv1.0.weight", "backbone.stages.4.conv2.0.weight", "backbone.stages.4.act.weight", "backbone.stages.5.conv1.0.weight", "backbone.stages.5.conv2.0.weight", "backbone.stages.5.act.weight" ], "lr_scale": 0.1296, "lr": 1.6848e-05, "weight_decay": 0.05 }, "layer_3_no_decay": { "param_names": [ "backbone.stages.4.conv1.0.bias", "backbone.stages.4.conv1.1.weight", "backbone.stages.4.conv1.1.bias", "backbone.stages.4.conv2.0.bias", "backbone.stages.4.conv2.1.weight", "backbone.stages.4.conv2.1.bias", "backbone.stages.4.act.bn.weight", "backbone.stages.4.act.bn.bias", "backbone.stages.5.conv1.0.bias", "backbone.stages.5.conv1.1.weight", "backbone.stages.5.conv1.1.bias", "backbone.stages.5.conv2.0.bias", "backbone.stages.5.conv2.1.weight", "backbone.stages.5.conv2.1.bias", "backbone.stages.5.act.bn.weight", "backbone.stages.5.act.bn.bias" ], "lr_scale": 0.1296, "lr": 1.6848e-05, "weight_decay": 0.0 }, "layer_4_decay": { "param_names": [ "backbone.stages.6.conv1.0.weight", "backbone.stages.6.conv2.0.weight", "backbone.stages.6.act.weight", "backbone.stages.7.conv1.0.weight", "backbone.stages.7.conv2.0.weight", "backbone.stages.7.act.weight" ], "lr_scale": 0.21599999999999997, "lr": 2.8079999999999992e-05, "weight_decay": 0.05 }, "layer_4_no_decay": { "param_names": [ "backbone.stages.6.conv1.0.bias", "backbone.stages.6.conv1.1.weight", "backbone.stages.6.conv1.1.bias", "backbone.stages.6.conv2.0.bias", "backbone.stages.6.conv2.1.weight", "backbone.stages.6.conv2.1.bias", "backbone.stages.6.act.bn.weight", "backbone.stages.6.act.bn.bias", "backbone.stages.7.conv1.0.bias", "backbone.stages.7.conv1.1.weight", "backbone.stages.7.conv1.1.bias", "backbone.stages.7.conv2.0.bias", "backbone.stages.7.conv2.1.weight", "backbone.stages.7.conv2.1.bias", "backbone.stages.7.act.bn.weight", "backbone.stages.7.act.bn.bias" ], "lr_scale": 0.21599999999999997, "lr": 2.8079999999999992e-05, "weight_decay": 0.0 }, "layer_5_decay": { "param_names": [ "backbone.stages.8.conv1.0.weight", "backbone.stages.8.conv2.0.weight", "backbone.stages.8.act.weight", "backbone.stages.9.conv1.0.weight", "backbone.stages.9.conv2.0.weight", "backbone.stages.9.act.weight" ], "lr_scale": 0.36, "lr": 4.679999999999999e-05, "weight_decay": 0.05 }, "layer_5_no_decay": { "param_names": [ "backbone.stages.8.conv1.0.bias", "backbone.stages.8.conv1.1.weight", "backbone.stages.8.conv1.1.bias", "backbone.stages.8.conv2.0.bias", "backbone.stages.8.conv2.1.weight", "backbone.stages.8.conv2.1.bias", "backbone.stages.8.act.bn.weight", "backbone.stages.8.act.bn.bias", "backbone.stages.9.conv1.0.bias", "backbone.stages.9.conv1.1.weight", "backbone.stages.9.conv1.1.bias", "backbone.stages.9.conv2.0.bias", "backbone.stages.9.conv2.1.weight", "backbone.stages.9.conv2.1.bias", "backbone.stages.9.act.bn.weight", "backbone.stages.9.act.bn.bias" ], "lr_scale": 0.36, "lr": 4.679999999999999e-05, "weight_decay": 0.0 }, "layer_6_decay": { "param_names": [ "backbone.stages.10.conv1.0.weight", "backbone.stages.10.conv2.0.weight", "backbone.stages.10.act.weight" ], "lr_scale": 0.6, "lr": 7.799999999999999e-05, "weight_decay": 0.05 }, "layer_6_no_decay": { "param_names": [ "backbone.stages.10.conv1.0.bias", "backbone.stages.10.conv1.1.weight", "backbone.stages.10.conv1.1.bias", "backbone.stages.10.conv2.0.bias", "backbone.stages.10.conv2.1.weight", "backbone.stages.10.conv2.1.bias", "backbone.stages.10.act.bn.weight", "backbone.stages.10.act.bn.bias" ], "lr_scale": 0.6, "lr": 7.799999999999999e-05, "weight_decay": 0.0 }, "layer_7_decay": { "param_names": [ "neck.lateral_convs.0.conv.weight", "neck.lateral_convs.1.conv.weight", "neck.lateral_convs.2.conv.weight", "neck.lateral_convs.3.conv.weight", "neck.fpn_convs.0.conv.weight", "neck.fpn_convs.1.conv.weight", "neck.fpn_convs.2.conv.weight", "neck.fpn_convs.3.conv.weight", "decode_head.conv_seg.weight", "decode_head.scale_heads.0.0.conv.weight", "decode_head.scale_heads.1.0.conv.weight", "decode_head.scale_heads.2.0.conv.weight", "decode_head.scale_heads.2.2.conv.weight", "decode_head.scale_heads.3.0.conv.weight", "decode_head.scale_heads.3.2.conv.weight", "decode_head.scale_heads.3.4.conv.weight" ], "lr_scale": 1.0, "lr": 0.00013, "weight_decay": 0.05 }, "layer_7_no_decay": { "param_names": [ "neck.lateral_convs.0.conv.bias", "neck.lateral_convs.1.conv.bias", "neck.lateral_convs.2.conv.bias", "neck.lateral_convs.3.conv.bias", "neck.fpn_convs.0.conv.bias", "neck.fpn_convs.1.conv.bias", "neck.fpn_convs.2.conv.bias", "neck.fpn_convs.3.conv.bias", "decode_head.conv_seg.bias", "decode_head.scale_heads.0.0.bn.weight", "decode_head.scale_heads.0.0.bn.bias", "decode_head.scale_heads.1.0.bn.weight", "decode_head.scale_heads.1.0.bn.bias", "decode_head.scale_heads.2.0.bn.weight", "decode_head.scale_heads.2.0.bn.bias", "decode_head.scale_heads.2.2.bn.weight", "decode_head.scale_heads.2.2.bn.bias", "decode_head.scale_heads.3.0.bn.weight", "decode_head.scale_heads.3.0.bn.bias", "decode_head.scale_heads.3.2.bn.weight", "decode_head.scale_heads.3.2.bn.bias", "decode_head.scale_heads.3.4.bn.weight", "decode_head.scale_heads.3.4.bn.bias" ], "lr_scale": 1.0, "lr": 0.00013, "weight_decay": 0.0 } } 2023-06-30 16:39:03,896 - mmseg - INFO - Loaded 178 images 2023-06-30 16:39:03,897 - mmseg - INFO - Start running, host: admin@DESKTOP-DS4MTUV, work_dir: E:\zbl\mmsegmentation-0.23.0\tools\logs_vanillanet\13 2023-06-30 16:39:03,897 - mmseg - INFO - Hooks will be executed in the following order: before_run: (VERY_HIGH ) StepLrUpdaterHook
(NORMAL ) CheckpointHook
(LOW ) EvalHook
(VERY_LOW ) TextLoggerHook


before_train_epoch: (VERY_HIGH ) StepLrUpdaterHook
(LOW ) IterTimerHook
(LOW ) EvalHook
(VERY_LOW ) TextLoggerHook


before_train_iter: (VERY_HIGH ) StepLrUpdaterHook
(LOW ) IterTimerHook
(LOW ) EvalHook


after_train_iter: (ABOVE_NORMAL) OptimizerHook
(NORMAL ) CheckpointHook
(LOW ) IterTimerHook
(LOW ) EvalHook
(VERY_LOW ) TextLoggerHook


after_train_epoch: (NORMAL ) CheckpointHook
(LOW ) EvalHook
(VERY_LOW ) TextLoggerHook


before_val_epoch: (LOW ) IterTimerHook
(VERY_LOW ) TextLoggerHook


before_val_iter: (LOW ) IterTimerHook


after_val_iter: (LOW ) IterTimerHook


after_val_epoch: (VERY_LOW ) TextLoggerHook


after_run: (VERY_LOW ) TextLoggerHook


2023-06-30 16:39:03,898 - mmseg - INFO - workflow: [('train', 1), ('val', 1)], max: 20000 iters 2023-06-30 16:39:03,898 - mmseg - INFO - Checkpoints will be saved to E:\zbl\mmsegmentation-0.23.0\tools\logs_vanillanet\13 by HardDiskBackend. 2023-06-30 16:40:00,779 - mmseg - INFO - Iter [20/20000] lr: 1.418e-07, eta: 5:18:40, time: 0.957, data_time: 0.008, memory: 21203, decode.loss_ce: 0.5422, decode.acc_seg: 39.8719, loss: 0.5422 2023-06-30 16:40:40,739 - mmseg - INFO - Iter [40/20000] lr: 2.872e-07, eta: 5:19:25, time: 0.963, data_time: 0.007, memory: 21203, decode.loss_ce: 0.7923, decode.acc_seg: 47.3142, loss: 0.7923 2023-06-30 16:41:21,888 - mmseg - INFO - Iter [60/20000] lr: 4.326e-07, eta: 5:20:22, time: 0.972, data_time: 0.009, memory: 21203, decode.loss_ce: 0.8685, decode.acc_seg: 57.3759, loss: 0.8685

ggjy commented 1 year ago

你可以参考这个config的写法https://github.com/huawei-noah/VanillaNet/blob/main/object_detection/configs/vanillanet/mask_rcnn_vanillanet_13_mstrain_480-1024_adamw.py#L26,把init_cfg=dict(type='Pretrained', checkpoint=checkpoint_file)) 放到 backbone的dict中。

zbl929 commented 1 year ago

非常感谢您之前的回复!您的网络效果很不错! 想问一句,将预训练权重放在 backbone的dict与其他加载预训练的方式有什么区别吗? 为什么放在dict里就好使了? 期待回复!

ggjy commented 1 year ago

没有区别,只是我用的mmdet的版本他们把接口放在了dict里面,我只是调用他们的接口,当然你也可以自己写一个去load ckpt,都是没有区别的。