class_docstr: A PyTorch-Lightning DataModule module supporting all the dataloaders
  in PyTorchVideo for different phases (train, validation and testing) of
  Lightning tranining.
  
  Supports loading any aribtrary iterable and map-style PyTorchVideo dataset
  upon following the config schema detailed below.
  
  Args:
      dataloader (DataLoaderConf):
          An OmegaConf / Hydra Config object consisting of dataloder
          config for each phase i.e, train, val and test.
  
          The Hydra schema for this config is as defined in
          `pytorchvideo_trainer.datamodule.datamodule.DataLoaderConf`
  
          One such example config can be found at
          `pytorchvideo_trainer/conf/datamodule/dataloader/kinetics_classification.yaml`
  
      transforms (TransformsConf):
          An OmegaConf / Hydra Config object consisting of transforms
          config for each phase i.e, train, val and test.
  
          The Hydra schema for this config is as defined in
          `pytorchvideo_trainer.datamodule.datamodule.TransformsConf`
  
          One such example config used for Resnet50 video model traning can be found at
          `pytorchvideo_trainer/conf/datamodule/transforms/kinetics_classification_slow.yaml`
code: def __init__(
      self,
      dataloader: DataLoaderConf,
      transforms: TransformsConf,
  ) -> None:
      super().__init__()
      self.config: Dict[str, Any] = {
          "train": dataloader.train,
          "val": dataloader.val,
          "test": dataloader.test,
      }
      self.transforms: Dict[str, Any] = {
          "train": build_transforms(transforms.train),
          "val": build_transforms(transforms.val),
          "test": build_transforms(transforms.test),
      }
      self.datasets: dict[str, Any] = {
          "train": None,
          "val": None,
          "test": None,
      }
  
imports: from __future__ import annotations
  import logging
  from dataclasses import dataclass
  from typing import Any, Callable, Dict, List, Optional
  import hydra
  import pytorch_lightning
  import pytorchvideo.data
  import torch
  from hydra.core.config_store import ConfigStore
  from omegaconf import MISSING
  from pytorchvideo_trainer.datamodule.transforms import build_transforms
  from torch.utils.data import DataLoader, RandomSampler
  from torch.utils.data.distributed import DistributedSampler
  from torchrecipes.core.conf import DataModuleConf
  from torchrecipes.utils.config_utils import get_class_name_str
label_desc: Use image node_id 1 to create a new PyTorchVideoDataModule object from inherited base classes: pl with example: obj = PyTorchVideoDataModule(dataloader, transforms)