From 918219b86ddbadae459fd976130674d94495079d Mon Sep 17 00:00:00 2001 From: YunLiu <55491388+KumoLiu@users.noreply.github.com> Date: Thu, 25 Jul 2024 21:12:53 +0800 Subject: [PATCH 1/5] fix #7947 Signed-off-by: YunLiu <55491388+KumoLiu@users.noreply.github.com> --- monai/auto3dseg/analyzer.py | 2 +- monai/metrics/cumulative_average.py | 4 ++-- monai/metrics/panoptic_quality.py | 2 +- monai/metrics/rocauc.py | 4 ++-- monai/transforms/croppad/functional.py | 3 ++- monai/visualize/img2tensorboard.py | 2 +- 6 files changed, 9 insertions(+), 8 deletions(-) diff --git a/monai/auto3dseg/analyzer.py b/monai/auto3dseg/analyzer.py index 37f3faea21..e60327b551 100644 --- a/monai/auto3dseg/analyzer.py +++ b/monai/auto3dseg/analyzer.py @@ -470,7 +470,7 @@ def __call__(self, data: Mapping[Hashable, MetaTensor]) -> dict[Hashable, MetaTe unique_label = unique(ndas_label) if isinstance(ndas_label, (MetaTensor, torch.Tensor)): - unique_label = unique_label.data.cpu().numpy() + unique_label = unique_label.data.cpu().numpy() # type: ignore[assignment] unique_label = unique_label.astype(np.int16).tolist() diff --git a/monai/metrics/cumulative_average.py b/monai/metrics/cumulative_average.py index e55e7b8576..76e606baff 100644 --- a/monai/metrics/cumulative_average.py +++ b/monai/metrics/cumulative_average.py @@ -73,7 +73,7 @@ def get_current(self, to_numpy: bool = True) -> NdarrayOrTensor: dist.all_reduce(val) if to_numpy: - val = val.cpu().numpy() + val = val.cpu().numpy() # type: ignore[assignment] return val @@ -99,7 +99,7 @@ def aggregate(self, to_numpy: bool = True) -> NdarrayOrTensor: val = torch.where(count > 0, sum / count, sum) if to_numpy: - val = val.cpu().numpy() + val = val.cpu().numpy() # type: ignore[assignment] return val def append(self, val: Any, count: Any | None = 1) -> None: diff --git a/monai/metrics/panoptic_quality.py b/monai/metrics/panoptic_quality.py index 05175ba0fb..7c9d59c264 100644 --- a/monai/metrics/panoptic_quality.py +++ b/monai/metrics/panoptic_quality.py @@ -274,7 +274,7 @@ def _get_paired_iou( return paired_iou, paired_true, paired_pred - pairwise_iou = pairwise_iou.cpu().numpy() + pairwise_iou = pairwise_iou.cpu().numpy() # type: ignore[assignment] paired_true, paired_pred = linear_sum_assignment(-pairwise_iou) paired_iou = pairwise_iou[paired_true, paired_pred] paired_true = torch.as_tensor(list(paired_true[paired_iou > match_iou_threshold] + 1), device=device) diff --git a/monai/metrics/rocauc.py b/monai/metrics/rocauc.py index 56d9faa9dd..57a8a072b4 100644 --- a/monai/metrics/rocauc.py +++ b/monai/metrics/rocauc.py @@ -88,8 +88,8 @@ def _calculate(y_pred: torch.Tensor, y: torch.Tensor) -> float: n = len(y) indices = y_pred.argsort() - y = y[indices].cpu().numpy() - y_pred = y_pred[indices].cpu().numpy() + y = y[indices].cpu().numpy() # type: ignore[assignment] + y_pred = y_pred[indices].cpu().numpy() # type: ignore[assignment] nneg = auc = tmp_pos = tmp_neg = 0.0 for i in range(n): diff --git a/monai/transforms/croppad/functional.py b/monai/transforms/croppad/functional.py index a8286fb90c..1e77dbd1f2 100644 --- a/monai/transforms/croppad/functional.py +++ b/monai/transforms/croppad/functional.py @@ -27,6 +27,7 @@ from monai.transforms.inverse import TraceableTransform from monai.transforms.utils import convert_pad_mode, create_translate from monai.utils import PytorchPadMode, convert_to_dst_type, convert_to_numpy, convert_to_tensor, ensure_tuple +from monai.config.type_definitions import NdarrayOrTensor __all__ = ["pad_nd", "pad_func", "crop_func", "crop_or_pad_nd"] @@ -48,7 +49,7 @@ def _np_pad(img: NdarrayTensor, pad_width: list[tuple[int, int]], mode: str, **k warnings.warn(f"Padding: moving img {img.shape} from cuda to cpu for dtype={img.dtype} mode={mode}.") img_np = img.detach().cpu().numpy() else: - img_np = img + img_np = np.asarray(img) mode = convert_pad_mode(dst=img_np, mode=mode).value if mode == "constant" and "value" in kwargs: kwargs["constant_values"] = kwargs.pop("value") diff --git a/monai/visualize/img2tensorboard.py b/monai/visualize/img2tensorboard.py index e7884e9b1f..3436f648ca 100644 --- a/monai/visualize/img2tensorboard.py +++ b/monai/visualize/img2tensorboard.py @@ -176,7 +176,7 @@ def plot_2d_or_3d_image( # as the `d` data has no batch dim, reduce the spatial dim index if positive frame_dim = frame_dim - 1 if frame_dim > 0 else frame_dim - d: np.ndarray = data_index.detach().cpu().numpy() if isinstance(data_index, torch.Tensor) else data_index + d: np.ndarray = data_index.detach().cpu().numpy() if isinstance(data_index, torch.Tensor) else np.asarray(data_index) if d.ndim == 2: d = rescale_array(d, 0, 1) # type: ignore From 49468baf589d178bf72e489ade8285fdb23fea7d Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 25 Jul 2024 13:14:59 +0000 Subject: [PATCH 2/5] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- monai/transforms/croppad/functional.py | 1 - 1 file changed, 1 deletion(-) diff --git a/monai/transforms/croppad/functional.py b/monai/transforms/croppad/functional.py index 1e77dbd1f2..361ec48dcd 100644 --- a/monai/transforms/croppad/functional.py +++ b/monai/transforms/croppad/functional.py @@ -27,7 +27,6 @@ from monai.transforms.inverse import TraceableTransform from monai.transforms.utils import convert_pad_mode, create_translate from monai.utils import PytorchPadMode, convert_to_dst_type, convert_to_numpy, convert_to_tensor, ensure_tuple -from monai.config.type_definitions import NdarrayOrTensor __all__ = ["pad_nd", "pad_func", "crop_func", "crop_or_pad_nd"] From 2551a40e9a9c619630654c10af254b211e14c961 Mon Sep 17 00:00:00 2001 From: YunLiu <55491388+KumoLiu@users.noreply.github.com> Date: Thu, 25 Jul 2024 21:21:39 +0800 Subject: [PATCH 3/5] fix flake8 Signed-off-by: YunLiu <55491388+KumoLiu@users.noreply.github.com> --- monai/visualize/img2tensorboard.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/monai/visualize/img2tensorboard.py b/monai/visualize/img2tensorboard.py index 3436f648ca..677640bd04 100644 --- a/monai/visualize/img2tensorboard.py +++ b/monai/visualize/img2tensorboard.py @@ -176,7 +176,9 @@ def plot_2d_or_3d_image( # as the `d` data has no batch dim, reduce the spatial dim index if positive frame_dim = frame_dim - 1 if frame_dim > 0 else frame_dim - d: np.ndarray = data_index.detach().cpu().numpy() if isinstance(data_index, torch.Tensor) else np.asarray(data_index) + d: np.ndarray = ( + data_index.detach().cpu().numpy() if isinstance(data_index, torch.Tensor) else np.asarray(data_index) + ) if d.ndim == 2: d = rescale_array(d, 0, 1) # type: ignore From be4be490e906830441408574613984aee7647f9f Mon Sep 17 00:00:00 2001 From: YunLiu <55491388+KumoLiu@users.noreply.github.com> Date: Thu, 25 Jul 2024 22:42:25 +0800 Subject: [PATCH 4/5] minor fix Signed-off-by: YunLiu <55491388+KumoLiu@users.noreply.github.com> --- monai/metrics/cumulative_average.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/monai/metrics/cumulative_average.py b/monai/metrics/cumulative_average.py index 76e606baff..3c67a5ce24 100644 --- a/monai/metrics/cumulative_average.py +++ b/monai/metrics/cumulative_average.py @@ -96,10 +96,11 @@ def aggregate(self, to_numpy: bool = True) -> NdarrayOrTensor: dist.all_reduce(sum) dist.all_reduce(count) + val: NdarrayOrTensor val = torch.where(count > 0, sum / count, sum) if to_numpy: - val = val.cpu().numpy() # type: ignore[assignment] + val = val.cpu().numpy() return val def append(self, val: Any, count: Any | None = 1) -> None: From b77f193c0d92a6a658286e7edc08ee1d844bf2e6 Mon Sep 17 00:00:00 2001 From: YunLiu <55491388+KumoLiu@users.noreply.github.com> Date: Thu, 25 Jul 2024 22:44:52 +0800 Subject: [PATCH 5/5] minor fix Signed-off-by: YunLiu <55491388+KumoLiu@users.noreply.github.com> --- monai/metrics/cumulative_average.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/monai/metrics/cumulative_average.py b/monai/metrics/cumulative_average.py index 3c67a5ce24..dccf7b094b 100644 --- a/monai/metrics/cumulative_average.py +++ b/monai/metrics/cumulative_average.py @@ -65,6 +65,7 @@ def get_current(self, to_numpy: bool = True) -> NdarrayOrTensor: if self.val is None: return 0 + val: NdarrayOrTensor val = self.val.clone() val[~torch.isfinite(val)] = 0 @@ -73,7 +74,7 @@ def get_current(self, to_numpy: bool = True) -> NdarrayOrTensor: dist.all_reduce(val) if to_numpy: - val = val.cpu().numpy() # type: ignore[assignment] + val = val.cpu().numpy() return val