From 359bbd7d68e3f16c8b68d1aedeaad35623a1374e Mon Sep 17 00:00:00 2001 From: cokedong <408244909@qq.com> Date: Tue, 21 Mar 2023 17:43:01 +0800 Subject: [PATCH 1/2] Fix parrots bbox_overlaps --- mmcv/ops/bbox.py | 4 ++++ setup.py | 1 + 2 files changed, 5 insertions(+) diff --git a/mmcv/ops/bbox.py b/mmcv/ops/bbox.py index 4ba93d6b22..b78782c338 100644 --- a/mmcv/ops/bbox.py +++ b/mmcv/ops/bbox.py @@ -116,6 +116,10 @@ def bbox_overlaps(bboxes1: torch.Tensor, if rows * cols == 0: return ious + if torch.__version__ == 'parrots': + return _bbox_overlaps_cpu( + bboxes1, bboxes2, mode=mode, aligned=aligned, offset=offset) + ext_module.bbox_overlaps( bboxes1, bboxes2, ious, mode=mode_flag, aligned=aligned, offset=offset) diff --git a/setup.py b/setup.py index 176db6b870..c12a85358a 100644 --- a/setup.py +++ b/setup.py @@ -212,6 +212,7 @@ def get_extensions(): glob.glob('./mmcv/ops/csrc/pytorch/cpu/*.cpp') +\ glob.glob('./mmcv/ops/csrc/parrots/*.cpp') op_files.remove('./mmcv/ops/csrc/pytorch/cuda/iou3d_cuda.cu') + op_files.remove('./mmcv/ops/csrc/pytorch/cpu/bbox_overlaps_cpu.cpp') include_dirs.append(os.path.abspath('./mmcv/ops/csrc/common')) include_dirs.append(os.path.abspath('./mmcv/ops/csrc/common/cuda')) cuda_args = os.getenv('MMCV_CUDA_ARGS') From f66c16325d14b7453264d25b0629ff1652f30040 Mon Sep 17 00:00:00 2001 From: cokedong <408244909@qq.com> Date: Tue, 21 Mar 2023 17:47:01 +0800 Subject: [PATCH 2/2] Fix --- mmcv/ops/bbox.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mmcv/ops/bbox.py b/mmcv/ops/bbox.py index b78782c338..4583ba7d5a 100644 --- a/mmcv/ops/bbox.py +++ b/mmcv/ops/bbox.py @@ -116,7 +116,7 @@ def bbox_overlaps(bboxes1: torch.Tensor, if rows * cols == 0: return ious - if torch.__version__ == 'parrots': + if bboxes1.device.type == 'cpu' and torch.__version__ == 'parrots': return _bbox_overlaps_cpu( bboxes1, bboxes2, mode=mode, aligned=aligned, offset=offset)