code: def test_compute(self):
      auc_metric = ROCAUC()
      act = Activations(softmax=True)
      to_onehot = AsDiscrete(to_onehot=2)
  
      device = (
          f"cuda:{dist.get_rank()}"
          if torch.cuda.is_available()
          else "cpu"
      )
      if dist.get_rank() == 0:
          y_pred = [
              torch.tensor([0.1, 0.9], device=device),
              torch.tensor([0.3, 1.4], device=device),
          ]
          y = [
              torch.tensor([0], device=device),
              torch.tensor([1], device=device),
          ]
  
      if dist.get_rank() == 1:
          y_pred = [
              torch.tensor([0.2, 0.1], device=device),
              torch.tensor([0.1, 0.5], device=device),
              torch.tensor([0.3, 0.4], device=device),
          ]
          y = [
              torch.tensor([0], device=device),
              torch.tensor([1], device=device),
              torch.tensor([1], device=device),
          ]
  
      y_pred = [act(p) for p in y_pred]
      y = [to_onehot(y_) for y_ in y]
      auc_metric.update([y_pred, y])
  
      result = auc_metric.compute()
      np.testing.assert_allclose(0.66667, result, rtol=1e-4)
  
file_path: MONAI/tests/test_handler_rocauc_dist.py
imports: from __future__ import annotations
  import unittest
  import numpy
  import torch
  import torch.distributed
  from monai.handlers import ROCAUC
  from monai.transforms import Activations, AsDiscrete
  from tests.utils import DistCall, DistTestCase
label_desc: Use image node_id 1 for calling the DistributedROCAUC obj's underlying member method code with example usage: obj.test_compute() without return types