detectron2: An object named ‘XXXX‘ was already registered in ‘META_ARCH‘ registry

根据该作者

https://blog.csdn.net/qq_20793791/article/details/107924375

所述的方法,我又想到了 看我的目录文件是否是 python package,突然发现虽然有 __init__.py 文件,但是文件夹logo不是,而是

随后重新生成为 package。

但是还是失败。

最终的问题是因为 在某些py文件里进行引用时的引用方式出了问题,要用相对引用,比如:

from .utils import XX
from ..package import XXX

如果使用

from project.packge.utils import XXXX

这种从 root 开始的引用。

detectron会两次 注册你所需要的 registry. 所以出现该错误。


在遇到这类问题时,首先思考是否 __init__.py 文件是否有问题,问题在于是否把需要导入的模块在该文件内通过 相对引用导入,例如

第二,根据pycharm下方错误指示,查看某些关键的py文件,看是否注册出现了两次(两次进入模块文件),为什么会进入两次,是哪里的引用导致又进去了,从而注释掉,然后再一一排错。

 

你可能感兴趣的:(pyhton学习,pycharm,ide,python)