class_docstr: Base class for a dataset of classes. Each item from a `ClassDataset` is 
  a dataset containing examples from the same class.
  
  Parameters
  ----------
  meta_train : bool (default: `False`)
      Use the meta-train split of the dataset. If set to `True`, then the
      arguments `meta_val` and `meta_test` must be set to `False`. Exactly one 
      of these three arguments must be set to `True`.
  
  meta_val : bool (default: `False`)
      Use the meta-validation split of the dataset. If set to `True`, then the 
      arguments `meta_train` and `meta_test` must be set to `False`. Exactly one 
      of these three arguments must be set to `True`.
  
  meta_test : bool (default: `False`)
      Use the meta-test split of the dataset. If set to `True`, then the 
      arguments `meta_train` and `meta_val` must be set to `False`. Exactly one 
      of these three arguments must be set to `True`.
  
  meta_split : string in {'train', 'val', 'test'}, optional
      Name of the split to use. This overrides the arguments `meta_train`, 
      `meta_val` and `meta_test`.
  
  class_augmentations : list of callable, optional
      A list of functions that augment the dataset with new classes. These classes 
      are transformations of existing classes. E.g. `transforms.HorizontalFlip()`.
code: def num_classes(self):
      raise NotImplementedError()
  
imports: import sys
  import numpy
  import warnings
  from copy import deepcopy
  from itertools import combinations
  from ordered_set import OrderedSet
  from torchvision.transforms import Compose
  from torchmeta.utils.data.task import ConcatTask
  from torchmeta.transforms import FixedCategory, Categorical, DefaultTargetTransform
  from torchmeta.transforms.utils import wrap_transform
label_desc: Use image node_id 7 for calling the ClassDataset obj's underlying member method code with example usage: obj.num_classes() without return types