class_docstr: PyTorch Lightning data module version of ``Vimeo90kSeptuplet``.
  
  Note:
      The ``Vimeo90kSeptuplet`` dataloader by default will return images in
      the range ``[0, 1)`` without needing to add a normalization transform.
  
  Args:
      data_dir: root directory of Vimeo dataset.
      frames_per_group: Number of frames to load for the batch.
      train_batch_size: The batch size to use during training.
      val_batch_size: The batch size to use during validation.
      image_size: The size of the crop to take from the original images.
      num_workers: The number of parallel workers to create to load data
          items (see PyTorch's Dataloader documentation for more details).
      pin_memory: Whether prepared items should be loaded into pinned memory
          or not. This improves performance on GPUs.
class_docstr_tok: ["PyTorch","Lightning","data","module","version","of","``","Vimeo90kSeptuplet","``",".","Note",":","The","``","Vimeo90kSeptuplet","``","dataloader","by","default","will","return","images","in","the","range","``","[","0",",","1",")","``","without","needing","to","add","a","normalization","transform",".","Args",":","data_dir",":","root","directory","of","Vimeo","dataset",".","frames_per_group",":","Number","of","frames","to","load","for","the","batch",".","train_batch_size",":","The","batch","size","to","use","during","training",".","val_batch_size",":","The","batch","size","to","use","during","validation",".","image_size",":","The","size","of","the","crop","to","take","from","the","original","images",".","num_workers",":","The","number","of","parallel","workers","to","create","to","load","data","items","(","see","PyTorch","'s","Dataloader","documentation","for","more","details",")",".","pin_memory",":","Whether","prepared","items","should","be","loaded","into","pinned","memory","or","not",".","This","improves","performance","on","GPUs","."]
code: def __init__(
      self,
      data_dir: str,
      frames_per_group: int = 2,
      train_batch_size: int = 8,
      val_batch_size: int = 8,
      image_size: Union[int, Sequence[int]] = 256,
      num_workers: int = 0,
      pin_memory: bool = False,
  ):
      super().__init__()
      if frames_per_group not in list(range(1, 8)):
          raise ValueError(
              f"Received frames_per_group of {frames_per_group}, "
              "must be int in [0, ..., 7]."
          )
      self.data_dir = data_dir
      self.frames_per_group = frames_per_group
      self.train_batch_size = train_batch_size
      self.val_batch_size = val_batch_size
      self.image_size = image_size
      self.num_workers = num_workers
      self.pin_memory = pin_memory
  
file_path: NeuralCompression/projects/deep_video_compression/data_module.py
imports: from typing import Optional, Sequence, Union
  from pytorch_lightning import LightningDataModule
  from torch.utils.data import DataLoader
  from torchvision import transforms
  from neuralcompression.data import Vimeo90kSeptuplet
label_desc: Use image node_id 1 to create a new Vimeo90kSeptupletLightning object from inherited base classes: LightningDataModule with example: obj = Vimeo90kSeptupletLightning(data_dir, frames_per_group, train_batch_size, val_batch_size, image_size, num_workers, pin_memory)