open-mmlab / mmdetection

OpenMMLab Detection Toolbox and Benchmark
https://mmdetection.readthedocs.io
Apache License 2.0
28.5k stars 9.28k forks source link

[mmdet installation] ModuleNotFoundError: No module named 'mmcv._ext' #10619

Open SandeepMenonKodiak opened 11 months ago

SandeepMenonKodiak commented 11 months ago

I installed the following packages I am using python 3.8 and cuda 11.7. Installing using a requirements file

mmcv == 1.4.0
mmcv-full == 1.4.0
mmdet == 2.20.0

Then when I run

from mmdet.core import DistEvalHook

I get the trace

Traceback (most recent call last):
  File "/home/s.menon/.cache/bazel/_bazel_s.menon/45be10fcfdc1ffc6fc5ee66d3fa7c88a/execroot/vehicle/bazel-out/main_compute-opt/bin/source/offboard/ml/third_party/bevfusion/test_dataloader.runfiles/vehicle/source/offboard/ml/third_party/bevfusion/tools/test_dataloader.py", line 11, in <module>
    from mmdet.core import DistEvalHook
  File "/home/s.menon/.cache/bazel/_bazel_s.menon/45be10fcfdc1ffc6fc5ee66d3fa7c88a/execroot/vehicle/bazel-out/main_compute-opt/bin/source/offboard/ml/third_party/bevfusion/test_dataloader.runfiles/offboard_python_analysis_mmdet/site-packages/mmdet/core/__init__.py", line 3, in <module>
    from .bbox import *  # noqa: F401, F403
  File "/home/s.menon/.cache/bazel/_bazel_s.menon/45be10fcfdc1ffc6fc5ee66d3fa7c88a/execroot/vehicle/bazel-out/main_compute-opt/bin/source/offboard/ml/third_party/bevfusion/test_dataloader.runfiles/offboard_python_analysis_mmdet/site-packages/mmdet/core/bbox/__init__.py", line 8, in <module>
    from .samplers import (BaseSampler, CombinedSampler,
  File "/home/s.menon/.cache/bazel/_bazel_s.menon/45be10fcfdc1ffc6fc5ee66d3fa7c88a/execroot/vehicle/bazel-out/main_compute-opt/bin/source/offboard/ml/third_party/bevfusion/test_dataloader.runfiles/offboard_python_analysis_mmdet/site-packages/mmdet/core/bbox/samplers/__init__.py", line 10, in <module>
    from .score_hlr_sampler import ScoreHLRSampler
  File "/home/s.menon/.cache/bazel/_bazel_s.menon/45be10fcfdc1ffc6fc5ee66d3fa7c88a/execroot/vehicle/bazel-out/main_compute-opt/bin/source/offboard/ml/third_party/bevfusion/test_dataloader.runfiles/offboard_python_analysis_mmdet/site-packages/mmdet/core/bbox/samplers/score_hlr_sampler.py", line 3, in <module>
    from mmcv.ops import nms_match
  File "/home/s.menon/.cache/bazel/_bazel_s.menon/45be10fcfdc1ffc6fc5ee66d3fa7c88a/execroot/vehicle/bazel-out/main_compute-opt/bin/source/offboard/ml/third_party/bevfusion/test_dataloader.runfiles/offboard_python_analysis_mmcv/site-packages/mmcv/ops/__init__.py", line 2, in <module>
    from .assign_score_withk import assign_score_withk
  File "/home/s.menon/.cache/bazel/_bazel_s.menon/45be10fcfdc1ffc6fc5ee66d3fa7c88a/execroot/vehicle/bazel-out/main_compute-opt/bin/source/offboard/ml/third_party/bevfusion/test_dataloader.runfiles/offboard_python_analysis_mmcv/site-packages/mmcv/ops/assign_score_withk.py", line 5, in <module>
    ext_module = ext_loader.load_ext(
  File "/home/s.menon/.cache/bazel/_bazel_s.menon/45be10fcfdc1ffc6fc5ee66d3fa7c88a/execroot/vehicle/bazel-out/main_compute-opt/bin/source/offboard/ml/third_party/bevfusion/test_dataloader.runfiles/offboard_python_analysis_mmcv/site-packages/mmcv/utils/ext_loader.py", line 13, in load_ext
    ext = importlib.import_module('mmcv.' + name)
  File "/home/s.menon/.cache/bazel/_bazel_s.menon/45be10fcfdc1ffc6fc5ee66d3fa7c88a/external/python3_8_x86_64-unknown-linux-gnu/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
ModuleNotFoundError: No module named 'mmcv._ext'

When I print the torch configurations I have

torch == 1.13.1+cu117
Younger330 commented 11 months ago

I have the same question with smiliar version, have you solve this problem?

hejianzhong commented 3 months ago

I also met the problem like yours when I runned python demo/image_demo.py demo/demo.jpg rtmdet_tiny_8xb32-300e_coco.py --weights rtmdet_tiny_8xb32-300e_coco_20220902_112414-78e30dcc.pth --device cpu.

occured:

  File "demo/image_demo.py", line 63, in <module>
    from mmdet.apis import DetInferencer
  File "/data/mmdetection/mmdet/apis/__init__.py", line 2, in <module>
    from .det_inferencer import DetInferencer
  File "/data/mmdetection/mmdet/apis/det_inferencer.py", line 22, in <module>
    from mmdet.evaluation import INSTANCE_OFFSET
  File "/data/mmdetection/mmdet/evaluation/__init__.py", line 4, in <module>
    from .metrics import *  # noqa: F401,F403
  File "/data/mmdetection/mmdet/evaluation/metrics/__init__.py", line 5, in <module>
    from .coco_metric import CocoMetric
  File "/data/mmdetection/mmdet/evaluation/metrics/coco_metric.py", line 16, in <module>
    from mmdet.datasets.api_wrappers import COCO, COCOeval, COCOevalMP
  File "/data/mmdetection/mmdet/datasets/__init__.py", line 31, in <module>
    from .utils import get_loading_pipeline
  File "/data/mmdetection/mmdet/datasets/utils.py", line 5, in <module>
    from mmdet.datasets.transforms import LoadAnnotations, LoadPanopticAnnotations
  File "/data/mmdetection/mmdet/datasets/transforms/__init__.py", line 6, in <module>
    from .formatting import (ImageToTensor, PackDetInputs, PackReIDInputs,
  File "/data/mmdetection/mmdet/datasets/transforms/formatting.py", line 11, in <module>
    from mmdet.structures.bbox import BaseBoxes
  File "/data/mmdetection/mmdet/structures/bbox/__init__.py", line 2, in <module>
    from .base_boxes import BaseBoxes
  File "/data/mmdetection/mmdet/structures/bbox/base_boxes.py", line 9, in <module>
    from mmdet.structures.mask.structures import BitmapMasks, PolygonMasks
  File "/data/mmdetection/mmdet/structures/mask/__init__.py", line 3, in <module>
    from .structures import (BaseInstanceMasks, BitmapMasks, PolygonMasks,
  File "/data/mmdetection/mmdet/structures/mask/structures.py", line 12, in <module>
    from mmcv.ops.roi_align import roi_align
  File "/root/anaconda3/envs/env/lib/python3.8/site-packages/mmcv/ops/__init__.py", line 3, in <module>
    from .active_rotated_filter import active_rotated_filter
  File "/root/anaconda3/envs/env/lib/python3.8/site-packages/mmcv/ops/active_rotated_filter.py", line 10, in <module>
    ext_module = ext_loader.load_ext(
  File "/root/anaconda3/envs/env/lib/python3.8/site-packages/mmcv/utils/ext_loader.py", line 13, in load_ext
    ext = importlib.import_module('mmcv.' + name)
  File "/root/anaconda3/envs/env/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
ModuleNotFoundError: No module named 'mmcv._ext'