code: def test_dists(
      num_samples: int, arange_4d_image: Tensor, monkeypatch
  ):
      if arange_4d_image.shape[1] != 3:
          return
  
      monkeypatch.setattr(
          neuralcompression.metrics._fid,
          "NoTrainInceptionV3",
          MockBackbone,
      )
      monkeypatch.setattr(
          neuralcompression.metrics._fid_swav,
          "NoTrainSwAV",
          MockBackbone,
      )
      monkeypatch.setattr(
          neuralcompression.metrics._kid,
          "NoTrainInceptionV3",
          MockBackbone,
      )
  
      fid_metric = FrechetInceptionDistance()
      fid_swav_metric = FrechetInceptionDistanceSwAV()
      kid_metric = KernelInceptionDistance()
  
      for _ in range(num_samples):
          sample1 = torch.randn_like(arange_4d_image).abs()
          sample1 = sample1 / sample1.max()
          sample2 = torch.randn_like(arange_4d_image).abs()
          sample2 = sample2 / sample2.max()
  
          update_patch_fid(
              sample1,
              sample2,
              fid_metric,
              fid_swav_metric,
              kid_metric,
              patch_size=128,
          )
  
file_path: NeuralCompression/tests/metrics/test_update_patch_fid.py
imports: import pytest
  import torch
  from conftest import MockBackbone
  from torch import Tensor
  import neuralcompression.metrics._fid
  import neuralcompression.metrics._fid_swav
  import neuralcompression.metrics._kid
  from neuralcompression.metrics import FrechetInceptionDistance, FrechetInceptionDistanceSwAV, KernelInceptionDistance, update_patch_fid
label_desc: Use image node_id 1 for calling a global function with example usage: test_dists(num_samples, arange_4d_image, monkeypatch) without return types