fdd-defense

Форк
0
46 строк · 1.1 Кб
1
from abc import ABC, abstractmethod
2
import numpy as np
3

4
class BaseAttacker(ABC):
5
    """A base class of the attack.
6

7
    Attributes
8
    ----------
9
    model: object
10
        FDD model to be attacked
11
    eps: float
12
        data class with dataloaders
13

14
    Methods
15
    -------
16
    attack():
17
        Attack simulation
18
    """
19
    
20
    def __init__(self, model: object, eps: float):
21
        """Constructs all the necessary attributes for the attack object.
22

23
        Parameters
24
        ----------
25
            model : object
26
                FDD model to be attacked
27
            eps : float
28
                epsilon is the maximum absolute shift of the original data
29
        """
30
        assert eps > 0
31
        self.eps = eps
32
        self.model = model
33
    
34
    @abstractmethod
35
    def attack(self, ts: np.ndarray, label: np.ndarray) -> np.ndarray:
36
        """Attacks the data.
37

38
        Parameters
39
        ----------
40
            ts: np.ndarray
41
                attacked sensor data of the shape (batch size, 
42
                sequence length, number of sensors)
43
            label: np.ndarray
44
                label of sensor data of the shape (batch size, )
45
        """
46
        pass
47

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.