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:
import MinkowskiEngine as ME
from MinkowskiEngine.modules.resnet_block import BasicBlock, Bottleneck
except ImportError:
import warnings
warnings.warn(
'Please follow `getting_started.md` to install MinkowskiEngine.`')
# blocks are used in the static part of MinkResNet
BasicBlock, Bottleneck = None, None
ME = BasicBlock = Bottleneck = None
import torch.nn as nn
......@@ -38,6 +35,10 @@ class MinkResNet(nn.Module):
def __init__(self, depth, in_channels, num_stages=4, pool=True):
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:
raise KeyError(f'invalid depth {depth} for resnet')
assert 4 >= num_stages >= 1
......
......@@ -7,7 +7,7 @@ try:
from MinkowskiEngine import SparseTensor
except ImportError:
# Please follow getting_started.md to install MinkowskiEngine.
SparseTensor = None
ME = SparseTensor = None
pass
import torch
......@@ -69,6 +69,10 @@ class FCAF3DHead(Base3DDenseHead):
test_cfg: Optional[dict] = None,
init_cfg: Optional[dict] = None):
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.pts_prune_threshold = pts_prune_threshold
self.pts_assign_threshold = pts_assign_threshold
......
......@@ -9,6 +9,7 @@ try:
import MinkowskiEngine as ME
except ImportError:
# Please follow getting_started.md to install MinkowskiEngine.
ME = None
pass
from mmdet3d.registry import MODELS
......@@ -56,9 +57,11 @@ class MinkSingleStage3DDetector(SingleStage3DDetector):
test_cfg=test_cfg,
data_preprocessor=data_preprocessor,
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']
# # TODO: unify the keys
# self.head = self.bbox_head
def extract_feat(
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,
try:
import open3d as o3d
from open3d import geometry
from open3d.visualization import Visualizer
except ImportError:
raise ImportError(
'Please run "pip install open3d" to install open3d first.')
o3d = geometry = Visualizer = None
@VISUALIZERS.register_module()
......@@ -126,7 +126,7 @@ class Det3DLocalVisualizer(DetLocalVisualizer):
del self.pcd
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.
Args:
......@@ -136,6 +136,9 @@ class Det3DLocalVisualizer(DetLocalVisualizer):
Returns:
: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.create_window()
# 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