Unverified Commit b00d3dca authored by Ziyi Wu's avatar Ziyi Wu Committed by GitHub
Browse files

[Fix] Fix init_weight problem by reverting PR#495 and requiring mmdet<=2.11.0 (#501)

parent eead419a
...@@ -91,7 +91,7 @@ jobs: ...@@ -91,7 +91,7 @@ jobs:
- name: Install mmdet3d dependencies - name: Install mmdet3d dependencies
run: | run: |
pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu101/${{matrix.torch_version}}/index.html 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 pip install -r requirements.txt
- name: Build and install - name: Build and install
run: | run: |
......
...@@ -12,15 +12,15 @@ The required versions of MMCV and MMDetection for different versions of MMDetect ...@@ -12,15 +12,15 @@ The required versions of MMCV and MMDetection for different versions of MMDetect
| MMDetection3D version | MMDetection version | MMCV version | | MMDetection3D version | MMDetection version | MMCV version |
|:-------------------:|:-------------------:|:-------------------:| |:-------------------:|:-------------------:|:-------------------:|
| master | mmdet>=2.10.0 | mmcv-full>=1.3.2, <=1.4| | master | mmdet>=2.10.0, <=2.11.0| mmcv-full>=1.2.4, <=1.4|
| 0.12.0 | mmdet>=2.5.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 | 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 | 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 | 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 | mmcv-full>=1.1.5, <=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 | 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 | mmcv-full>=1.1.3, <=1.2| | 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| | 0.5.0 | 2.3.0 | mmcv-full==1.0.5|
# Installation # Installation
......
...@@ -16,7 +16,7 @@ def digit_version(version_str): ...@@ -16,7 +16,7 @@ def digit_version(version_str):
return digit_version return digit_version
mmcv_minimum_version = '1.3.2' mmcv_minimum_version = '1.2.4'
mmcv_maximum_version = '1.4.0' mmcv_maximum_version = '1.4.0'
mmcv_version = digit_version(mmcv.__version__) mmcv_version = digit_version(mmcv.__version__)
...@@ -27,7 +27,7 @@ assert (mmcv_version >= digit_version(mmcv_minimum_version) ...@@ -27,7 +27,7 @@ assert (mmcv_version >= digit_version(mmcv_minimum_version)
f'Please install mmcv>={mmcv_minimum_version}, <={mmcv_maximum_version}.' f'Please install mmcv>={mmcv_minimum_version}, <={mmcv_maximum_version}.'
mmdet_minimum_version = '2.10.0' mmdet_minimum_version = '2.10.0'
mmdet_maximum_version = '3.0.0' mmdet_maximum_version = '2.11.0'
mmdet_version = digit_version(mmdet.__version__) mmdet_version = digit_version(mmdet.__version__)
assert (mmdet_version >= digit_version(mmdet_minimum_version) assert (mmdet_version >= digit_version(mmdet_minimum_version)
and mmdet_version <= digit_version(mmdet_maximum_version)), \ and mmdet_version <= digit_version(mmdet_maximum_version)), \
......
import warnings import warnings
from mmcv.cnn import MODELS as MMCV_MODELS
from mmcv.utils import Registry from mmcv.utils import Registry
from mmdet.models.builder import (BACKBONES, DETECTORS, HEADS, LOSSES, NECKS, 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 = Registry('voxel_encoder')
MIDDLE_ENCODERS = Registry('middle_encoder')
VOXEL_ENCODERS = MODELS FUSION_LAYERS = Registry('fusion_layer')
MIDDLE_ENCODERS = MODELS
FUSION_LAYERS = MODELS
def build_backbone(cfg): def build_backbone(cfg):
"""Build backbone.""" """Build backbone."""
return BACKBONES.build(cfg) return build(cfg, BACKBONES)
def build_neck(cfg): def build_neck(cfg):
"""Build neck.""" """Build neck."""
return NECKS.build(cfg) return build(cfg, NECKS)
def build_roi_extractor(cfg): def build_roi_extractor(cfg):
"""Build RoI feature extractor.""" """Build RoI feature extractor."""
return ROI_EXTRACTORS.build(cfg) return build(cfg, ROI_EXTRACTORS)
def build_shared_head(cfg): def build_shared_head(cfg):
"""Build shared head of detector.""" """Build shared head of detector."""
return SHARED_HEADS.build(cfg) return build(cfg, SHARED_HEADS)
def build_head(cfg): def build_head(cfg):
"""Build head.""" """Build head."""
return HEADS.build(cfg) return build(cfg, HEADS)
def build_loss(cfg): def build_loss(cfg):
"""Build loss function.""" """Build loss function."""
return LOSSES.build(cfg) return build(cfg, LOSSES)
def build_detector(cfg, train_cfg=None, test_cfg=None): def build_detector(cfg, train_cfg=None, test_cfg=None):
...@@ -52,20 +49,19 @@ 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 ' 'train_cfg specified in both outer field and model field '
assert cfg.get('test_cfg') is None or test_cfg is None, \ assert cfg.get('test_cfg') is None or test_cfg is None, \
'test_cfg specified in both outer field and model field ' 'test_cfg specified in both outer field and model field '
return DETECTORS.build( return build(cfg, DETECTORS, dict(train_cfg=train_cfg, test_cfg=test_cfg))
cfg, default_args=dict(train_cfg=train_cfg, test_cfg=test_cfg))
def build_voxel_encoder(cfg): def build_voxel_encoder(cfg):
"""Build voxel encoder.""" """Build voxel encoder."""
return VOXEL_ENCODERS.build(cfg) return build(cfg, VOXEL_ENCODERS)
def build_middle_encoder(cfg): def build_middle_encoder(cfg):
"""Build middle level encoder.""" """Build middle level encoder."""
return MIDDLE_ENCODERS.build(cfg) return build(cfg, MIDDLE_ENCODERS)
def build_fusion_layer(cfg): def build_fusion_layer(cfg):
"""Build fusion layer.""" """Build fusion layer."""
return FUSION_LAYERS.build(cfg) return build(cfg, FUSION_LAYERS)
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment