TypeError: class `SingleStageDetector` in mmdet/models/detectors/single_stage.py: __init__() got an unexpected keyword argument 'pretrained'
时间: 2023-12-07 12:06:11 浏览: 124
这个错误是由于在 `SingleStageDetector` 类的构造函数中传入了一个非预期的关键字参数 `pretrained` 导致的。可能是因为在调用该类时错误地传入了 `pretrained` 参数。
请确保在调用 `SingleStageDetector` 类时没有传入 `pretrained` 参数,或者检查 `SingleStageDetector` 类的定义,确保构造函数接受 `pretrained` 参数。
相关问题
TypeError: class `CocoDataset` in mmdet/datasets/coco.py: __init__() got an unexpected keyword argument 'backend_args'
这个错误通常是因为使用了不兼容的 mmdetection 版本导致的。新版本中可能添加或删除了一些参数,而旧版本的代码使用了这些参数,就会出现这个错误。
解决这个问题的方法是,检查你的 mmdetection 版本是否与代码中使用的版本匹配。你可以查看代码中的 requirements.txt 文件,或者通过命令行运行以下命令来查看版本信息:
```
pip show mmdet
```
如果你的版本不匹配,可以升级或降级 mmdetection,或者修改代码以适应当前版本。
Traceback (most recent call last): File "mmskl.py", line 7, in <module> import mmskeleton File "/home/zrb/mmskeleton/mmskeleton/__init__.py", line 1, in <module> from . import utils File "/home/zrb/mmskeleton/mmskeleton/utils/__init__.py", line 1, in <module> from . import third_party File "/home/zrb/mmskeleton/mmskeleton/utils/third_party.py", line 7, in <module> lazy_import.lazy_module("mmdet.apis") File "/home/zrb/anaconda3/envs/open-mmlab/lib/python3.7/site-packages/lazy_import/__init__.py", line 302, in lazy_module mod = _lazy_module(modname, error_strings, lazy_mod_class) File "/home/zrb/anaconda3/envs/open-mmlab/lib/python3.7/site-packages/lazy_import/__init__.py", line 351, in _lazy_module super(LazyModule, mod).__setattr__(submodname, submod) TypeError: super(type, obj): obj must be an instance or subtype of type
根据你提供的错误信息,看起来是在导入mmskeleton模块时出现了错误。具体来说,代码中在`mmskeleton/utils/third_party.py`文件中使用了`lazy_import.lazy_module("mmdet.apis")`语句来导入模块,但导入过程中发生了`TypeError`异常。
要解决这个问题,你可以尝试以下几个步骤:
1. 确保你已经正确地安装了mmskeleton和相关依赖。你可以使用`pip`命令来安装或更新这些依赖项。
2. 检查代码中的导入语句是否正确。确保导入的模块名称和路径都是正确的,并且可以在系统中找到。
3. 检查相关模块的版本兼容性。有时,不同版本的模块之间可能存在兼容性问题。确保你使用的所有模块版本是兼容的。
如果以上步骤都正确无误,但问题仍未解决,建议你查阅相关文档或寻求更深入的技术支持来解决问题。
阅读全文