abs_art_tabular.core.attacks package

Submodules

abs_art_tabular.core.attacks.attack module

class abs_art_tabular.core.attacks.attack.DetectionAttack(estimator, attack_config, **params)[исходный код]

Базовые классы: BaseAttack

Базовый класс для атак на задачи детекции

generate(X, y=None)[исходный код]

Генерация вредоносных примеров

Параметры:
  • X (np.ndarray) – Входные данные

  • y (np.ndarray) – Целевые значения

Результат:

Атакованные данные

Тип результата:

np.ndarray

run(X, y=None)[исходный код]

Запуск атаки на детекцию

Параметры:
  • X (np.ndarray) – Входные данные

  • y (np.ndarray) – Целевые значения

Результат:

Результаты атаки

Тип результата:

dict

class abs_art_tabular.core.attacks.attack.TabularAttack(estimator, attack_config, **params)[исходный код]

Базовые классы: BaseAttack

Базовый класс для атак на табличные данные

generate(X, y=None)[исходный код]

Генерация вредоносных примеров

Параметры:
  • X (np.ndarray) – Входные данные

  • y (np.ndarray) – Целевые значения

Результат:

Атакованные данные

Тип результата:

np.ndarray

run(X, y=None)[исходный код]

Запуск атаки

Параметры:
  • X (np.ndarray) – Входные данные

  • y (np.ndarray) – Целевые значения

Результат:

Результаты атаки

Тип результата:

dict

abs_art_tabular.core.attacks.attack.change_labels_for_attack(labels_orig: list[dict[str, ndarray | Tensor]], change_class: str | int | None = None, target_class: str | int | None = None, classes: list[str] | None = None) list[dict[str, ndarray | Tensor]][исходный код]

Modifies label classes for a targeted attack scenario. Takes a list of annotations and, depending on the parameters, either removes certain labels or changes their class to a target.

Параметры:
  • labels_orig – A list of annotations, where each item is a dictionary with: - „boxes“: np.ndarray or torch.Tensor of shape (N, 4) - „labels“: np.ndarray or torch.Tensor of length N with integer class IDs - „scores“: np.ndarray or torch.Tensor of length N with float confidence scores

  • change_class – The class to be changed or removed. Can be a string (class name) or an integer (class ID). If None, all labels will be considered as the source class.

  • target_class – The new class to assign to change_class labels. Can be a string (class name) or an integer (class ID). If None, labels of change_class will be removed.

  • classes – A list of class names. Required if either change_class or target_class is specified as a string.

Результат:

A new list of annotations with the same keys („boxes“, „labels“, „scores“), but with modified label values.

Example Scenarios:
  • change_class=None, target_class=None:

    Removes all labels.

  • change_class=“cat“, target_class=None:

    Removes all „cat“ class labels.

  • change_class=None, target_class=“dog“:

    Converts all labels to class „dog“.

  • change_class=“cat“, target_class=“dog“:

    Converts „cat“ labels to „dog“; all others remain unchanged.

abs_art_tabular.core.attacks.attack.collect_attack_examples(X, attacked_X, y, original_predict, attacked_predict, n=5)[исходный код]

Собирает примеры успешных атак с метками класса

Параметры:
  • X (np.ndarray) – Оригинальные данные

  • attacked_X (np.ndarray) – Атакованные данные

  • y (np.ndarray) – Истинные метки

  • original_predict (np.ndarray) – Предсказания до атаки

  • attacked_predict (np.ndarray) – Предсказания после атаки

  • n (int) – Число примеров для возврата

Результат:

Примеры успешных атак, отсортированные по разным стратегиям

Тип результата:

dict

Module contents

Проксируем атаки из core.attacks.tabular_attacks и detection_attacks в core.attacks, это требуется для attack factory

abs_art_tabular.core.attacks.proxy_submodules(subdir_name)[исходный код]