open-mmlab / mmfewshot

OpenMMLab FewShot Learning Toolbox and Benchmark
https://mmfewshot.readthedocs.io/en/latest/
Apache License 2.0
695 stars 117 forks source link

Why I run mpsr base training with voc come this ‘TypeError: __init__() got an unexpected keyword argument 'persistent_workers' ’ problem? #109

Open JeremyWangK opened 2 years ago

JeremyWangK commented 2 years ago

Traceback (most recent call last): File ".\tools\detection\train.py", line 236, in main() File ".\tools\detection\train.py", line 232, in main meta=meta) File "H:\anaconda3\envs\mmfew\lib\site-packages\mmfewshot-0.1.0-py3.7.egg\mmfewshot\detection\apis\train.py", line 48, in train_detector data_loaders = [build_dataloader(ds, train_loader_cfg) for ds in dataset] File "H:\anaconda3\envs\mmfew\lib\site-packages\mmfewshot-0.1.0-py3.7.egg\mmfewshot\detection\apis\train.py", line 48, in data_loaders = [build_dataloader(ds, train_loader_cfg) for ds in dataset] File "H:\anaconda3\envs\mmfew\lib\site-packages\mmfewshot-0.1.0-py3.7.egg\mmfewshot\detection\datasets\builder.py", line 314, in build_dataloader **kwargs) TypeError: init() got an unexpected keyword argument 'persistent_workers'

Please help me.

guanlaoshi commented 1 year ago

Traceback (most recent call last): File ".\tools\detection\train.py", line 236, in main() File ".\tools\detection\train.py", line 232, in main meta=meta) File "H:\anaconda3\envs\mmfew\lib\site-packages\mmfewshot-0.1.0-py3.7.egg\mmfewshot\detection\apis\train.py", line 48, in train_detector data_loaders = [build_dataloader(ds, train_loader_cfg) for ds in dataset] File "H:\anaconda3\envs\mmfew\lib\site-packages\mmfewshot-0.1.0-py3.7.egg\mmfewshot\detection\apis\train.py", line 48, in data_loaders = [build_dataloader(ds, train_loader_cfg) for ds in dataset] File "H:\anaconda3\envs\mmfew\lib\site-packages\mmfewshot-0.1.0-py3.7.egg\mmfewshot\detection\datasets\builder.py", line 314, in build_dataloader kwargs) TypeError: init**() got an unexpected keyword argument 'persistent_workers'

Please help me. 可以在mmfewshot/detection/datasets/builder.py 第314行左右添加如下代码:

# wrap two dataloaders with dataloader wrapper
#----------20230321添加以下
#由于会出现TypeError: __init__() got an unexpected keyword argument 'persistent_workers'
#所以在这删掉persistent_workers关键对
del kwargs['persistent_workers']
# ----------20230321添加以上
data_loader = TwoBranchDataloader(
main_data_loader=main_data_loader,
auxiliary_data_loader=auxiliary_data_loader,
**kwargs)