code: def _parse_dataset_str(dataset_str: str):
      tokens = dataset_str.split(":")
  
      name = tokens[0]
      kwargs = {}
  
      for token in tokens[1:]:
          key, value = token.split("=")
          assert key in ("root", "extra", "split")
          kwargs[key] = value
  
      if name == "ImageNet":
          class_ = ImageNet
          if "split" in kwargs:
              kwargs["split"] = ImageNet.Split[kwargs["split"]]
      elif name == "ImageNet22k":
          class_ = ImageNet22k
      else:
          raise ValueError(f'Unsupported dataset "{name}"')
  
      return class_, kwargs
  
file_path: dinov2/dinov2/data/loaders.py
imports: import logging
  from enum import Enum
  from typing import Any, Callable, List, Optional, TypeVar
  import torch
  from torch.utils.data import Sampler
  from .datasets import ImageNet, ImageNet22k
  from .samplers import EpochSampler, InfiniteSampler, ShardedInfiniteSampler
label_desc: Use image node_id 3 for calling a global function with example usage: _parse_dataset_str(dataset_str) and returns: class_,  kwargs