code: def test_multilabel_input_uint8(self):
      device = idist.device()
  
      def get_test_cases():
          y_pred = torch.randint(
              0,
              256,
              (n_iters * batch_size, 3, 16, 16),
              device=device,
              dtype=torch.uint8,
          )
          y = (y_pred * 0.65).to(torch.uint8)
  
          return y_pred, y
  
      n_iters = 100
      batch_size = 10
  
      rank = idist.get_rank()
      for i in range(3):
          # check multiple random inputs as random exact occurencies are rare
          torch.manual_seed(42 + rank + i)
          y_pred, y = get_test_cases()
          _test(y_pred, y, 100, "cpu", n_iters, batch_size, atol=1e-8)
          if device.type != "xla":
              _test(
                  y_pred,
                  y,
                  100,
                  idist.device(),
                  n_iters,
                  batch_size,
                  atol=1e-8,
              )
  
file_path: ignite/tests/ignite/metrics/test_psnr.py
imports: import numpy
  import pytest
  import torch
  from skimage.metrics import peak_signal_noise_ratio
  import ignite.distributed
  from ignite.engine import Engine
  from ignite.exceptions import NotComputableError
  from ignite.metrics import PSNR
  from ignite.utils import manual_seed
label_desc: Use image node_id 3 for calling the TestDistributed obj's underlying member method code with example usage: obj.test_multilabel_input_uint8() and returns: y_pred,  y