class_docstr: PCAM Dataset
  
  homepage="https://github.com/basveeling/pcam"
code: def __init__(
      self,
      root: Union[str, pathlib.Path],
      split: str = "train",
      *,
      skip_integrity_check: bool = False,
  ) -> None:
      self._split = self._verify_str_arg(
          split, "split", {"train", "val", "test"}
      )
      self._categories = _info()["categories"]
      super().__init__(
          root,
          skip_integrity_check=skip_integrity_check,
          dependencies=("h5py",),
      )
  
imports: import io
  import pathlib
  from collections import namedtuple
  from typing import Any, Dict, Iterator, List, Optional, Tuple, Union
  from torchdata.datapipes.iter import IterDataPipe, Mapper, Zipper
  from torchvision.prototype.datasets.utils import Dataset, GDriveResource, OnlineResource
  from torchvision.prototype.datasets.utils._internal import hint_sharding, hint_shuffling
  from torchvision.prototype.tv_tensors import Label
  from torchvision.tv_tensors import Image
  from .._api import register_dataset, register_info
label_desc: Use image node_id 1 to create a new PCAM object from inherited base classes: Dataset with example: obj = PCAM(root, split)