From a9f022044b94011fc1f999d9c3c507d2b2bd2813 Mon Sep 17 00:00:00 2001
From: Kai Chen <chenkaidev@gmail.com>
Date: Mon, 8 Oct 2018 13:26:13 +0800
Subject: [PATCH] rename bbox_ops/mask_ops to bbox/mask

---
 mmdet/core/__init__.py                       | 4 ++--
 mmdet/core/anchor/anchor_target.py           | 2 +-
 mmdet/core/{bbox_ops => bbox}/__init__.py    | 0
 mmdet/core/{bbox_ops => bbox}/bbox_target.py | 0
 mmdet/core/{bbox_ops => bbox}/geometry.py    | 0
 mmdet/core/{bbox_ops => bbox}/sampling.py    | 9 ++++++---
 mmdet/core/{bbox_ops => bbox}/transforms.py  | 0
 mmdet/core/{mask_ops => mask}/__init__.py    | 0
 mmdet/core/{mask_ops => mask}/mask_target.py | 0
 mmdet/core/{mask_ops => mask}/segms.py       | 0
 mmdet/core/{mask_ops => mask}/utils.py       | 0
 mmdet/core/post_processing/merge_augs.py     | 2 +-
 mmdet/datasets/transforms.py                 | 2 +-
 13 files changed, 11 insertions(+), 8 deletions(-)
 rename mmdet/core/{bbox_ops => bbox}/__init__.py (100%)
 rename mmdet/core/{bbox_ops => bbox}/bbox_target.py (100%)
 rename mmdet/core/{bbox_ops => bbox}/geometry.py (100%)
 rename mmdet/core/{bbox_ops => bbox}/sampling.py (98%)
 rename mmdet/core/{bbox_ops => bbox}/transforms.py (100%)
 rename mmdet/core/{mask_ops => mask}/__init__.py (100%)
 rename mmdet/core/{mask_ops => mask}/mask_target.py (100%)
 rename mmdet/core/{mask_ops => mask}/segms.py (100%)
 rename mmdet/core/{mask_ops => mask}/utils.py (100%)

diff --git a/mmdet/core/__init__.py b/mmdet/core/__init__.py
index 20e124b..05788f1 100644
--- a/mmdet/core/__init__.py
+++ b/mmdet/core/__init__.py
@@ -1,6 +1,6 @@
 from .anchor import *  # noqa: F401, F403
-from .bbox_ops import *  # noqa: F401, F403
-from .mask_ops import *  # noqa: F401, F403
+from .bbox import *  # noqa: F401, F403
+from .mask import *  # noqa: F401, F403
 from .losses import *  # noqa: F401, F403
 from .eval import *  # noqa: F401, F403
 from .parallel import *  # noqa: F401, F403
diff --git a/mmdet/core/anchor/anchor_target.py b/mmdet/core/anchor/anchor_target.py
index f449507..ad81e39 100644
--- a/mmdet/core/anchor/anchor_target.py
+++ b/mmdet/core/anchor/anchor_target.py
@@ -1,6 +1,6 @@
 import torch
 
-from ..bbox_ops import bbox_assign, bbox2delta, bbox_sampling
+from ..bbox import bbox_assign, bbox2delta, bbox_sampling
 from ..utils import multi_apply
 
 
diff --git a/mmdet/core/bbox_ops/__init__.py b/mmdet/core/bbox/__init__.py
similarity index 100%
rename from mmdet/core/bbox_ops/__init__.py
rename to mmdet/core/bbox/__init__.py
diff --git a/mmdet/core/bbox_ops/bbox_target.py b/mmdet/core/bbox/bbox_target.py
similarity index 100%
rename from mmdet/core/bbox_ops/bbox_target.py
rename to mmdet/core/bbox/bbox_target.py
diff --git a/mmdet/core/bbox_ops/geometry.py b/mmdet/core/bbox/geometry.py
similarity index 100%
rename from mmdet/core/bbox_ops/geometry.py
rename to mmdet/core/bbox/geometry.py
diff --git a/mmdet/core/bbox_ops/sampling.py b/mmdet/core/bbox/sampling.py
similarity index 98%
rename from mmdet/core/bbox_ops/sampling.py
rename to mmdet/core/bbox/sampling.py
index 80f8c82..976cd95 100644
--- a/mmdet/core/bbox_ops/sampling.py
+++ b/mmdet/core/bbox/sampling.py
@@ -5,6 +5,11 @@ from .geometry import bbox_overlaps
 
 
 def random_choice(gallery, num):
+    """Random select some elements from the gallery.
+
+    It seems that Pytorch's implementation is slower than numpy so we use numpy
+    to randperm the indices.
+    """
     assert len(gallery) >= num
     if isinstance(gallery, list):
         gallery = np.array(gallery)
@@ -12,9 +17,7 @@ def random_choice(gallery, num):
     np.random.shuffle(cands)
     rand_inds = cands[:num]
     if not isinstance(gallery, np.ndarray):
-        rand_inds = torch.from_numpy(rand_inds).long()
-        if gallery.is_cuda:
-            rand_inds = rand_inds.cuda(gallery.get_device())
+        rand_inds = torch.from_numpy(rand_inds).long().to(gallery.device)
     return gallery[rand_inds]
 
 
diff --git a/mmdet/core/bbox_ops/transforms.py b/mmdet/core/bbox/transforms.py
similarity index 100%
rename from mmdet/core/bbox_ops/transforms.py
rename to mmdet/core/bbox/transforms.py
diff --git a/mmdet/core/mask_ops/__init__.py b/mmdet/core/mask/__init__.py
similarity index 100%
rename from mmdet/core/mask_ops/__init__.py
rename to mmdet/core/mask/__init__.py
diff --git a/mmdet/core/mask_ops/mask_target.py b/mmdet/core/mask/mask_target.py
similarity index 100%
rename from mmdet/core/mask_ops/mask_target.py
rename to mmdet/core/mask/mask_target.py
diff --git a/mmdet/core/mask_ops/segms.py b/mmdet/core/mask/segms.py
similarity index 100%
rename from mmdet/core/mask_ops/segms.py
rename to mmdet/core/mask/segms.py
diff --git a/mmdet/core/mask_ops/utils.py b/mmdet/core/mask/utils.py
similarity index 100%
rename from mmdet/core/mask_ops/utils.py
rename to mmdet/core/mask/utils.py
diff --git a/mmdet/core/post_processing/merge_augs.py b/mmdet/core/post_processing/merge_augs.py
index 2b8d861..00f65b0 100644
--- a/mmdet/core/post_processing/merge_augs.py
+++ b/mmdet/core/post_processing/merge_augs.py
@@ -3,7 +3,7 @@ import torch
 import numpy as np
 
 from mmdet.ops import nms
-from ..bbox_ops import bbox_mapping_back
+from ..bbox import bbox_mapping_back
 
 
 def merge_aug_proposals(aug_proposals, img_metas, rpn_test_cfg):
diff --git a/mmdet/datasets/transforms.py b/mmdet/datasets/transforms.py
index a7e72e0..d2daad1 100644
--- a/mmdet/datasets/transforms.py
+++ b/mmdet/datasets/transforms.py
@@ -2,7 +2,7 @@ import mmcv
 import numpy as np
 import torch
 
-from mmdet.core.mask_ops import segms
+from mmdet.core.mask import segms
 
 __all__ = [
     'ImageTransform', 'BboxTransform', 'PolyMaskTransform', 'Numpy2Tensor'
-- 
GitLab