code: def test_data(request, available_device):
      manual_seed(42)
      if request.param == "float":
          y_pred = torch.rand(8, 3, 28, 28, device=available_device)
          y = y_pred * 0.8
      elif request.param == "YCbCr":
          y_pred = torch.randint(
              16,
              236,
              (4, 1, 12, 12),
              dtype=torch.uint8,
              device=available_device,
          )
          y = torch.randint(
              16,
              236,
              (4, 1, 12, 12),
              dtype=torch.uint8,
              device=available_device,
          )
      elif request.param == "uint8":
          y_pred = torch.randint(
              0,
              256,
              (4, 3, 16, 16),
              dtype=torch.uint8,
              device=available_device,
          )
          y = (y_pred * 0.8).to(torch.uint8)
      elif request.param == "NHW shape":
          y_pred = torch.rand(8, 28, 28, device=available_device)
          y = y_pred * 0.8
      else:
          raise ValueError(
              f"Wrong fixture parameter, given {request.param}"
          )
      return (y_pred, y)
  
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 a global function with example usage: test_data(request, available_device) and returns: y_pred,  y