class_docstr: Base class for Image-Text multi-modal learning
  
  Args:
      opts: command-line arguments
class_docstr_tok: ["Base","class","for","Image-Text","multi-modal","learning","Args",":","opts",":","command-line","arguments"]
docstr: If zero-shot evaluation is enabled, zero-shot dataset is returned.
  Otherwise, None is returned
docstr_tok: ["If","zero-shot","evaluation","is","enabled",",","zero-shot","dataset","is","returned",".","Otherwise",",","None","is","returned"]
code: def get_zero_shot_dataset(
      self, *args, **kwargs
  ) -> Optional[BaseZeroShotDataset]:
      """If zero-shot evaluation is enabled, zero-shot dataset is returned.
      Otherwise, None is returned
      """
      zero_shot_eval = (
          False
          if self.is_training
          else getattr(
              self.opts,
              "dataset.multi_modal_img_text.zero_shot_eval",
              False,
          )
      )
      if zero_shot_eval:
          zero_shot_dataset = build_zero_shot_dataset(
              opts=self.opts, *args, **kwargs
          )
      else:
          zero_shot_dataset = None
      return zero_shot_dataset
  
imports: import argparse
  import os
  from typing import Any, Dict, List, Mapping, Optional, Tuple, Union
  import torch
  from PIL import Image
  from torch import Tensor
  from data.collate_fns import COLLATE_FN_REGISTRY
  from data.datasets.dataset_base import BaseImageDataset
  from data.datasets.multi_modal_img_text.zero_shot import BaseZeroShotDataset, build_zero_shot_dataset
  from data.datasets.utils.text import caption_preprocessing
  from data.text_tokenizer import build_tokenizer
  from data.transforms import image_pil
  from data.transforms.common import Compose
  from utils import logger
  from utils.ddp_utils import is_master, is_start_rank_node
label_desc: Use image node_id 2 for calling the BaseMultiModalImgText obj's underlying member method code with example usage: obj.get_zero_shot_dataset() and returns: zero_shot_dataset