Skip to content

Commit 4190a3e

Browse files
committed
has cupy check
Signed-off-by: Wenqi Li <[email protected]>
1 parent e655b4e commit 4190a3e

13 files changed

+45
-51
lines changed

tests/test_cast_to_type.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,8 @@
1616
from parameterized import parameterized
1717

1818
from monai.transforms import CastToType
19-
from monai.utils import optional_import
2019
from monai.utils.type_conversion import get_equivalent_dtype
21-
from tests.utils import TEST_NDARRAYS
22-
23-
cp, has_cp = optional_import("cupy")
20+
from tests.utils import HAS_CUPY, TEST_NDARRAYS
2421

2522
TESTS = []
2623
for p in TEST_NDARRAYS:
@@ -45,7 +42,7 @@ def test_type(self, out_dtype, input_data, expected_type):
4542
self.assertEqual(result.dtype, get_equivalent_dtype(expected_type, type(result)))
4643

4744
@parameterized.expand(TESTS_CUPY)
48-
@unittest.skipUnless(has_cp, "Requires CuPy")
45+
@unittest.skipUnless(HAS_CUPY, "Requires CuPy")
4946
def test_type_cupy(self, out_dtype, input_data, expected_type):
5047
input_data = cp.asarray(input_data)
5148

tests/test_cast_to_typed.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,7 @@
1616
from parameterized import parameterized
1717

1818
from monai.transforms import CastToTyped
19-
from monai.utils import optional_import
20-
21-
cp, has_cp = optional_import("cupy")
19+
from tests.utils import HAS_CUPY
2220

2321
TEST_CASE_1 = [
2422
{"keys": ["img"], "dtype": np.float64},
@@ -58,7 +56,7 @@ def test_type(self, input_param, input_data, expected_type):
5856
self.assertEqual(v.dtype, expected_type[k])
5957

6058
@parameterized.expand(TESTS_CUPY)
61-
@unittest.skipUnless(has_cp, "Requires CuPy")
59+
@unittest.skipUnless(HAS_CUPY, "Requires CuPy")
6260
def test_type_cupy(self, input_param, input_data, expected_type):
6361
input_data = {k: cp.asarray(v) for k, v in input_data.items()}
6462

tests/test_cucim_dict_transform.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,9 @@
1616

1717
from monai.transforms import CuCIMd
1818
from monai.utils import optional_import, set_determinism
19-
from tests.utils import skip_if_no_cuda
19+
from tests.utils import HAS_CUPY, skip_if_no_cuda
2020

2121
_, has_cut = optional_import("cucim.core.operations.expose.transform")
22-
cp, has_cp = optional_import("cupy")
2322

2423
set_determinism(seed=0)
2524

@@ -62,7 +61,7 @@
6261

6362

6463
@skip_if_no_cuda
65-
@unittest.skipUnless(has_cp, "CuPy is required.")
64+
@unittest.skipUnless(HAS_CUPY, "CuPy is required.")
6665
@unittest.skipUnless(has_cut, "cuCIM transforms are required.")
6766
class TestCuCIMDict(unittest.TestCase):
6867
@parameterized.expand(

tests/test_cucim_transform.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,9 @@
1616

1717
from monai.transforms import CuCIM
1818
from monai.utils import optional_import, set_determinism
19-
from tests.utils import skip_if_no_cuda
19+
from tests.utils import HAS_CUPY, skip_if_no_cuda
2020

2121
_, has_cut = optional_import("cucim.core.operations.expose.transform")
22-
cp, has_cp = optional_import("cupy")
2322

2423
set_determinism(seed=0)
2524

@@ -62,7 +61,7 @@
6261

6362

6463
@skip_if_no_cuda
65-
@unittest.skipUnless(has_cp, "CuPy is required.")
64+
@unittest.skipUnless(HAS_CUPY, "CuPy is required.")
6665
@unittest.skipUnless(has_cut, "cuCIM transforms are required.")
6766
class TestCuCIM(unittest.TestCase):
6867
@parameterized.expand(

tests/test_nvtx_decorator.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@
3131
ToTensorD,
3232
)
3333
from monai.utils import Range, optional_import
34+
from tests.utils import HAS_CUPY
3435

3536
_, has_nvtx = optional_import("torch._C._nvtx", descriptor="NVTX is not installed. Are you sure you have a CUDA build?")
36-
_, has_cp = optional_import("cupy")
3737
_, has_tvt = optional_import("torchvision.transforms")
3838
_, has_cut = optional_import("cucim.core.operations.expose.transform")
3939

@@ -103,7 +103,7 @@ def test_tranform_dict(self, input):
103103
np.testing.assert_equal(output.numpy(), output3.numpy())
104104

105105
@parameterized.expand([TEST_CASE_WRAPPER])
106-
@unittest.skipUnless(has_cp, "Requires CuPy.")
106+
@unittest.skipUnless(HAS_CUPY, "Requires CuPy.")
107107
@unittest.skipUnless(has_cut, "Requires cuCIM transforms.")
108108
@unittest.skipUnless(has_tvt, "Requires torchvision transforms.")
109109
def test_wrapper_tranforms(self, input):

tests/test_rand_cucim_dict_transform.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,9 @@
1616

1717
from monai.transforms import RandCuCIMd
1818
from monai.utils import optional_import, set_determinism
19-
from tests.utils import skip_if_no_cuda
19+
from tests.utils import HAS_CUPY, skip_if_no_cuda
2020

2121
_, has_cut = optional_import("cucim.core.operations.expose.transform")
22-
cp, has_cp = optional_import("cupy")
2322

2423
set_determinism(seed=0)
2524

@@ -74,7 +73,7 @@
7473

7574

7675
@skip_if_no_cuda
77-
@unittest.skipUnless(has_cp, "CuPy is required.")
76+
@unittest.skipUnless(HAS_CUPY, "CuPy is required.")
7877
@unittest.skipUnless(has_cut, "cuCIM transforms are required.")
7978
class TestRandCuCIMDict(unittest.TestCase):
8079
@parameterized.expand(

tests/test_rand_cucim_transform.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,9 @@
1616

1717
from monai.transforms import RandCuCIM
1818
from monai.utils import optional_import, set_determinism
19-
from tests.utils import skip_if_no_cuda
19+
from tests.utils import HAS_CUPY, skip_if_no_cuda
2020

2121
_, has_cut = optional_import("cucim.core.operations.expose.transform")
22-
cp, has_cp = optional_import("cupy")
2322

2423
set_determinism(seed=0)
2524

@@ -74,7 +73,7 @@
7473

7574

7675
@skip_if_no_cuda
77-
@unittest.skipUnless(has_cp, "CuPy is required.")
76+
@unittest.skipUnless(HAS_CUPY, "CuPy is required.")
7877
@unittest.skipUnless(has_cut, "cuCIM transforms are required.")
7978
class TestRandCuCIM(unittest.TestCase):
8079
@parameterized.expand(

tests/test_to_cupy.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,10 @@
1616
import torch
1717

1818
from monai.transforms import ToCupy
19-
from monai.utils import optional_import
20-
from tests.utils import skip_if_no_cuda
19+
from tests.utils import HAS_CUPY, skip_if_no_cuda
2120

22-
cp, has_cp = optional_import("cupy")
2321

24-
25-
@skipUnless(has_cp, "CuPy is required.")
22+
@skipUnless(HAS_CUPY, "CuPy is required.")
2623
class TestToCupy(unittest.TestCase):
2724
def test_cupy_input(self):
2825
test_data = cp.array([[1, 2], [3, 4]], dtype=cp.float32)

tests/test_to_cupyd.py

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,11 @@
1616
import torch
1717

1818
from monai.transforms import ToCupyd
19-
from monai.utils import optional_import
20-
from tests.utils import skip_if_no_cuda
21-
22-
cp, has_cp = optional_import("cupy")
19+
from tests.utils import HAS_CUPY, skip_if_no_cuda
2320

2421

22+
@skipUnless(HAS_CUPY, "requires CUPY")
2523
class TestToCupyd(unittest.TestCase):
26-
@skipUnless(has_cp, "CuPy is required.")
2724
def test_cupy_input(self):
2825
test_data = cp.array([[1, 2], [3, 4]])
2926
test_data = cp.rot90(test_data)
@@ -33,7 +30,6 @@ def test_cupy_input(self):
3330
self.assertTrue(result.flags["C_CONTIGUOUS"])
3431
cp.testing.assert_allclose(result, test_data)
3532

36-
@skipUnless(has_cp, "CuPy is required.")
3733
def test_numpy_input(self):
3834
test_data = np.array([[1, 2], [3, 4]])
3935
test_data = np.rot90(test_data)
@@ -43,7 +39,6 @@ def test_numpy_input(self):
4339
self.assertTrue(result.flags["C_CONTIGUOUS"])
4440
cp.testing.assert_allclose(result, test_data)
4541

46-
@skipUnless(has_cp, "CuPy is required.")
4742
def test_tensor_input(self):
4843
test_data = torch.tensor([[1, 2], [3, 4]])
4944
test_data = test_data.rot90()
@@ -53,7 +48,6 @@ def test_tensor_input(self):
5348
self.assertTrue(result.flags["C_CONTIGUOUS"])
5449
cp.testing.assert_allclose(result, test_data.numpy())
5550

56-
@skipUnless(has_cp, "CuPy is required.")
5751
@skip_if_no_cuda
5852
def test_tensor_cuda_input(self):
5953
test_data = torch.tensor([[1, 2], [3, 4]]).cuda()
@@ -64,7 +58,6 @@ def test_tensor_cuda_input(self):
6458
self.assertTrue(result.flags["C_CONTIGUOUS"])
6559
cp.testing.assert_allclose(result, test_data.cpu().numpy())
6660

67-
@skipUnless(has_cp, "CuPy is required.")
6861
def test_list_tuple(self):
6962
test_data = [[1, 2], [3, 4]]
7063
result = ToCupyd(keys="img", wrap_sequence=True)({"img": test_data})["img"]

tests/test_to_numpy.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,11 @@
1616
import torch
1717

1818
from monai.transforms import ToNumpy
19-
from monai.utils import optional_import
20-
from tests.utils import assert_allclose, skip_if_no_cuda
21-
22-
cp, has_cp = optional_import("cupy")
19+
from tests.utils import HAS_CUPY, assert_allclose, skip_if_no_cuda
2320

2421

2522
class TestToNumpy(unittest.TestCase):
26-
@skipUnless(has_cp, "CuPy is required.")
23+
@skipUnless(HAS_CUPY, "CuPy is required.")
2724
def test_cupy_input(self):
2825
test_data = cp.array([[1, 2], [3, 4]])
2926
test_data = cp.rot90(test_data)

0 commit comments

Comments
 (0)