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)[исходный код]