Commit 1f9eb6c8 authored by Xiangxu-0103's avatar Xiangxu-0103 Committed by ZwwWayne
Browse files

[Enhance] Refactor the import of `mmdet` (#1947)

* fix config

* refactor import of `mmdet`

* fix lint

* fix lint
parent c5bc9ac9
...@@ -5,6 +5,7 @@ from typing import Dict, List, Optional, Tuple ...@@ -5,6 +5,7 @@ from typing import Dict, List, Optional, Tuple
import numpy as np import numpy as np
import torch import torch
from mmcv.cnn import ConvModule from mmcv.cnn import ConvModule
from mmdet.models.utils import multi_apply
from mmengine.model import BaseModule from mmengine.model import BaseModule
from mmengine.structures import InstanceData from mmengine.structures import InstanceData
from torch import Tensor from torch import Tensor
...@@ -14,7 +15,6 @@ from mmdet3d.models.layers import box3d_multiclass_nms ...@@ -14,7 +15,6 @@ from mmdet3d.models.layers import box3d_multiclass_nms
from mmdet3d.registry import MODELS from mmdet3d.registry import MODELS
from mmdet3d.structures import limit_period, xywhr2xyxyr from mmdet3d.structures import limit_period, xywhr2xyxyr
from mmdet3d.utils import InstanceList, OptInstanceList from mmdet3d.utils import InstanceList, OptInstanceList
from mmdet.models.utils import multi_apply
from ..builder import build_head from ..builder import build_head
from .anchor3d_head import Anchor3DHead from .anchor3d_head import Anchor3DHead
......
...@@ -2,6 +2,11 @@ ...@@ -2,6 +2,11 @@
from typing import List, Optional, Tuple from typing import List, Optional, Tuple
import torch import torch
from mmdet.models.utils import (gaussian_radius, gen_gaussian_target,
multi_apply)
from mmdet.models.utils.gaussian_target import (get_local_maximum,
get_topk_from_heatmap,
transpose_and_gather_feat)
from mmengine.structures import InstanceData from mmengine.structures import InstanceData
from torch import Tensor from torch import Tensor
from torch.nn import functional as F from torch.nn import functional as F
...@@ -9,11 +14,6 @@ from torch.nn import functional as F ...@@ -9,11 +14,6 @@ from torch.nn import functional as F
from mmdet3d.registry import MODELS, TASK_UTILS from mmdet3d.registry import MODELS, TASK_UTILS
from mmdet3d.utils import (ConfigType, InstanceList, OptConfigType, from mmdet3d.utils import (ConfigType, InstanceList, OptConfigType,
OptInstanceList, OptMultiConfig) OptInstanceList, OptMultiConfig)
from mmdet.models.utils import (gaussian_radius, gen_gaussian_target,
multi_apply)
from mmdet.models.utils.gaussian_target import (get_local_maximum,
get_topk_from_heatmap,
transpose_and_gather_feat)
from .anchor_free_mono3d_head import AnchorFreeMono3DHead from .anchor_free_mono3d_head import AnchorFreeMono3DHead
......
...@@ -3,6 +3,7 @@ from typing import List, Optional, Tuple, Union ...@@ -3,6 +3,7 @@ from typing import List, Optional, Tuple, Union
import torch import torch
from mmcv.ops.nms import batched_nms from mmcv.ops.nms import batched_nms
from mmdet.models.utils import multi_apply
from mmengine import ConfigDict from mmengine import ConfigDict
from mmengine.structures import InstanceData from mmengine.structures import InstanceData
from torch import Tensor from torch import Tensor
...@@ -13,7 +14,6 @@ from mmdet3d.structures import BaseInstance3DBoxes ...@@ -13,7 +14,6 @@ from mmdet3d.structures import BaseInstance3DBoxes
from mmdet3d.structures.bbox_3d import (DepthInstance3DBoxes, from mmdet3d.structures.bbox_3d import (DepthInstance3DBoxes,
LiDARInstance3DBoxes, LiDARInstance3DBoxes,
rotation_3d_in_axis) rotation_3d_in_axis)
from mmdet.models.utils import multi_apply
from .vote_head import VoteHead from .vote_head import VoteHead
......
# Copyright (c) OpenMMLab. All rights reserved. # Copyright (c) OpenMMLab. All rights reserved.
import numpy as np import numpy as np
import torch import torch
from mmdet.models.utils import images_to_levels, multi_apply
from mmengine.structures import InstanceData from mmengine.structures import InstanceData
from mmdet3d.structures import limit_period from mmdet3d.structures import limit_period
from mmdet.models.utils import images_to_levels, multi_apply
class AnchorTrainMixin(object): class AnchorTrainMixin(object):
......
...@@ -4,6 +4,7 @@ from typing import Dict, List, Optional, Tuple, Union ...@@ -4,6 +4,7 @@ from typing import Dict, List, Optional, Tuple, Union
import numpy as np import numpy as np
import torch import torch
from mmcv.ops import furthest_point_sample from mmcv.ops import furthest_point_sample
from mmdet.models.utils import multi_apply
from mmengine import ConfigDict from mmengine import ConfigDict
from mmengine.model import BaseModule from mmengine.model import BaseModule
from mmengine.structures import InstanceData from mmengine.structures import InstanceData
...@@ -14,7 +15,6 @@ from mmdet3d.models.layers import VoteModule, aligned_3d_nms, build_sa_module ...@@ -14,7 +15,6 @@ from mmdet3d.models.layers import VoteModule, aligned_3d_nms, build_sa_module
from mmdet3d.models.losses import chamfer_distance from mmdet3d.models.losses import chamfer_distance
from mmdet3d.registry import MODELS, TASK_UTILS from mmdet3d.registry import MODELS, TASK_UTILS
from mmdet3d.structures import Det3DDataSample from mmdet3d.structures import Det3DDataSample
from mmdet.models.utils import multi_apply
from .base_conv_bbox_head import BaseConvBboxHead from .base_conv_bbox_head import BaseConvBboxHead
......
# Copyright (c) OpenMMLab. All rights reserved. # Copyright (c) OpenMMLab. All rights reserved.
from typing import List, Union from typing import List, Union
from mmdet.models import BaseDetector
from mmengine.structures import InstanceData from mmengine.structures import InstanceData
from mmdet3d.registry import MODELS from mmdet3d.registry import MODELS
from mmdet3d.structures.det3d_data_sample import (ForwardResults, from mmdet3d.structures.det3d_data_sample import (ForwardResults,
OptSampleList, SampleList) OptSampleList, SampleList)
from mmdet3d.utils.typing import OptConfigType, OptInstanceList, OptMultiConfig from mmdet3d.utils.typing import OptConfigType, OptInstanceList, OptMultiConfig
from mmdet.models import BaseDetector
@MODELS.register_module() @MODELS.register_module()
......
# Copyright (c) OpenMMLab. All rights reserved. # Copyright (c) OpenMMLab. All rights reserved.
import torch import torch
from mmdet.models.detectors import BaseDetector
from mmdet3d.registry import MODELS from mmdet3d.registry import MODELS
from mmdet3d.structures.ops import bbox3d2result from mmdet3d.structures.ops import bbox3d2result
from mmdet3d.utils import ConfigType from mmdet3d.utils import ConfigType
from mmdet.models.detectors import BaseDetector
from ..builder import build_backbone, build_head, build_neck from ..builder import build_backbone, build_head, build_neck
......
# Copyright (c) OpenMMLab. All rights reserved. # Copyright (c) OpenMMLab. All rights reserved.
import numpy as np import numpy as np
import torch import torch
from mmdet.models.detectors import BaseDetector
from mmdet3d.models.layers.fusion_layers.point_fusion import (point_sample, from mmdet3d.models.layers.fusion_layers.point_fusion import (point_sample,
voxel_sample) voxel_sample)
...@@ -8,7 +9,6 @@ from mmdet3d.registry import MODELS, TASK_UTILS ...@@ -8,7 +9,6 @@ from mmdet3d.registry import MODELS, TASK_UTILS
from mmdet3d.structures.bbox_3d.utils import get_lidar2img from mmdet3d.structures.bbox_3d.utils import get_lidar2img
from mmdet3d.structures.det3d_data_sample import SampleList from mmdet3d.structures.det3d_data_sample import SampleList
from mmdet3d.utils import ConfigType, OptConfigType from mmdet3d.utils import ConfigType, OptConfigType
from mmdet.models.detectors import BaseDetector
from .dfm import DfM from .dfm import DfM
from .imvoxelnet import ImVoxelNet from .imvoxelnet import ImVoxelNet
......
# Copyright (c) OpenMMLab. All rights reserved. # Copyright (c) OpenMMLab. All rights reserved.
from typing import Tuple from typing import Tuple
from mmdet.models.detectors.single_stage import SingleStageDetector
from mmengine.structures import InstanceData from mmengine.structures import InstanceData
from torch import Tensor from torch import Tensor
from mmdet3d.registry import MODELS from mmdet3d.registry import MODELS
from mmdet3d.structures.det3d_data_sample import SampleList from mmdet3d.structures.det3d_data_sample import SampleList
from mmdet3d.utils import OptInstanceList from mmdet3d.utils import OptInstanceList
from mmdet.models.detectors.single_stage import SingleStageDetector
@MODELS.register_module() @MODELS.register_module()
......
# Copyright (c) OpenMMLab. All rights reserved. # Copyright (c) OpenMMLab. All rights reserved.
from mmcv.cnn import build_conv_layer, build_norm_layer from mmcv.cnn import build_conv_layer, build_norm_layer
from mmdet.models.backbones.resnet import BasicBlock, Bottleneck
from torch import nn from torch import nn
from mmdet.models.backbones.resnet import BasicBlock, Bottleneck
from .spconv import IS_SPCONV2_AVAILABLE from .spconv import IS_SPCONV2_AVAILABLE
if IS_SPCONV2_AVAILABLE: if IS_SPCONV2_AVAILABLE:
......
# Copyright (c) OpenMMLab. All rights reserved. # Copyright (c) OpenMMLab. All rights reserved.
from mmdet.models.losses import FocalLoss, SmoothL1Loss, binary_cross_entropy from mmdet.models.losses import FocalLoss, SmoothL1Loss, binary_cross_entropy
from .axis_aligned_iou_loss import AxisAlignedIoULoss, axis_aligned_iou_loss from .axis_aligned_iou_loss import AxisAlignedIoULoss, axis_aligned_iou_loss
from .chamfer_distance import ChamferDistance, chamfer_distance from .chamfer_distance import ChamferDistance, chamfer_distance
from .multibin_loss import MultiBinLoss from .multibin_loss import MultiBinLoss
......
# Copyright (c) OpenMMLab. All rights reserved. # Copyright (c) OpenMMLab. All rights reserved.
import torch import torch
from mmdet.models.losses.utils import weighted_loss
from torch import nn as nn from torch import nn as nn
from mmdet3d.registry import MODELS from mmdet3d.registry import MODELS
from mmdet3d.structures import AxisAlignedBboxOverlaps3D from mmdet3d.structures import AxisAlignedBboxOverlaps3D
from mmdet.models.losses.utils import weighted_loss
@weighted_loss @weighted_loss
......
# Copyright (c) OpenMMLab. All rights reserved. # Copyright (c) OpenMMLab. All rights reserved.
import torch import torch
from mmdet.models.losses.utils import weighted_loss
from torch import nn as nn from torch import nn as nn
from torch.nn import functional as F from torch.nn import functional as F
from mmdet3d.registry import MODELS from mmdet3d.registry import MODELS
from mmdet.models.losses.utils import weighted_loss
@weighted_loss @weighted_loss
......
# Copyright (c) OpenMMLab. All rights reserved. # Copyright (c) OpenMMLab. All rights reserved.
import torch import torch
from mmdet.models.losses.utils import weight_reduce_loss
from torch import nn as nn from torch import nn as nn
from mmdet3d.registry import MODELS from mmdet3d.registry import MODELS
from mmdet.models.losses.utils import weight_reduce_loss
from ..layers import PAConv, PAConvCUDA from ..layers import PAConv, PAConvCUDA
......
...@@ -3,11 +3,11 @@ from typing import Optional ...@@ -3,11 +3,11 @@ from typing import Optional
import torch import torch
from mmcv.ops import diff_iou_rotated_3d from mmcv.ops import diff_iou_rotated_3d
from mmdet.models.losses.utils import weighted_loss
from torch import Tensor from torch import Tensor
from torch import nn as nn from torch import nn as nn
from mmdet3d.registry import MODELS from mmdet3d.registry import MODELS
from mmdet.models.losses.utils import weighted_loss
@weighted_loss @weighted_loss
......
# Copyright (c) OpenMMLab. All rights reserved. # Copyright (c) OpenMMLab. All rights reserved.
import torch import torch
from mmdet.models.losses.utils import weighted_loss
from torch import nn as nn from torch import nn as nn
from mmdet3d.registry import MODELS from mmdet3d.registry import MODELS
from mmdet.models.losses.utils import weighted_loss
@weighted_loss @weighted_loss
......
...@@ -3,6 +3,7 @@ from typing import List, Tuple ...@@ -3,6 +3,7 @@ from typing import List, Tuple
import torch import torch
from mmcv.ops import points_in_boxes_all, three_interpolate, three_nn from mmcv.ops import points_in_boxes_all, three_interpolate, three_nn
from mmdet.models.losses import sigmoid_focal_loss, smooth_l1_loss
from torch import Tensor from torch import Tensor
from torch import nn as nn from torch import nn as nn
...@@ -10,7 +11,6 @@ from mmdet3d.models.layers import SparseBasicBlock, make_sparse_convmodule ...@@ -10,7 +11,6 @@ from mmdet3d.models.layers import SparseBasicBlock, make_sparse_convmodule
from mmdet3d.models.layers.spconv import IS_SPCONV2_AVAILABLE from mmdet3d.models.layers.spconv import IS_SPCONV2_AVAILABLE
from mmdet3d.registry import MODELS from mmdet3d.registry import MODELS
from mmdet3d.structures import BaseInstance3DBoxes from mmdet3d.structures import BaseInstance3DBoxes
from mmdet.models.losses import sigmoid_focal_loss, smooth_l1_loss
if IS_SPCONV2_AVAILABLE: if IS_SPCONV2_AVAILABLE:
from spconv.pytorch import SparseConvTensor, SparseSequential from spconv.pytorch import SparseConvTensor, SparseSequential
......
# Copyright (c) OpenMMLab. All rights reserved. # Copyright (c) OpenMMLab. All rights reserved.
from mmdet.models.necks.fpn import FPN from mmdet.models.necks.fpn import FPN
from .dla_neck import DLANeck from .dla_neck import DLANeck
from .imvoxel_neck import OutdoorImVoxelNeck from .imvoxel_neck import OutdoorImVoxelNeck
from .pointnet2_fp_neck import PointNetFPNeck from .pointnet2_fp_neck import PointNetFPNeck
......
# Copyright (c) OpenMMLab. All rights reserved. # Copyright (c) OpenMMLab. All rights reserved.
from mmdet3d.registry import MODELS, TASK_UTILS
from mmdet.models.roi_heads import BaseRoIHead from mmdet.models.roi_heads import BaseRoIHead
from mmdet3d.registry import MODELS, TASK_UTILS
class Base3DRoIHead(BaseRoIHead): class Base3DRoIHead(BaseRoIHead):
"""Base class for 3d RoIHeads.""" """Base class for 3d RoIHeads."""
......
...@@ -3,6 +3,7 @@ from mmdet.models.roi_heads.bbox_heads import (BBoxHead, ConvFCBBoxHead, ...@@ -3,6 +3,7 @@ from mmdet.models.roi_heads.bbox_heads import (BBoxHead, ConvFCBBoxHead,
DoubleConvFCBBoxHead, DoubleConvFCBBoxHead,
Shared2FCBBoxHead, Shared2FCBBoxHead,
Shared4Conv1FCBBoxHead) Shared4Conv1FCBBoxHead)
from .h3d_bbox_head import H3DBboxHead from .h3d_bbox_head import H3DBboxHead
from .parta2_bbox_head import PartA2BboxHead from .parta2_bbox_head import PartA2BboxHead
from .point_rcnn_bbox_head import PointRCNNBboxHead from .point_rcnn_bbox_head import PointRCNNBboxHead
......
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