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.