"sgl-kernel/python/sgl_kernel/load_utils.py" did not exist on "c9ec4cae5b34970d272c3c83ab2feb478cf8391d"
Unverified Commit 8609b3b6 authored by Yezhen Cong's avatar Yezhen Cong Committed by GitHub
Browse files

[Fix] Fixed wrong config paths (#641)

* Fixed wrong config paths and fixed a bug in test

* Fixed metafile
parent b4a80684
...@@ -29,6 +29,6 @@ Some settings in our implementation are different from the [official implementat ...@@ -29,6 +29,6 @@ Some settings in our implementation are different from the [official implementat
| Backbone |Class| Lr schd | Mem (GB) | Inf time (fps) | mAP |Download | | Backbone |Class| Lr schd | Mem (GB) | Inf time (fps) | mAP |Download |
| :---------: | :-----: | :------: | :------------: | :----: |:----: | :------: | | :---------: | :-----: | :------: | :------------: | :----: |:----: | :------: |
| [PointNet2SAMSG](./3dssd_kitti-3d-car.py)| Car |72e|4.7||78.69(81.27)<sup>1</sup>|[model](https://download.openmmlab.com/mmdetection3d/v0.1.0_models/3dssd/3dssd_kitti-3d-car_20210602_124438-b4276f56.pth) &#124; [log](https://download.openmmlab.com/mmdetection3d/v0.1.0_models/3dssd/3dssd_kitti-3d-car_20210602_124438.log.json)| | [PointNet2SAMSG](./3dssd_4x4_kitti-3d-car.py)| Car |72e|4.7||78.69(81.27)<sup>1</sup>|[model](https://download.openmmlab.com/mmdetection3d/v0.1.0_models/3dssd/3dssd_kitti-3d-car_20210602_124438-b4276f56.pth) &#124; [log](https://download.openmmlab.com/mmdetection3d/v0.1.0_models/3dssd/3dssd_kitti-3d-car_20210602_124438.log.json)|
[1]: We report two different 3D object detection performance here. 78.69mAP is evaluated by our evaluation code and 81.27mAP is evaluated by the official development kit (so as that used in the paper and official code of 3DSSD ). We found that the commonly used Python implementation of [`rotate_iou`](https://github.com/traveller59/second.pytorch/blob/e42e4a0e17262ab7d180ee96a0a36427f2c20a44/second/core/non_max_suppression/nms_gpu.py#L605) which is used in our KITTI dataset evaluation, is different from the official implemention in [KITTI benchmark](http://www.cvlibs.net/datasets/kitti/eval_object.php?obj_benchmark=3d). [1]: We report two different 3D object detection performance here. 78.69mAP is evaluated by our evaluation code and 81.27mAP is evaluated by the official development kit (so as that used in the paper and official code of 3DSSD ). We found that the commonly used Python implementation of [`rotate_iou`](https://github.com/traveller59/second.pytorch/blob/e42e4a0e17262ab7d180ee96a0a36427f2c20a44/second/core/non_max_suppression/nms_gpu.py#L605) which is used in our KITTI dataset evaluation, is different from the official implemention in [KITTI benchmark](http://www.cvlibs.net/datasets/kitti/eval_object.php?obj_benchmark=3d).
...@@ -11,9 +11,9 @@ Collections: ...@@ -11,9 +11,9 @@ Collections:
README: configs/3dssd/README.md README: configs/3dssd/README.md
Models: Models:
- Name: 3dssd_kitti-3d-car - Name: 3dssd_4x4_kitti-3d-car
In Collection: 3DSSD In Collection: 3DSSD
Config: configs/3dssd/3dssd_kitti-3d-car.py Config: configs/3dssd/3dssd_4x4_kitti-3d-car.py
Metadata: Metadata:
Training Memory (GB): 4.7 Training Memory (GB): 4.7
Results: Results:
......
...@@ -127,7 +127,7 @@ def test_3dssd(): ...@@ -127,7 +127,7 @@ def test_3dssd():
if not torch.cuda.is_available(): if not torch.cuda.is_available():
pytest.skip('test requires GPU and torch+cuda') pytest.skip('test requires GPU and torch+cuda')
_setup_seed(0) _setup_seed(0)
ssd3d_cfg = _get_detector_cfg('3dssd/3dssd_kitti-3d-car.py') ssd3d_cfg = _get_detector_cfg('3dssd/3dssd_4x4_kitti-3d-car.py')
self = build_detector(ssd3d_cfg).cuda() self = build_detector(ssd3d_cfg).cuda()
points_0 = torch.rand([2000, 4], device='cuda') points_0 = torch.rand([2000, 4], device='cuda')
points_1 = torch.rand([2000, 4], device='cuda') points_1 = torch.rand([2000, 4], device='cuda')
......
...@@ -665,7 +665,7 @@ def test_h3d_head(): ...@@ -665,7 +665,7 @@ def test_h3d_head():
targets = (vote_targets, vote_target_masks, size_class_targets, targets = (vote_targets, vote_target_masks, size_class_targets,
size_res_targets, dir_class_targets, dir_res_targets, size_res_targets, dir_class_targets, dir_res_targets,
center_targets, mask_targets, valid_gt_masks, center_targets, None, mask_targets, valid_gt_masks,
objectness_targets, objectness_weights, box_loss_weights, objectness_targets, objectness_weights, box_loss_weights,
valid_gt_weights) valid_gt_weights)
...@@ -889,7 +889,7 @@ def test_ssd3d_head(): ...@@ -889,7 +889,7 @@ def test_ssd3d_head():
if not torch.cuda.is_available(): if not torch.cuda.is_available():
pytest.skip('test requires GPU and torch+cuda') pytest.skip('test requires GPU and torch+cuda')
_setup_seed(0) _setup_seed(0)
ssd3d_head_cfg = _get_vote_head_cfg('3dssd/3dssd_kitti-3d-car.py') ssd3d_head_cfg = _get_vote_head_cfg('3dssd/3dssd_4x4_kitti-3d-car.py')
ssd3d_head_cfg.vote_module_cfg.num_points = 64 ssd3d_head_cfg.vote_module_cfg.num_points = 64
self = build_head(ssd3d_head_cfg).cuda() self = build_head(ssd3d_head_cfg).cuda()
sa_xyz = [torch.rand([2, 128, 3], dtype=torch.float32).cuda()] sa_xyz = [torch.rand([2, 128, 3], dtype=torch.float32).cuda()]
......
...@@ -55,7 +55,7 @@ def test_pointnet2_ssg(): ...@@ -55,7 +55,7 @@ def test_pointnet2_ssg():
set_random_seed(0, True) set_random_seed(0, True)
pn2_ssg_cfg = _get_segmentor_cfg( pn2_ssg_cfg = _get_segmentor_cfg(
'pointnet2/pointnet2_ssg_16x2_scannet-3d-20class.py') 'pointnet2/pointnet2_ssg_16x2_cosine_200e_scannet_seg-3d-20class.py')
pn2_ssg_cfg.test_cfg.num_points = 32 pn2_ssg_cfg.test_cfg.num_points = 32
self = build_segmentor(pn2_ssg_cfg).cuda() self = build_segmentor(pn2_ssg_cfg).cuda()
points = [torch.rand(1024, 6).float().cuda() for _ in range(2)] points = [torch.rand(1024, 6).float().cuda() for _ in range(2)]
...@@ -122,7 +122,7 @@ def test_pointnet2_msg(): ...@@ -122,7 +122,7 @@ def test_pointnet2_msg():
set_random_seed(0, True) set_random_seed(0, True)
pn2_msg_cfg = _get_segmentor_cfg( pn2_msg_cfg = _get_segmentor_cfg(
'pointnet2/pointnet2_msg_16x2_scannet-3d-20class.py') 'pointnet2/pointnet2_msg_16x2_cosine_250e_scannet_seg-3d-20class.py')
pn2_msg_cfg.test_cfg.num_points = 32 pn2_msg_cfg.test_cfg.num_points = 32
self = build_segmentor(pn2_msg_cfg).cuda() self = build_segmentor(pn2_msg_cfg).cuda()
points = [torch.rand(1024, 6).float().cuda() for _ in range(2)] points = [torch.rand(1024, 6).float().cuda() for _ in range(2)]
......
...@@ -321,7 +321,7 @@ def test_inference_segmentor(): ...@@ -321,7 +321,7 @@ def test_inference_segmentor():
pytest.skip('test requires GPU and torch+cuda') pytest.skip('test requires GPU and torch+cuda')
pcd = 'tests/data/scannet/points/scene0000_00.bin' pcd = 'tests/data/scannet/points/scene0000_00.bin'
segmentor_cfg = 'configs/pointnet2/pointnet2_ssg_' \ segmentor_cfg = 'configs/pointnet2/pointnet2_ssg_' \
'16x2_scannet-3d-20class.py' '16x2_cosine_200e_scannet_seg-3d-20class.py'
segmentor = init_model(segmentor_cfg, device='cuda:0') segmentor = init_model(segmentor_cfg, device='cuda:0')
results = inference_segmentor(segmentor, pcd) results = inference_segmentor(segmentor, pcd)
seg_3d = results[0][0]['semantic_mask'] seg_3d = results[0][0]['semantic_mask']
......
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