Target#
Store information about the target model and data.
- class sacroml.attacks.target.Target(model: SklearnModel | PytorchModel | BaseEstimator | Module | None = None, model_path: str = '', model_module_path: str = '', model_name: str = '', model_params: dict | None = None, train_module_path: str = '', train_params: dict | None = None, batch_size: int | None = None, dataset_name: str = '', dataset_module_path: str = '', features: dict = <factory>, X_train: ndarray | None = None, y_train: ndarray | None = None, X_test: ndarray | None = None, y_test: ndarray | None = None, X_train_orig: ndarray | None = None, y_train_orig: ndarray | None = None, X_test_orig: ndarray | None = None, y_test_orig: ndarray | None = None, proba_train: ndarray | None = None, proba_test: ndarray | None = None, indices_train: Sequence[int] | None = None, indices_test: Sequence[int] | None = None, safemodel: list = <factory>)[source]#
Store information about the target model and data.
- Attributes:
- modelModelLike
Trained target model.
- model_pathstr
Path to a saved model.
- model_module_pathstr
Path to module containing model class.
- model_namestr
Class name of model.
- model_paramsdict or None
Hyperparameters for instantiating the model.
- train_module_pathstr
Path to module containing training function.
- train_paramsdict or None
Hyperparameters for training the model.
- batch_sizeint or None
Batch size used to train the original target model. Threaded to PyTorch model (re)training and inference. Should match the original training batch size since it materially affects attack model fidelity (e.g. shadow models). When None, PyTorch defaults to 32.
- dataset_namestr
The name of the dataset.
- dataset_module_pathstr
Path to module containing dataset loading function.
- featuresdict
Dictionary describing the dataset features.
- X_trainnp.ndarray or None
The (processed) training inputs.
- y_trainnp.ndarray or None
The (processed) training outputs.
- X_testnp.ndarray or None
The (processed) testing inputs.
- y_testnp.ndarray or None
The (processed) testing outputs.
- X_train_orignp.ndarray or None
The original (unprocessed) training inputs.
- y_train_orignp.ndarray or None
The original (unprocessed) training outputs.
- X_test_orignp.ndarray or None
The original (unprocessed) testing inputs.
- y_test_orignp.ndarray or None
The original (unprocessed) testing outputs.
- proba_trainnp.ndarray or None
The model predicted training probabilities.
- proba_testnp.ndarray or None
The model predicted testing probabilities.
- indices_trainSequence[int] or None
Indices of training set samples.
- indices_testSequence[int] or None
Indices of test set samples.
- safemodellist
Results of safemodel disclosure checking.
Methods
add_feature(name, indices, encoding)Add a feature description to the data dictionary.
add_safemodel_results(data)Add safemodel disclosure checking results.
Calculate model generalisation error.
has_data()Return whether the target has all processed data.
Return whether the target has a loaded model.
Return whether the target has all probability data.
Return whether the target has all raw data.
load([path])Load target from persistent storage.
load_array(arr_path, attr_name)Load array from pickle or CSV file.
Wrap dataset for Pytorch models given a dataset Python script.
Wrap dataset for scikit-learn models given a dataset Python script.
save([path, ext])Save target to persistent storage.
- __init__(model: SklearnModel | PytorchModel | BaseEstimator | Module | None = None, model_path: str = '', model_module_path: str = '', model_name: str = '', model_params: dict | None = None, train_module_path: str = '', train_params: dict | None = None, batch_size: int | None = None, dataset_name: str = '', dataset_module_path: str = '', features: dict = <factory>, X_train: ndarray | None = None, y_train: ndarray | None = None, X_test: ndarray | None = None, y_test: ndarray | None = None, X_train_orig: ndarray | None = None, y_train_orig: ndarray | None = None, X_test_orig: ndarray | None = None, y_test_orig: ndarray | None = None, proba_train: ndarray | None = None, proba_test: ndarray | None = None, indices_train: Sequence[int] | None = None, indices_test: Sequence[int] | None = None, safemodel: list = <factory>) None#
- add_feature(name: str, indices: list[int], encoding: str) None[source]#
Add a feature description to the data dictionary.
- load_sklearn_dataset() None[source]#
Wrap dataset for scikit-learn models given a dataset Python script.
- X_test: ndarray | None = None#
- X_test_orig: ndarray | None = None#
- X_train: ndarray | None = None#
- X_train_orig: ndarray | None = None#
- batch_size: int | None = None#
- dataset_module_path: str = ''#
- dataset_name: str = ''#
- features: dict#
- indices_test: Sequence[int] | None = None#
- indices_train: Sequence[int] | None = None#
- model: SklearnModel | PytorchModel | BaseEstimator | Module | None = None#
- model_module_path: str = ''#
- model_name: str = ''#
- model_params: dict | None = None#
- model_path: str = ''#
- property n_features: int#
Number of features.
- proba_test: ndarray | None = None#
- proba_train: ndarray | None = None#
- safemodel: list#
- train_module_path: str = ''#
- train_params: dict | None = None#
- y_test: ndarray | None = None#
- y_test_orig: ndarray | None = None#
- y_train: ndarray | None = None#
- y_train_orig: ndarray | None = None#