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 _get_dataset(
      self,
      phase: str,
      transforms: Optional[
          Callable[[Dict[str, Any]], Dict[str, Any]]
      ] = None,
  ) -> pytorchvideo.data.LabeledVideoDataset:
      video_sampler = RandomSampler
      if (
          torch.distributed.is_available()
          and torch.distributed.is_initialized()
      ):
          logging.info(
              "Distributed Environmnet detected, using DistributedSampler for dataset."
          )
          video_sampler = DistributedSampler
  
      dataset = hydra.utils.instantiate(
          self.config[phase].dataset,
          transform=transforms,
          video_sampler=video_sampler,
      )
      return dataset
  
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 7 for calling the PyTorchVideoDataModule obj's underlying member method code with example usage: obj._get_dataset(phase, transforms) and returns: dataset