code: def setup(self, stage: Optional[str] = None):
      self.logger.info(f"OpenImages_V6 root: {self.open_images_root}")
      self.train_dataset = OpenImagesV6(
          root=str(self.open_images_root),
          split="train",
          transform=self.train_transform,
      )
      self.eval_dataset = OpenImagesV6(
          root=str(self.open_images_root),
          split="val",
          transform=self.val_transform,
      )
  
file_path: NeuralCompression/projects/illm/open_images_datamodule.py
imports: import logging
  from pathlib import Path
  from typing import Callable, List, Optional
  from default_transforms import default_train_transform, default_val_transform
  from lightning.pytorch import LightningDataModule
  from PIL.Image import Image
  from torch import Tensor
  from torch.utils.data import DataLoader
  from neuralcompression.data import OpenImagesV6
label_desc: Use image node_id 2 for calling the OpenImagesDataModule obj's underlying member method code with example usage: obj.setup(stage) without return types