Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TypeError: __init__() got an unexpected keyword argument 'ann_file' #11962

Open
miahh1103 opened this issue Sep 17, 2024 · 0 comments
Open

TypeError: __init__() got an unexpected keyword argument 'ann_file' #11962

miahh1103 opened this issue Sep 17, 2024 · 0 comments
Assignees

Comments

@miahh1103
Copy link

miahh1103 commented Sep 17, 2024

hi,I use my own dataset for training,but i got this error:
Traceback (most recent call last):
File "mmdetection-3.x/tools/train.py", line 133, in
main()
File "mmdetection-3.x/tools/train.py", line 129, in main
runner.train()
File "C:\Users\dmvns00007.conda\envs\openmmlab\lib\site-packages\mmengine\runner\runner.py", line 1742, in train self._val_loop = self.build_val_loop(
File "C:\Users\dmvns00007.conda\envs\openmmlab\lib\site-packages\mmengine\runner\runner.py", line 1562, in build_val_loop
loop = LOOPS.build(
File "C:\Users\dmvns00007.conda\envs\openmmlab\lib\site-packages\mmengine\registry\registry.py", line 570, in build
return self.build_func(cfg, *args, **kwargs, registry=self)
File "C:\Users\dmvns00007.conda\envs\openmmlab\lib\site-packages\mmengine\registry\build_functions.py", line 121, in build_from_cfg
obj = obj_cls(**args) # type: ignore
File "C:\Users\dmvns00007.conda\envs\openmmlab\lib\site-packages\mmengine\runner\loops.py", line 348, in init
self.evaluator = runner.build_evaluator(evaluator) # type: ignore
File "C:\Users\dmvns00007.conda\envs\openmmlab\lib\site-packages\mmengine\runner\runner.py", line 1318, in build_evaluator
return Evaluator(evaluator) # type: ignore
File "C:\Users\dmvns00007.conda\envs\openmmlab\lib\site-packages\mmengine\evaluator\evaluator.py", line 25, in init
self.metrics.append(METRICS.build(metric))
File "C:\Users\dmvns00007.conda\envs\openmmlab\lib\site-packages\mmengine\registry\registry.py", line 570, in build
return self.build_func(cfg, *args, **kwargs, registry=self)
File "C:\Users\dmvns00007.conda\envs\openmmlab\lib\site-packages\mmengine\registry\build_functions.py", line 121, in build_from_cfg
obj = obj_cls(**args) # type: ignore
TypeError: init() got an unexpected keyword argument 'ann_file'

This is my config:

_base_ = './rtmdet_s_8xb32-300e_coco.py'

# Load pre-trained weights
load_from = r'Z:\\300_Minh_Anh\\train_rtmdet\\rtmdet_s_8xb32-300e_coco_20220905_161602-387a891e.pth'

# Data root directory
data_root = r'Z:\\300_Minh_Anh\\train_rtmdet\\voc_data'

# Custom dataset metadata
metainfo = {
    'classes': ('NG',),
    'palette': [(220, 20, 60)],
}


# Training pipeline
train_pipeline = [
    dict(type='LoadImageFromFile', backend_args={{_base_.backend_args}}),
    dict(type='LoadAnnotations', with_bbox=True),
    dict(type='Resize', scale=(1536, 1024), keep_ratio=True),
    dict(type='Pad', pad_to_square=True, pad_val=0),
    dict(type='Normalize', mean=[123.675, 116.28, 103.53], std=[58.395, 57.12, 57.375], to_rgb=False),
    dict(type='PackDetInputs')
]

# Validation pipeline
val_pipeline = [
    dict(type='LoadImageFromFile', backend_args={{_base_.backend_args}}),
    dict(type='LoadAnnotations', with_bbox=True),
    dict(type='Resize', scale=(1536, 1024), keep_ratio=True),
    dict(type='Pad', pad_to_square=True, pad_val=0),
    dict(type='Normalize', mean=[123.675, 116.28, 103.53], std=[58.395, 57.12, 57.375], to_rgb=False),
    dict(type='PackDetInputs')
]


# Data loaders
train_dataloader = dict(
    batch_size=2,
    num_workers=2,
    dataset=dict(
        type='VOCDataset',
        data_root=data_root,
        metainfo=metainfo,
        ann_file='ImageSets/train.txt',
        data_prefix=dict(img='JPEGImages/'),
        pipeline=train_pipeline,
        _delete_=True
    )
)

val_dataloader = dict(
    batch_size=2,
    num_workers=2,
    dataset=dict(
        type='VOCDataset',
        data_root=data_root,
        metainfo=metainfo,
        ann_file='ImageSets/dev.txt',
        data_prefix=dict(img='JPEGImages/'),
        pipeline=val_pipeline,
        _delete_=True
    )
)

test_dataloader = dict(
    batch_size=2,
    num_workers=2,
    dataset=dict(
        type='VOCDataset',
        data_root=data_root,
        metainfo=metainfo,
        ann_file='ImageSets/test.txt',
        data_prefix=dict(img='JPEGImages/'),
        _delete_=True
    )
)



# Model configuration
model = dict(
    bbox_head=dict(
        num_classes=1,
        init_cfg=dict(
            type='Pretrained',
            checkpoint=load_from,
            prefix='bbox_head',
            map_location='gpu',
            strict=False
        )
    ))

# Optimizer settings
optim_wrapper = dict(
    type='OptimWrapper',
    optimizer=dict(type='AdamW', lr=0.0001, weight_decay=0.0001)
)

# Learning rate scheduler
param_scheduler = [
    dict(type='LinearLR', start_factor=1.0e-5, by_epoch=False, begin=0, end=10),
    dict(type='CosineAnnealingLR', eta_min=0.0, begin=10, end=300, T_max=300, by_epoch=True),
]
# Validation evaluator
val_evaluator = dict(
    type='VOCMetric',
    ann_file=data_root + '/ImageSets/val.txt',
    metric='bbox',
    format_only=False,
    proposal_nums=(100, 1, 10),
    backend_args=None
)
# Training configuration
train_cfg = dict(type='EpochBasedTrainLoop', max_epochs=100, val_interval=1)

Please help me, thank you all

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants