Commit 054a96c7 authored by Jingwei Zhang's avatar Jingwei Zhang Committed by ZwwWayne
Browse files

simplify the warning and error when using open3d and MinkowskiEngine (#2027)

parent 5437bf21
...@@ -5,11 +5,8 @@ try: ...@@ -5,11 +5,8 @@ try:
import MinkowskiEngine as ME import MinkowskiEngine as ME
from MinkowskiEngine.modules.resnet_block import BasicBlock, Bottleneck from MinkowskiEngine.modules.resnet_block import BasicBlock, Bottleneck
except ImportError: except ImportError:
import warnings
warnings.warn(
'Please follow `getting_started.md` to install MinkowskiEngine.`')
# blocks are used in the static part of MinkResNet # blocks are used in the static part of MinkResNet
BasicBlock, Bottleneck = None, None ME = BasicBlock = Bottleneck = None
import torch.nn as nn import torch.nn as nn
...@@ -38,6 +35,10 @@ class MinkResNet(nn.Module): ...@@ -38,6 +35,10 @@ class MinkResNet(nn.Module):
def __init__(self, depth, in_channels, num_stages=4, pool=True): def __init__(self, depth, in_channels, num_stages=4, pool=True):
super(MinkResNet, self).__init__() super(MinkResNet, self).__init__()
if ME is None:
raise ImportError(
'Please follow `getting_started.md` to install MinkowskiEngine.`' # noqa: E501
)
if depth not in self.arch_settings: if depth not in self.arch_settings:
raise KeyError(f'invalid depth {depth} for resnet') raise KeyError(f'invalid depth {depth} for resnet')
assert 4 >= num_stages >= 1 assert 4 >= num_stages >= 1
......
...@@ -7,7 +7,7 @@ try: ...@@ -7,7 +7,7 @@ try:
from MinkowskiEngine import SparseTensor from MinkowskiEngine import SparseTensor
except ImportError: except ImportError:
# Please follow getting_started.md to install MinkowskiEngine. # Please follow getting_started.md to install MinkowskiEngine.
SparseTensor = None ME = SparseTensor = None
pass pass
import torch import torch
...@@ -69,6 +69,10 @@ class FCAF3DHead(Base3DDenseHead): ...@@ -69,6 +69,10 @@ class FCAF3DHead(Base3DDenseHead):
test_cfg: Optional[dict] = None, test_cfg: Optional[dict] = None,
init_cfg: Optional[dict] = None): init_cfg: Optional[dict] = None):
super(FCAF3DHead, self).__init__(init_cfg) super(FCAF3DHead, self).__init__(init_cfg)
if ME is None:
raise ImportError(
'Please follow `getting_started.md` to install MinkowskiEngine.`' # noqa: E501
)
self.voxel_size = voxel_size self.voxel_size = voxel_size
self.pts_prune_threshold = pts_prune_threshold self.pts_prune_threshold = pts_prune_threshold
self.pts_assign_threshold = pts_assign_threshold self.pts_assign_threshold = pts_assign_threshold
......
...@@ -9,6 +9,7 @@ try: ...@@ -9,6 +9,7 @@ try:
import MinkowskiEngine as ME import MinkowskiEngine as ME
except ImportError: except ImportError:
# Please follow getting_started.md to install MinkowskiEngine. # Please follow getting_started.md to install MinkowskiEngine.
ME = None
pass pass
from mmdet3d.registry import MODELS from mmdet3d.registry import MODELS
...@@ -56,9 +57,11 @@ class MinkSingleStage3DDetector(SingleStage3DDetector): ...@@ -56,9 +57,11 @@ class MinkSingleStage3DDetector(SingleStage3DDetector):
test_cfg=test_cfg, test_cfg=test_cfg,
data_preprocessor=data_preprocessor, data_preprocessor=data_preprocessor,
init_cfg=init_cfg) init_cfg=init_cfg)
if ME is None:
raise ImportError(
'Please follow `getting_started.md` to install MinkowskiEngine.`' # noqa: E501
)
self.voxel_size = bbox_head['voxel_size'] self.voxel_size = bbox_head['voxel_size']
# # TODO: unify the keys
# self.head = self.bbox_head
def extract_feat( def extract_feat(
self, batch_inputs_dict: Dict[str, Tensor] self, batch_inputs_dict: Dict[str, Tensor]
......
...@@ -26,9 +26,9 @@ from .vis_utils import (proj_camera_bbox3d_to_img, proj_depth_bbox3d_to_img, ...@@ -26,9 +26,9 @@ from .vis_utils import (proj_camera_bbox3d_to_img, proj_depth_bbox3d_to_img,
try: try:
import open3d as o3d import open3d as o3d
from open3d import geometry from open3d import geometry
from open3d.visualization import Visualizer
except ImportError: except ImportError:
raise ImportError( o3d = geometry = Visualizer = None
'Please run "pip install open3d" to install open3d first.')
@VISUALIZERS.register_module() @VISUALIZERS.register_module()
...@@ -126,7 +126,7 @@ class Det3DLocalVisualizer(DetLocalVisualizer): ...@@ -126,7 +126,7 @@ class Det3DLocalVisualizer(DetLocalVisualizer):
del self.pcd del self.pcd
del self.points_colors del self.points_colors
def _initialize_o3d_vis(self, frame_cfg) -> o3d.visualization.Visualizer: def _initialize_o3d_vis(self, frame_cfg) -> Visualizer:
"""Initialize open3d vis according to frame_cfg. """Initialize open3d vis according to frame_cfg.
Args: Args:
...@@ -136,6 +136,9 @@ class Det3DLocalVisualizer(DetLocalVisualizer): ...@@ -136,6 +136,9 @@ class Det3DLocalVisualizer(DetLocalVisualizer):
Returns: Returns:
:obj:`o3d.visualization.Visualizer`: Created open3d vis. :obj:`o3d.visualization.Visualizer`: Created open3d vis.
""" """
if o3d is None or geometry is None:
raise ImportError(
'Please run "pip install open3d" to install open3d first.')
o3d_vis = o3d.visualization.Visualizer() o3d_vis = o3d.visualization.Visualizer()
o3d_vis.create_window() o3d_vis.create_window()
# create coordinate frame # create coordinate frame
......
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