open-mmlab / mmrazor

OpenMMLab Model Compression Toolbox and Benchmark.
https://mmrazor.readthedocs.io/en/latest/
Apache License 2.0
1.41k stars 220 forks source link

RTM Head #600

Open grpinto opened 8 months ago

grpinto commented 8 months ago

Why do I get this error when i try to run my own fisher prunning template :

Traceback (most recent call last): File "/content/mmrazor/mmpose/tools/train.py", line 162, in main() File "/content/mmrazor/mmpose/tools/train.py", line 155, in main runner = Runner.from_cfg(cfg) File "/usr/local/lib/python3.10/dist-packages/mmengine/runner/runner.py", line 462, in from_cfg runner = cls( File "/usr/local/lib/python3.10/dist-packages/mmengine/runner/runner.py", line 429, in init self.model = self.build_model(model) File "/usr/local/lib/python3.10/dist-packages/mmengine/runner/runner.py", line 836, in build_model model = MODELS.build(model) File "/usr/local/lib/python3.10/dist-packages/mmengine/registry/registry.py", line 570, in build return self.build_func(cfg, *args, kwargs, registry=self) File "/usr/local/lib/python3.10/dist-packages/mmengine/registry/build_functions.py", line 232, in build_model_from_cfg return build_from_cfg(cfg, registry, default_args) File "/usr/local/lib/python3.10/dist-packages/mmengine/registry/build_functions.py", line 121, in build_from_cfg obj = obj_cls(args) # type: ignore File "/content/mmrazor/mmrazor/implementations/pruning/group_fisher/algorithm.py", line 57, in init self.mutator.prepare_from_supernet(self.architecture) File "/content/mmrazor/mmrazor/models/mutators/channel_mutator/channel_mutator.py", line 113, in prepare_from_supernet units = self._prepare_from_tracer(supernet, self.parse_cfg) File "/content/mmrazor/mmrazor/models/mutators/channel_mutator/channel_mutator.py", line 311, in _prepare_from_tracer unit_configs = tracer.analyze(model) File "/content/mmrazor/mmrazor/models/task_modules/tracer/channel_analyzer.py", line 107, in analyze fx_graph = self._fx_trace(model) File "/content/mmrazor/mmrazor/models/task_modules/tracer/channel_analyzer.py", line 132, in _fx_trace args = self.demo_input.get_data(model) File "/content/mmrazor/mmrazor/models/task_modules/demo_inputs/demo_inputs.py", line 34, in get_data data = self._get_data(model, input_shape, training) File "/content/mmrazor/mmrazor/models/task_modules/demo_inputs/default_demo_inputs.py", line 108, in _get_data return defaul_demo_inputs(model, input_shape, training, self.scope) File "/content/mmrazor/mmrazor/models/task_modules/demo_inputs/default_demo_inputs.py", line 79, in defaul_demo_inputs return demo_input().get_data(model, input_shape, training) File "/content/mmrazor/mmrazor/models/task_modules/demo_inputs/demo_inputs.py", line 34, in get_data data = self._get_data(model, input_shape, training) File "/content/mmrazor/mmrazor/models/task_modules/demo_inputs/demo_inputs.py", line 57, in _get_data data = self._get_mm_data(model, input_shape, training) File "/content/mmrazor/mmrazor/models/task_modules/demo_inputs/demo_inputs.py", line 147, in _get_mm_data data = demo_mmpose_inputs(model, input_shape) File "/content/mmrazor/mmrazor/models/task_modules/demo_inputs/mmpose_demo_input.py", line 32, in demo_mmpose_inputs from mmpose.models.heads import RTMHead ImportError: cannot import name 'RTMHead' from 'mmpose.models.heads' (/content/mmrazor/mmpose/mmpose/models/heads/init.py)

Thank you fro the attention

LKJacky commented 8 months ago

Please show your versions of mmpose, mmrazor and so on. It seems you are using latest mmpose which may be not supported by mmrazor.

grpinto commented 8 months ago

The version of mmpose is 1.1.0 and teh version of mmrazor is the most recent one

Y-T-G commented 7 months ago

Same issue.

Y-T-G commented 7 months ago

Fixed by changing https://github.com/open-mmlab/mmrazor/blob/90c7af1fdf35a606a2fceaaeb4b6be2f0dac4eb7/mmrazor/models/task_modules/demo_inputs/mmpose_demo_input.py#L32 to from mmpose.models.heads import RTMCCHead as RTMHead