secmlt.tests package#

Submodules#

secmlt.tests.fixtures module#

secmlt.tests.mocks module#

Mock classes for testing.

class secmlt.tests.mocks.MockLayer(*args, **kwargs)[source]#

Bases: Function

Fake layer that returns the input.

static backward(ctx, grad_output: Tensor) Tensor[source]#

Fake backward, returns inputs.

static forward(ctx, inputs: Tensor) Tensor[source]#

Fake forward, returns 10 scores.

class secmlt.tests.mocks.MockLoss(*args: Any, **kwargs: Any)[source]#

Bases: Module

Fake loss function.

forward() Tensor[source]#

Override forward.

class secmlt.tests.mocks.MockModel(*args: Any, **kwargs: Any)[source]#

Bases: Module

Mock class for torch model.

decision_function(*args, **kwargs) Tensor[source]#

Return random outputs for classification and add fake gradients to x.

forward(x: Tensor) Tensor[source]#

Return random outputs for classification and add fake gradients to x.

static parameters() Iterator[Tensor][source]#

Return fake parameters.

secmlt.tests.mocks_lm module#

Mock classes for testing language models.

class secmlt.tests.mocks_lm.MockHFModel[source]#

Bases: Module

Fake causal LM returning random logits and hidden states.

forward(input_ids: Tensor, attention_mask: Tensor | None = None, **kwargs: Any) SimpleNamespace[source]#

Simulate a forward pass returning random logits and hidden states.

generate(input_ids: Tensor, attention_mask: Tensor | None = None, **kwargs: Any) Tensor[source]#

Simulate text generation returning random token IDs.

class secmlt.tests.mocks_lm.MockHFTokenizer(with_chat_template: bool = True)[source]#

Bases: object

Fake tokenizer replicating minimal HF interface.

batch_decode(ids: Tensor, skip_special_tokens: bool = True, **kwargs: Any) list[str][source]#

Simulate decoding of token IDs into dummy text.

secmlt.tests.test_aggregators module#

secmlt.tests.test_aggregators.test_fixed_epsilon_ensemble(model, data_loader, adv_loaders) None[source]#
secmlt.tests.test_aggregators.test_min_distance_ensemble(model, data_loader, adv_loaders) None[source]#

secmlt.tests.test_attacks module#

secmlt.tests.test_backdoors module#

secmlt.tests.test_constants module#

secmlt.tests.test_constants.test_backends() None[source]#
secmlt.tests.test_constants.test_perturbation_models() None[source]#

secmlt.tests.test_constraints module#

secmlt.tests.test_data module#

secmlt.tests.test_data.test_gnormal_dist_dtype()[source]#
secmlt.tests.test_data.test_gnormal_dist_p()[source]#
secmlt.tests.test_data.test_gnormal_dist_shape()[source]#
secmlt.tests.test_data.test_lp_uniform_sampling()[source]#
secmlt.tests.test_data.test_rademacher_dist_shape()[source]#
secmlt.tests.test_data.test_rademacher_dist_values()[source]#

secmlt.tests.test_imports module#

secmlt.tests.test_lm module#

secmlt.tests.test_manipulations module#

secmlt.tests.test_metrics module#

secmlt.tests.test_metrics.test_accuracy(model, data_loader) None[source]#
secmlt.tests.test_metrics.test_accuracy_ensemble(model, adv_loaders)[source]#
secmlt.tests.test_metrics.test_accuracy_ensemble_uses_predict_not_call(data_loader)[source]#
secmlt.tests.test_metrics.test_accuracy_uses_predict_not_call(data_loader)[source]#
secmlt.tests.test_metrics.test_accuracy_wraps_raw_nn_module(data_loader)[source]#
secmlt.tests.test_metrics.test_attack_success_rate(model, adv_loaders)[source]#
secmlt.tests.test_metrics.test_ensemble_success_rate(model, adv_loaders)[source]#

secmlt.tests.test_perturbation_models module#

secmlt.tests.test_schedulers module#

secmlt.tests.test_tensorboard_tracker module#

secmlt.tests.test_trackers module#

secmlt.tests.test_trainer module#

secmlt.tests.test_trainer.test_pytorch_trainer(model, data_loader) None[source]#

secmlt.tests.test_utils module#

Module contents#