DatasetTrainTest

class torchhd.datasets.DatasetTrainTest(root: str, train: bool = True, hyper_search: bool = False, transform: Callable | None = None, target_transform: Callable | None = None, download: bool = False)[source]

Generic class for loading datasets with separate files for train and test data that were used in Do we Need Hundreds of Classifiers to Solve Real World Classification Problems?.

Parameters:
  • root (string) – Root directory containing the files of the dataset.

  • train (bool, optional) – If True, returns training (sub)set from the file storing training data as further determined by hyper_search variable. Otherwise returns a subset of train dataset if hyperparameter search is performed (hyper_search = True) if not (hyper_search = False) returns test set.

  • hyper_search (bool, optional) – If True, creates dataset using indices in conxuntos.dat. This split is used for hyperparameter search. The first row corresponds to train indices (used if train = True) while the second row corresponds to test indices (used if train = False).

  • transform (callable, optional) – A function/transform that takes in an torch.FloatTensor and returns a transformed version.

  • target_transform (callable, optional) – A function/transform that takes in the target and transforms it.

  • download (bool, optional) – If True, downloads the dataset from the internet and puts it in root directory. If dataset is already downloaded, it is not downloaded again.

Special-members:

__getitem__(index: int) Tuple[FloatTensor, LongTensor]
Parameters:

index (int) – Index

Returns:

(sample, target) where target is the index of the target class

Return type:

Tuple[torch.FloatTensor, torch.LongTensor]