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: MultiModalDataset.__init__() got an unexpected keyword argument '_delete_' #6

Open
whuyyc opened this issue Jan 10, 2025 · 2 comments

Comments

@whuyyc
Copy link

whuyyc commented Jan 10, 2025

我在自己数据集上训练Yolo-uniow,但报了标题的错误
我只是把configs/pretrain/yolo_uniow_s_lora_bn_5e-4_100e_8gpus_obj365v1_goldg_train_lvis_minival.py中原来的3个训练集(obj365v1,mg,flickr)改成了我自己的1个训练集(直接复制coco_val_dataset,修改了对应内容):
utr_train_dataset = dict(
delete=True,
type='MultiModalDataset',
dataset=dict(type='YOLOv5LVISV1Dataset',
data_root='data/utr6cls/',
test_mode=True,
ann_file='annotations/trainval.json',
data_prefix=dict(img=''),
batch_shapes_cfg=None),
class_text_path='data/texts/utr_class_texts.json',
pipeline=train_pipeline)

train_dataloader = dict(batch_size=train_batch_size_per_gpu,
collate_fn=dict(type='yolow_collate'),
dataset=dict(delete=True,
type='ConcatDataset',
datasets=[
utr_train_dataset
],
ignore_keys=['classes', 'palette']))
在运行tools/train.py时报错TypeError: MultiModalDataset.init() got an unexpected keyword argument 'delete'
当我将"delete"注释掉后,仍然报错,错误变为TypeError: MultiModalDataset.init() got an unexpected keyword argument 'data_root'
data_root不是YOLOv5LVISV1Dataset的参数吗,为什么这里会显示MultiModalDataset读取了data_root?
请问这该如何处理?

@leonnil
Copy link
Contributor

leonnil commented Jan 11, 2025

感谢您的关注。如果您只使用一个数据集,可以尝试保持utr_train_dataset内_delete_参数不变,将train_dataloader写为

train_dataloader = dict(batch_size=train_batch_size_per_gpu,
    collate_fn=dict(type='yolow_collate'),
    dataset=utr_train_dataset,

mmyolo的配置文件之间可能会存在继承关系,你可以通过work_dirs中的对应日志文件看看打印出来的解析后config内容是否被继承或覆盖,做进一步的问题分析,并在必要的地方使用_delete_消除这种关系,谢谢。

@whuyyc
Copy link
Author

whuyyc commented Jan 13, 2025

感谢您的关注。如果您只使用一个数据集,可以尝试保持utr_train_dataset内_delete_参数不变,将train_dataloader写为

train_dataloader = dict(batch_size=train_batch_size_per_gpu,
    collate_fn=dict(type='yolow_collate'),
    dataset=utr_train_dataset,

mmyolo的配置文件之间可能会存在继承关系,你可以通过work_dirs中的对应日志文件看看打印出来的解析后config内容是否被继承或覆盖,做进一步的问题分析,并在必要的地方使用_delete_消除这种关系,谢谢。

十分感谢!!!

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