From 8b297dcff14f8401df02263930156372df80db64 Mon Sep 17 00:00:00 2001 From: Nic Ma Date: Wed, 13 Oct 2021 21:59:24 +0800 Subject: [PATCH] [DLMED] fix 1.5.1 cron test Signed-off-by: Nic Ma --- monai/transforms/utils_pytorch_numpy_unification.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/monai/transforms/utils_pytorch_numpy_unification.py b/monai/transforms/utils_pytorch_numpy_unification.py index 3cb6b0a22d..72d1949b16 100644 --- a/monai/transforms/utils_pytorch_numpy_unification.py +++ b/monai/transforms/utils_pytorch_numpy_unification.py @@ -16,6 +16,7 @@ from monai.config.type_definitions import NdarrayOrTensor from monai.utils.misc import is_module_ver_at_least +from monai.utils.type_conversion import convert_to_dst_type __all__ = [ "moveaxis", @@ -294,8 +295,14 @@ def isfinite(x): def searchsorted(a: NdarrayOrTensor, v: NdarrayOrTensor, right=False, sorter=None): + side = "right" if right else "left" if isinstance(a, np.ndarray): - side = "right" if right else "left" return np.searchsorted(a, v, side, sorter) # type: ignore else: - return torch.searchsorted(a, v, right=right) # type: ignore + if hasattr(torch, "searchsorted"): + return torch.searchsorted(a, v, right=right) # type: ignore + else: + # if using old PyTorch, will convert to numpy array then compute + ret = np.searchsorted(a.cpu().numpy(), v.cpu().numpy(), side, sorter) # type: ignore + ret, *_ = convert_to_dst_type(ret, a) + return ret