From b00d3dcaa2612d92d423f45edd34e158b34ee1d2 Mon Sep 17 00:00:00 2001 From: Ziyi Wu Date: Wed, 28 Apr 2021 22:02:06 +0800 Subject: [PATCH] [Fix] Fix init_weight problem by reverting PR#495 and requiring mmdet<=2.11.0 (#501) --- .github/workflows/build.yml | 2 +- docs/getting_started.md | 18 +++++++++--------- mmdet3d/__init__.py | 4 ++-- mmdet3d/models/builder.py | 32 ++++++++++++++------------------ 4 files changed, 26 insertions(+), 30 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f3be2b2372..b9232382c9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -91,7 +91,7 @@ jobs: - name: Install mmdet3d dependencies run: | pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu101/${{matrix.torch_version}}/index.html - pip install -q git+https://github.com/open-mmlab/mmdetection.git + pip install mmdet==2.11.0 pip install -r requirements.txt - name: Build and install run: | diff --git a/docs/getting_started.md b/docs/getting_started.md index 1afd6c0b59..e8d46cd697 100644 --- a/docs/getting_started.md +++ b/docs/getting_started.md @@ -12,15 +12,15 @@ The required versions of MMCV and MMDetection for different versions of MMDetect | MMDetection3D version | MMDetection version | MMCV version | |:-------------------:|:-------------------:|:-------------------:| -| master | mmdet>=2.10.0 | mmcv-full>=1.3.2, <=1.4| -| 0.12.0 | mmdet>=2.5.0 | mmcv-full>=1.2.4, <=1.4| -| 0.11.0 | mmdet>=2.5.0 | mmcv-full>=1.2.4, <=1.4| -| 0.10.0 | mmdet>=2.5.0 | mmcv-full>=1.2.4, <=1.4| -| 0.9.0 | mmdet>=2.5.0 | mmcv-full>=1.2.4, <=1.4| -| 0.8.0 | mmdet>=2.5.0 | mmcv-full>=1.1.5, <=1.4| -| 0.7.0 | mmdet>=2.5.0 | mmcv-full>=1.1.5, <=1.4| -| 0.6.0 | mmdet>=2.4.0 | mmcv-full>=1.1.3, <=1.2| -| 0.5.0 | 2.3.0 | mmcv-full==1.0.5| +| master | mmdet>=2.10.0, <=2.11.0| mmcv-full>=1.2.4, <=1.4| +| 0.12.0 | mmdet>=2.5.0, <=2.11.0 | mmcv-full>=1.2.4, <=1.4| +| 0.11.0 | mmdet>=2.5.0, <=2.11.0 | mmcv-full>=1.2.4, <=1.4| +| 0.10.0 | mmdet>=2.5.0, <=2.11.0 | mmcv-full>=1.2.4, <=1.4| +| 0.9.0 | mmdet>=2.5.0, <=2.11.0 | mmcv-full>=1.2.4, <=1.4| +| 0.8.0 | mmdet>=2.5.0, <=2.11.0 | mmcv-full>=1.1.5, <=1.4| +| 0.7.0 | mmdet>=2.5.0, <=2.11.0 | mmcv-full>=1.1.5, <=1.4| +| 0.6.0 | mmdet>=2.4.0, <=2.11.0 | mmcv-full>=1.1.3, <=1.2| +| 0.5.0 | 2.3.0 | mmcv-full==1.0.5| # Installation diff --git a/mmdet3d/__init__.py b/mmdet3d/__init__.py index 484770cdc7..3cfff452f9 100644 --- a/mmdet3d/__init__.py +++ b/mmdet3d/__init__.py @@ -16,7 +16,7 @@ def digit_version(version_str): return digit_version -mmcv_minimum_version = '1.3.2' +mmcv_minimum_version = '1.2.4' mmcv_maximum_version = '1.4.0' mmcv_version = digit_version(mmcv.__version__) @@ -27,7 +27,7 @@ def digit_version(version_str): f'Please install mmcv>={mmcv_minimum_version}, <={mmcv_maximum_version}.' mmdet_minimum_version = '2.10.0' -mmdet_maximum_version = '3.0.0' +mmdet_maximum_version = '2.11.0' mmdet_version = digit_version(mmdet.__version__) assert (mmdet_version >= digit_version(mmdet_minimum_version) and mmdet_version <= digit_version(mmdet_maximum_version)), \ diff --git a/mmdet3d/models/builder.py b/mmdet3d/models/builder.py index e9f73ec285..bba658a674 100644 --- a/mmdet3d/models/builder.py +++ b/mmdet3d/models/builder.py @@ -1,45 +1,42 @@ import warnings -from mmcv.cnn import MODELS as MMCV_MODELS from mmcv.utils import Registry from mmdet.models.builder import (BACKBONES, DETECTORS, HEADS, LOSSES, NECKS, - ROI_EXTRACTORS, SHARED_HEADS) + ROI_EXTRACTORS, SHARED_HEADS, build) -MODELS = Registry('models', parent=MMCV_MODELS) - -VOXEL_ENCODERS = MODELS -MIDDLE_ENCODERS = MODELS -FUSION_LAYERS = MODELS +VOXEL_ENCODERS = Registry('voxel_encoder') +MIDDLE_ENCODERS = Registry('middle_encoder') +FUSION_LAYERS = Registry('fusion_layer') def build_backbone(cfg): """Build backbone.""" - return BACKBONES.build(cfg) + return build(cfg, BACKBONES) def build_neck(cfg): """Build neck.""" - return NECKS.build(cfg) + return build(cfg, NECKS) def build_roi_extractor(cfg): """Build RoI feature extractor.""" - return ROI_EXTRACTORS.build(cfg) + return build(cfg, ROI_EXTRACTORS) def build_shared_head(cfg): """Build shared head of detector.""" - return SHARED_HEADS.build(cfg) + return build(cfg, SHARED_HEADS) def build_head(cfg): """Build head.""" - return HEADS.build(cfg) + return build(cfg, HEADS) def build_loss(cfg): """Build loss function.""" - return LOSSES.build(cfg) + return build(cfg, LOSSES) def build_detector(cfg, train_cfg=None, test_cfg=None): @@ -52,20 +49,19 @@ def build_detector(cfg, train_cfg=None, test_cfg=None): 'train_cfg specified in both outer field and model field ' assert cfg.get('test_cfg') is None or test_cfg is None, \ 'test_cfg specified in both outer field and model field ' - return DETECTORS.build( - cfg, default_args=dict(train_cfg=train_cfg, test_cfg=test_cfg)) + return build(cfg, DETECTORS, dict(train_cfg=train_cfg, test_cfg=test_cfg)) def build_voxel_encoder(cfg): """Build voxel encoder.""" - return VOXEL_ENCODERS.build(cfg) + return build(cfg, VOXEL_ENCODERS) def build_middle_encoder(cfg): """Build middle level encoder.""" - return MIDDLE_ENCODERS.build(cfg) + return build(cfg, MIDDLE_ENCODERS) def build_fusion_layer(cfg): """Build fusion layer.""" - return FUSION_LAYERS.build(cfg) + return build(cfg, FUSION_LAYERS)