Skip to content

训练报错 #28

@zbl929

Description

@zbl929

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,都报同样的错

期望尽快解答!感谢!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions