class_docstr: Basic CUB200 PathsDataset to be used as a standard PyTorch Dataset.
  A classic continual learning benchmark built on top of this dataset
  can be found in 'benchmarks.classic', while for more custom benchmark
  design please use the 'benchmarks.generators'.
code: def _download_dataset(self) -> None:
      try:
          self._download_and_extract_archive(
              CUB200.official_url,
              CUB200.filename,
              checksum=CUB200.tgz_md5,
          )
      except Exception:
          if self.verbose:
              print(
                  "[CUB200] Direct download may no longer be possible, "
                  "will try GDrive."
              )
  
      filepath = self.root / self.filename
      gdown.download(self.gdrive_url, str(filepath), quiet=False)
      gdown.cached_download(
          self.gdrive_url, str(filepath), md5=self.tgz_md5
      )
  
      self._extract_archive(filepath)
  
file_path: avalanche/avalanche/benchmarks/datasets/cub200/cub200.py
imports: import csv
  from pathlib import Path
  from typing import Dict, List, Optional, Tuple, Union
  import gdown
  import os
  from collections import OrderedDict
  from torchvision.datasets.folder import default_loader
  from avalanche.benchmarks.datasets import default_dataset_location, DownloadableDataset
  from avalanche.benchmarks.utils import PathsDataset
label_desc: Use image node_id 2 for calling the CUB200 obj's underlying member method code with example usage: obj._download_dataset() without return types