code: def test_normalize_video(self, channels):
      def samples_from_standard_normal(tensor):
          p_value = stats.kstest(
              list(tensor.view(-1)), "norm", args=(0, 1)
          ).pvalue
          return p_value > 0.0001
  
      random_state = random.getstate()
      random.seed(42)
  
      numFrames = random.randint(4, 128)
      height = random.randint(32, 256)
      width = random.randint(32, 256)
      mean = random.random()
      std = random.random()
      clip = torch.normal(
          mean, std, size=(channels, numFrames, height, width)
      )
      mean = [clip[c].mean().item() for c in range(channels)]
      std = [clip[c].std().item() for c in range(channels)]
      normalized = transforms.NormalizeVideo(mean, std)(clip)
      assert samples_from_standard_normal(normalized)
      random.setstate(random_state)
  
      # Checking the optional in-place behaviour
      tensor = torch.rand((3, 128, 16, 16))
      tensor_inplace = transforms.NormalizeVideo(
          (0.5, 0.5, 0.5), (0.5, 0.5, 0.5), inplace=True
      )(tensor)
      assert_equal(tensor, tensor_inplace)
  
      transforms.NormalizeVideo(
          (0.5, 0.5, 0.5), (0.5, 0.5, 0.5), inplace=True
      ).__repr__()
  
file_path: vision/test/test_transforms_video.py
imports: import random
  import warnings
  import numpy
  import pytest
  import torch
  from common_utils import assert_equal
  from torchvision.transforms import Compose
label_desc: Use image node_id 4 for calling the TestVideoTransforms obj's underlying member method code with example usage: obj.test_normalize_video(channels) and returns: unknown