def __init__(self, end2end_model: CClassifierEnd2EndMalware, indexes_to_perturb: list, iterations: int = 100, is_debug: bool = False, random_init: bool = False, threshold: float = 0.5, penalty_regularizer: float = 0, store_checkpoints: int = None): CAttackEvasion.__init__( self, end2end_model, end2end_model, ) self.iterations = iterations self.is_debug = is_debug self.indexes_to_perturb = indexes_to_perturb self.confidences_ = [] self.changes_per_iterations_ = [] self.random_init = random_init self.embedding_size = end2end_model.get_embedding_size() self.max_input_length = end2end_model.get_input_max_length() self.invalid_pos = end2end_model.get_embedding_value() self.embedding_value = end2end_model.get_embedding_value() self.shift_values = end2end_model.get_is_shifting_values() self._invalid_value = torch.tensor([np.infty]) self.threshold = threshold self.penalty_regularizer = penalty_regularizer self.store_checkpoints = store_checkpoints
def __init__( self, problem: CBlackBoxProblem, is_debug: bool = False, ): """ Create and instance of the genetic optimizer. Parameters ---------- problem : CBlackBoxProblem The problem to optimize is_debug : bool, default False If True, debug prints will be displayed during the attack. Default is False """ CAttackEvasion.__init__( self, problem.model_wrapper.classifier, problem.model_wrapper.classifier, ) self.problem = problem self.confidences_ = [] self.fitness_ = [] self.sizes_ = [] self.changes_per_iterations_ = [] self.model_wrapper = problem.model_wrapper self.is_debug = is_debug self._original_x = None self.minimization_result_ = [] self.evolved_problem_ = None self.stagnation = 5 self.elapsed_time_ = 0
def __init__(self, problem: CBlackBoxProblem, is_debug: bool = False): CAttackEvasion.__init__( self, problem.model_wrapper.classifier, problem.model_wrapper.classifier, surrogate_data=CDataset(CArray([[0], [1]]), CArray([0, 1])), y_target=None, ) self.problem = problem self.confidences_ = [] self.changes_per_iterations_ = [] self.model_wrapper = problem.model_wrapper self.is_debug = is_debug self._original_x = None self.minimization_result_ = []
def __init__( self, problem: CBlackBoxProblem, is_debug: bool = False, ): CAttackEvasion.__init__( self, problem.model_wrapper.classifier, problem.model_wrapper.classifier, ) self.problem = problem self.confidences_ = [] self.fitness_ = [] self.sizes_ = [] self.changes_per_iterations_ = [] self.model_wrapper = problem.model_wrapper self.is_debug = is_debug self._original_x = None self.minimization_result_ = [] self.evolved_problem_ = None self.stagnation = 5