Dataset Handlers#
Researcher supplied Python modules that contain a dataset class (to handle processing, splitting, etc.) that are passed to the sacroml.attacks.target.Target must implement one of these abstract classes.
Scikit-learn models that use numpy arrays should implement SklearnDataHandler.
PyTorch models that use DataLoaders should implement PyTorchDataHandler.
API Reference#
Abstract data handler supporting both PyTorch and scikit-learn.
- class sacroml.attacks.data.PyTorchDataHandler[source]#
PyTorch dataset handling interface.
Methods
get_dataloader(dataset, indices[, ...])Return a data loader with a requested subset of samples.
Return a processed dataset.
Return a raw unprocessed dataset.
- abstractmethod __init__() None#
Instantiate a data handler.
- abstractmethod get_dataloader(dataset: Dataset, indices: Sequence[int], batch_size: int = 32, shuffle: bool = False) DataLoader[source]#
Return a data loader with a requested subset of samples.
- Parameters:
- datasetDataset
A (processed) PyTorch dataset.
- indicesSequence[int]
The indices to load from the dataset.
- batch_sizeint
The batch_size to sample the dataset.
- shufflebool
Whether to shuffle the data.
- Returns:
- DataLoader
A PyTorch DataLoader.
- class sacroml.attacks.data.SklearnDataHandler[source]#
Scikit-learn data handling interface.
Methods
get_data()Return the processed data arrays.
Return the original unprocessed data arrays.
get_subset(X, y, indices)Return a subset of the data.
- abstractmethod __init__() None#
Instantiate a data handler.
- abstractmethod get_data() tuple[ndarray, ndarray][source]#
Return the processed data arrays.
- Returns:
- tuple[np.ndarray, np.ndarray]
Features (X) and targets (y) as numpy arrays.
- abstractmethod get_raw_data() tuple[ndarray, ndarray] | None[source]#
Return the original unprocessed data arrays.
- Returns:
- tuple[np.ndarray, np.ndarray] | None
Features (X) and targets (y) as numpy arrays.
- abstractmethod get_subset(X: ndarray, y: ndarray, indices: Sequence[int]) tuple[ndarray, ndarray][source]#
Return a subset of the data.
- Parameters:
- Xnp.ndarray
Feature array.
- ynp.ndarray
Target array.
- indicesSequence[int]
The indices to extract.
- Returns:
- tuple[np.ndarray, np.ndarray]
Subset of features and targets.