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

How to Utilize the Two-Stage Deformable DETR(如何使用二阶段DeformableDETR) #11671

Open
taiwuyouxu opened this issue Apr 27, 2024 · 0 comments
Assignees

Comments

@taiwuyouxu
Copy link

After using Mask2FormerTransformerEncoder to obtain the feature memory extracted by the transformer encoder, where Mask2FormerTransformerEncoder inherits from DeformableDetrTransformerEncoder, I intend to further process the memory to serve as prior knowledge for the query, similar to the two-stage approach of DeformableDETR. However, I am unsure about how to proceed with the next steps. Currently, I am attempting to directly inherit the gen_encoder_output_proposals method from DeformableDETR, but this results in an error.

(我在使用了Mask2FormerTransformerEncoder得到由transformer encoder提取的特征memory后,其中Mask2FormerTransformerEncoder继承了DeformableDetrTransformerEncoder。我想将memory进一步处理,类似二阶段的DeformableDETR一样,作为先验知识给query,但是不知道怎么下一步操作。我目前的操作是直接继承DeformableDETR的gen_encoder_output_proposals方法,但是会报错:)

ImportError (note: full exception trace is shown but execution is paused at: _run_module_as_main)
cannot import name 'ConditionalDetrTransformerDecoder' from partially initialized module 'mmdet.models.layers' (most likely due to a circular import) (/home/dpr/mmdetection/mmdet/models/layers/init.py)
File "/home/dpr/mmdetection/mmdet/models/detectors/conditional_detr.py", line 8, in
from ..layers import (ConditionalDetrTransformerDecoder,
File "/home/dpr/mmdetection/mmdet/models/detectors/init.py", line 10, in
from .conditional_detr import ConditionalDETR
File "/home/dpr/mmdetection/mmdet/models/layers/msdeformattn_pixel_decoder.py", line 19, in
from ..detectors.deformable_detr import DeformableDETR
File "/home/dpr/mmdetection/mmdet/models/layers/init.py", line 12, in
from .msdeformattn_pixel_decoder import MSDeformAttnPixelDecoder
File "/home/dpr/mmdetection/mmdet/models/backbones/csp_darknet.py", line 11, in
from ..layers import CSPLayer
File "/home/dpr/mmdetection/mmdet/models/backbones/init.py", line 2, in
from .csp_darknet import CSPDarknet
File "/home/dpr/mmdetection/mmdet/models/init.py", line 2, in
from .backbones import * # noqa: F401,F403
File "/home/dpr/.conda/envs/maskformer4/lib/python3.8/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "/home/dpr/.conda/envs/maskformer4/lib/python3.8/site-packages/mmengine/registry/registry.py", line 376, in import_from_location
import_module(loc)
File "/home/dpr/.conda/envs/maskformer4/lib/python3.8/site-packages/mmengine/registry/registry.py", line 451, in get
self.import_from_location()
File "/home/dpr/.conda/envs/maskformer4/lib/python3.8/site-packages/mmengine/registry/build_functions.py", line 98, in build_from_cfg
obj_cls = registry.get(obj_type)
File "/home/dpr/.conda/envs/maskformer4/lib/python3.8/site-packages/mmengine/registry/build_functions.py", line 232, in build_model_from_cfg
return build_from_cfg(cfg, registry, default_args)
File "/home/dpr/.conda/envs/maskformer4/lib/python3.8/site-packages/mmengine/registry/registry.py", line 570, in build
return self.build_func(cfg, *args, **kwargs, registry=self)
File "/home/dpr/.conda/envs/maskformer4/lib/python3.8/site-packages/mmengine/runner/runner.py", line 836, in build_model
model = MODELS.build(model)
File "/home/dpr/.conda/envs/maskformer4/lib/python3.8/site-packages/mmengine/runner/runner.py", line 429, in init
self.model = self.build_model(model)
File "/home/dpr/.conda/envs/maskformer4/lib/python3.8/site-packages/mmengine/runner/runner.py", line 462, in from_cfg
runner = cls(
File "/home/dpr/mmdetection/tools/train.py", line 110, in main
runner = Runner.from_cfg(cfg)
File "/home/dpr/mmdetection/tools/train.py", line 121, in
main()
File "/home/dpr/.conda/envs/maskformer4/lib/python3.8/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/home/dpr/.conda/envs/maskformer4/lib/python3.8/runpy.py", line 194, in _run_module_as_main (Current frame)
return _run_code(code, main_globals, None,
ImportError: cannot import name 'ConditionalDetrTransformerDecoder' from partially initialized module 'mmdet.models.layers' (most likely due to a circular import) (/home/dpr/mmdetection/mmdet/models/layers/init.py)

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