Unverified Commit 4f88f1a5 authored by VVsssssk's avatar VVsssssk Committed by GitHub
Browse files

[Fix] replace mmcv's function and modules imported with mmengine's and sync...

[Fix] replace mmcv's function and modules imported with mmengine's and sync the latest mmengine (#1765)

* replace mmcv to mmengine

* fix

* fix comments
parent 0e157c31
...@@ -2,7 +2,10 @@ ...@@ -2,7 +2,10 @@
import numba import numba
import numpy as np import numpy as np
from mmdet3d.registry import MODELS
@MODELS.register_module()
class VoxelGenerator(object): class VoxelGenerator(object):
"""Voxel generator in numpy implementation. """Voxel generator in numpy implementation.
......
...@@ -2,7 +2,6 @@ ...@@ -2,7 +2,6 @@
import torch import torch
from mmcv.cnn import build_norm_layer from mmcv.cnn import build_norm_layer
from mmcv.ops import DynamicScatter from mmcv.ops import DynamicScatter
from mmcv.runner import force_fp32
from torch import nn from torch import nn
from mmdet3d.registry import MODELS from mmdet3d.registry import MODELS
...@@ -90,7 +89,6 @@ class PillarFeatureNet(nn.Module): ...@@ -90,7 +89,6 @@ class PillarFeatureNet(nn.Module):
self.z_offset = self.vz / 2 + point_cloud_range[2] self.z_offset = self.vz / 2 + point_cloud_range[2]
self.point_cloud_range = point_cloud_range self.point_cloud_range = point_cloud_range
@force_fp32(out_fp16=True)
def forward(self, features, num_points, coors, *args, **kwargs): def forward(self, features, num_points, coors, *args, **kwargs):
"""Forward function. """Forward function.
...@@ -272,7 +270,6 @@ class DynamicPillarFeatureNet(PillarFeatureNet): ...@@ -272,7 +270,6 @@ class DynamicPillarFeatureNet(PillarFeatureNet):
center_per_point = canvas[:, voxel_index.long()].t() center_per_point = canvas[:, voxel_index.long()].t()
return center_per_point return center_per_point
@force_fp32(out_fp16=True)
def forward(self, features, coors): def forward(self, features, coors):
"""Forward function. """Forward function.
......
# Copyright (c) OpenMMLab. All rights reserved. # Copyright (c) OpenMMLab. All rights reserved.
import torch import torch
from mmcv.cnn import build_norm_layer from mmcv.cnn import build_norm_layer
from mmcv.runner import auto_fp16
from torch import nn from torch import nn
from torch.nn import functional as F from torch.nn import functional as F
...@@ -61,7 +60,6 @@ class VFELayer(nn.Module): ...@@ -61,7 +60,6 @@ class VFELayer(nn.Module):
self.norm = build_norm_layer(norm_cfg, out_channels)[1] self.norm = build_norm_layer(norm_cfg, out_channels)[1]
self.linear = nn.Linear(in_channels, out_channels, bias=False) self.linear = nn.Linear(in_channels, out_channels, bias=False)
@auto_fp16(apply_to=('inputs'), out_fp32=True)
def forward(self, inputs): def forward(self, inputs):
"""Forward function. """Forward function.
...@@ -142,7 +140,6 @@ class PFNLayer(nn.Module): ...@@ -142,7 +140,6 @@ class PFNLayer(nn.Module):
assert mode in ['max', 'avg'] assert mode in ['max', 'avg']
self.mode = mode self.mode = mode
@auto_fp16(apply_to=('inputs'), out_fp32=True)
def forward(self, inputs, num_voxels=None, aligned_distance=None): def forward(self, inputs, num_voxels=None, aligned_distance=None):
"""Forward function. """Forward function.
......
...@@ -2,7 +2,6 @@ ...@@ -2,7 +2,6 @@
import torch import torch
from mmcv.cnn import build_norm_layer from mmcv.cnn import build_norm_layer
from mmcv.ops import DynamicScatter from mmcv.ops import DynamicScatter
from mmcv.runner import force_fp32
from torch import Tensor, nn from torch import Tensor, nn
from mmdet3d.registry import MODELS from mmdet3d.registry import MODELS
...@@ -25,7 +24,6 @@ class HardSimpleVFE(nn.Module): ...@@ -25,7 +24,6 @@ class HardSimpleVFE(nn.Module):
self.num_features = num_features self.num_features = num_features
self.fp16_enabled = False self.fp16_enabled = False
@force_fp32(out_fp16=True)
def forward(self, features: Tensor, num_points: Tensor, coors: Tensor, def forward(self, features: Tensor, num_points: Tensor, coors: Tensor,
*args, **kwargs) -> Tensor: *args, **kwargs) -> Tensor:
"""Forward function. """Forward function.
...@@ -66,7 +64,6 @@ class DynamicSimpleVFE(nn.Module): ...@@ -66,7 +64,6 @@ class DynamicSimpleVFE(nn.Module):
self.fp16_enabled = False self.fp16_enabled = False
@torch.no_grad() @torch.no_grad()
@force_fp32(out_fp16=True)
def forward(self, features, coors, *args, **kwargs): def forward(self, features, coors, *args, **kwargs):
"""Forward function. """Forward function.
...@@ -386,7 +383,6 @@ class HardVFE(nn.Module): ...@@ -386,7 +383,6 @@ class HardVFE(nn.Module):
if fusion_layer is not None: if fusion_layer is not None:
self.fusion_layer = builder.build_fusion_layer(fusion_layer) self.fusion_layer = builder.build_fusion_layer(fusion_layer)
@force_fp32(out_fp16=True)
def forward(self, def forward(self,
features, features,
num_points, num_points,
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
from typing import Dict, List, Optional, Tuple, Union from typing import Dict, List, Optional, Tuple, Union
import torch import torch
from mmengine.data import InstanceData from mmengine.structures import InstanceData
from mmdet.structures import DetDataSample from mmdet.structures import DetDataSample
from .point_data import PointData from .point_data import PointData
...@@ -55,7 +55,7 @@ class Det3DDataSample(DetDataSample): ...@@ -55,7 +55,7 @@ class Det3DDataSample(DetDataSample):
evaluator and do the online evaluation. evaluator and do the online evaluation.
Examples: Examples:
>>> from mmengine.data import InstanceData >>> from mmengine.structures import InstanceData
>>> from mmdet3d.structures import Det3DDataSample >>> from mmdet3d.structures import Det3DDataSample
>>> from mmdet3d.structures import BaseInstance3DBoxes >>> from mmdet3d.structures import BaseInstance3DBoxes
......
...@@ -4,7 +4,7 @@ from typing import Union ...@@ -4,7 +4,7 @@ from typing import Union
import numpy as np import numpy as np
import torch import torch
from mmengine.data import BaseDataElement from mmengine.structures import BaseDataElement
IndexType = Union[str, slice, int, list, torch.LongTensor, IndexType = Union[str, slice, int, list, torch.LongTensor,
torch.cuda.LongTensor, torch.BoolTensor, torch.cuda.LongTensor, torch.BoolTensor,
......
# Copyright (c) OpenMMLab. All rights reserved. # Copyright (c) OpenMMLab. All rights reserved.
from mmcv.utils import collect_env as collect_base_env from mmengine.utils import get_git_hash
from mmcv.utils import get_git_hash from mmengine.utils.dl_utils import collect_env as collect_base_env
import mmdet import mmdet
import mmdet3d import mmdet3d
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
import copy import copy
import warnings import warnings
from mmcv import ConfigDict from mmengine import ConfigDict
def compat_cfg(cfg): def compat_cfg(cfg):
......
...@@ -3,9 +3,9 @@ ...@@ -3,9 +3,9 @@
from typing import List, Optional, Union from typing import List, Optional, Union
from mmengine.config import ConfigDict from mmengine.config import ConfigDict
from mmengine.data import InstanceData from mmengine.structures import InstanceData
from mmdet.models.task_modules import SamplingResult from mmdet.models.task_modules.samplers import SamplingResult
# Type hint of config data # Type hint of config data
ConfigType = Union[ConfigDict, dict] ConfigType = Union[ConfigDict, dict]
......
...@@ -17,7 +17,7 @@ except ImportError: ...@@ -17,7 +17,7 @@ except ImportError:
raise ImportError( raise ImportError(
'Please run "pip install open3d" to install open3d first.') 'Please run "pip install open3d" to install open3d first.')
from mmengine.data import InstanceData from mmengine.structures import InstanceData
from mmengine.visualization.utils import check_type, tensor2ndarray from mmengine.visualization.utils import check_type, tensor2ndarray
from mmdet3d.registry import VISUALIZERS from mmdet3d.registry import VISUALIZERS
...@@ -67,7 +67,7 @@ class Det3DLocalVisualizer(DetLocalVisualizer): ...@@ -67,7 +67,7 @@ class Det3DLocalVisualizer(DetLocalVisualizer):
Examples: Examples:
>>> import numpy as np >>> import numpy as np
>>> import torch >>> import torch
>>> from mmengine.data import InstanceData >>> from mmengine.structures import InstanceData
>>> from mmdet3d.structures import Det3DDataSample >>> from mmdet3d.structures import Det3DDataSample
>>> from mmdet3d.visualization import Det3DLocalVisualizer >>> from mmdet3d.visualization import Det3DLocalVisualizer
......
...@@ -3,8 +3,8 @@ ...@@ -3,8 +3,8 @@
import numpy as np import numpy as np
import torch import torch
from mmcv.transforms.base import BaseTransform from mmcv.transforms.base import BaseTransform
from mmengine.data import InstanceData
from mmengine.registry import TRANSFORMS from mmengine.registry import TRANSFORMS
from mmengine.structures import InstanceData
from mmdet3d.datasets import KittiDataset from mmdet3d.datasets import KittiDataset
from mmdet3d.structures import Det3DDataSample, LiDARInstance3DBoxes from mmdet3d.structures import Det3DDataSample, LiDARInstance3DBoxes
......
# Copyright (c) OpenMMLab. All rights reserved. # Copyright (c) OpenMMLab. All rights reserved.
import numpy as np import numpy as np
from mmcv.transforms.base import BaseTransform from mmcv.transforms.base import BaseTransform
from mmengine.data import InstanceData
from mmengine.registry import TRANSFORMS from mmengine.registry import TRANSFORMS
from mmengine.structures import InstanceData
from mmdet3d.datasets import LyftDataset from mmdet3d.datasets import LyftDataset
from mmdet3d.structures import Det3DDataSample, LiDARInstance3DBoxes from mmdet3d.structures import Det3DDataSample, LiDARInstance3DBoxes
......
# Copyright (c) OpenMMLab. All rights reserved. # Copyright (c) OpenMMLab. All rights reserved.
import numpy as np import numpy as np
from mmcv.transforms.base import BaseTransform from mmcv.transforms.base import BaseTransform
from mmengine.data import InstanceData
from mmengine.registry import TRANSFORMS from mmengine.registry import TRANSFORMS
from mmengine.structures import InstanceData
from mmdet3d.datasets import NuScenesDataset from mmdet3d.datasets import NuScenesDataset
from mmdet3d.structures import Det3DDataSample, LiDARInstance3DBoxes from mmdet3d.structures import Det3DDataSample, LiDARInstance3DBoxes
......
import numpy as np import numpy as np
import pytest import pytest
import torch import torch
from mmengine.data import InstanceData from mmengine.structures import InstanceData
from mmdet3d.evaluation.metrics import KittiMetric from mmdet3d.evaluation.metrics import KittiMetric
from mmdet3d.structures import Det3DDataSample, LiDARInstance3DBoxes from mmdet3d.structures import Det3DDataSample, LiDARInstance3DBoxes
......
...@@ -3,7 +3,7 @@ from unittest import TestCase ...@@ -3,7 +3,7 @@ from unittest import TestCase
import torch import torch
from mmengine import Config from mmengine import Config
from mmengine.data import InstanceData from mmengine.structures import InstanceData
from mmdet3d import * # noqa from mmdet3d import * # noqa
from mmdet3d.models.dense_heads import Anchor3DHead from mmdet3d.models.dense_heads import Anchor3DHead
......
# Copyright (c) OpenMMLab. All rights reserved. # Copyright (c) OpenMMLab. All rights reserved.
from unittest import TestCase from unittest import TestCase
import mmcv import mmengine
import numpy as np import numpy as np
import torch import torch
from mmengine.data import InstanceData from mmengine.structures import InstanceData
from mmdet3d.models.dense_heads import FCOSMono3DHead from mmdet3d.models.dense_heads import FCOSMono3DHead
from mmdet3d.structures import CameraInstance3DBoxes from mmdet3d.structures import CameraInstance3DBoxes
...@@ -39,8 +39,8 @@ class TestFCOSMono3DHead(TestCase): ...@@ -39,8 +39,8 @@ class TestFCOSMono3DHead(TestCase):
min_bbox_size=0, min_bbox_size=0,
max_per_img=200) max_per_img=200)
train_cfg = mmcv.Config(train_cfg) train_cfg = mmengine.Config(train_cfg)
test_cfg = mmcv.Config(test_cfg) test_cfg = mmengine.Config(test_cfg)
fcos_mono3d_head = FCOSMono3DHead( fcos_mono3d_head = FCOSMono3DHead(
num_classes=10, num_classes=10,
......
# Copyright (c) OpenMMLab. All rights reserved. # Copyright (c) OpenMMLab. All rights reserved.
from unittest import TestCase from unittest import TestCase
import mmcv import mmengine
import numpy as np import numpy as np
import torch import torch
from mmengine.data import InstanceData from mmengine.structures import InstanceData
from mmdet3d.models.dense_heads import PGDHead from mmdet3d.models.dense_heads import PGDHead
from mmdet3d.structures import CameraInstance3DBoxes from mmdet3d.structures import CameraInstance3DBoxes
...@@ -40,8 +40,8 @@ class TestFGDHead(TestCase): ...@@ -40,8 +40,8 @@ class TestFGDHead(TestCase):
min_bbox_size=0, min_bbox_size=0,
max_per_img=20) max_per_img=20)
train_cfg = mmcv.Config(train_cfg) train_cfg = mmengine.Config(train_cfg)
test_cfg = mmcv.Config(test_cfg) test_cfg = mmengine.Config(test_cfg)
pgd_head = PGDHead( pgd_head = PGDHead(
num_classes=3, num_classes=3,
......
...@@ -3,7 +3,7 @@ from unittest import TestCase ...@@ -3,7 +3,7 @@ from unittest import TestCase
import numpy as np import numpy as np
import torch import torch
from mmengine.data import InstanceData from mmengine.structures import InstanceData
from mmdet3d.models.dense_heads import SMOKEMono3DHead from mmdet3d.models.dense_heads import SMOKEMono3DHead
from mmdet3d.structures import CameraInstance3DBoxes from mmdet3d.structures import CameraInstance3DBoxes
......
...@@ -4,7 +4,7 @@ from unittest import TestCase ...@@ -4,7 +4,7 @@ from unittest import TestCase
import numpy as np import numpy as np
import pytest import pytest
import torch import torch
from mmengine.data import InstanceData from mmengine.structures import InstanceData
from mmdet3d.structures import Det3DDataSample, PointData from mmdet3d.structures import Det3DDataSample, PointData
......
...@@ -37,7 +37,7 @@ def _get_config_directory(): ...@@ -37,7 +37,7 @@ def _get_config_directory():
def _get_config_module(fname): def _get_config_module(fname):
"""Load a configuration as a python module.""" """Load a configuration as a python module."""
from mmcv import Config from mmengine import Config
config_dpath = _get_config_directory() config_dpath = _get_config_directory()
config_fpath = join(config_dpath, fname) config_fpath = join(config_dpath, fname)
config_mod = Config.fromfile(config_fpath) config_mod = Config.fromfile(config_fpath)
...@@ -62,11 +62,11 @@ def _get_detector_cfg(fname): ...@@ -62,11 +62,11 @@ def _get_detector_cfg(fname):
These are deep copied to allow for safe modification of parameters without These are deep copied to allow for safe modification of parameters without
influencing other tests. influencing other tests.
""" """
import mmcv import mmengine
config = _get_config_module(fname) config = _get_config_module(fname)
model = copy.deepcopy(config.model) model = copy.deepcopy(config.model)
train_cfg = mmcv.Config(copy.deepcopy(config.model.train_cfg)) train_cfg = mmengine.Config(copy.deepcopy(config.model.train_cfg))
test_cfg = mmcv.Config(copy.deepcopy(config.model.test_cfg)) test_cfg = mmengine.Config(copy.deepcopy(config.model.test_cfg))
model.update(train_cfg=train_cfg) model.update(train_cfg=train_cfg)
model.update(test_cfg=test_cfg) model.update(test_cfg=test_cfg)
......
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