def attack_run(master_settings): """ CTC Loss attack modified from the original Carlini & Wagner work. """ loss = master_settings["loss"] decoder = master_settings["decoder"] outdir = master_settings["outdir"] attack_type = os.path.basename(__file__).replace(".py", "") outdir = os.path.join(outdir, attack_type) outdir = os.path.join(outdir, "baselines/ctc/") outdir = os.path.join(outdir, "{}/".format(loss)) outdir = os.path.join(outdir, "{}/".format(decoder)) master_settings["outdir"] = outdir batch_gen = data.ingress.etl.batch_generators.standard(master_settings) default_manager( master_settings, create_attack_graph, batch_gen, ) log("Finished run.")
def attack_run(master_settings): """ """ align = master_settings["align"] loss = master_settings["loss"] decoder = master_settings["decoder"] outdir = master_settings["outdir"] attack_type = os.path.basename(__file__).replace(".py", "") outdir = os.path.join(outdir, attack_type) outdir = os.path.join(outdir, "baselines/biggio/") outdir = os.path.join(outdir, "{}/".format(align)) outdir = os.path.join(outdir, "{}/".format(loss)) outdir = os.path.join(outdir, "{}/".format(decoder)) master_settings["outdir"] = outdir batch_gen = data.ingress.etl.batch_generators.PATH_GENERATORS[align]( master_settings) default_manager( master_settings, create_attack_graph, batch_gen, ) log("Finished run.")
def attack_run(master_settings): """ """ align = master_settings["align"] decoder = master_settings["decoder"] procedure = master_settings["procedure"] loss_threshold = master_settings["loss_threshold"] outdir = master_settings["outdir"] attack_type = os.path.basename(__file__).replace(".py", "") outdir = os.path.join(outdir, attack_type) outdir = os.path.join(outdir, "confidence/ctc-edge-case/") outdir = os.path.join(outdir, "{}/".format(align)) outdir = os.path.join(outdir, "{}/".format(decoder)) outdir = os.path.join(outdir, "{}/".format(procedure)) if procedure == "extreme": outdir = os.path.join(outdir, "{}/".format(loss_threshold)) master_settings["outdir"] = outdir batch_gen = data.ingress.etl.batch_generators.PATH_GENERATORS[align]( master_settings) default_manager( master_settings, create_attack_graph, batch_gen, ) log("Finished run.")
def attack_run(master_settings): """ """ align = master_settings["align"] decoder = master_settings["decoder"] kappa = master_settings["kappa"] outdir = master_settings["outdir"] attack_type = os.path.basename(__file__).replace(".py", "") outdir = os.path.join(outdir, attack_type) outdir = os.path.join(outdir, "confidence/invertedctc-cwmaxdiff/") outdir = os.path.join(outdir, "{}/".format(align)) outdir = os.path.join(outdir, "{}/".format(decoder)) outdir = os.path.join(outdir, "{}/".format(kappa)) master_settings["outdir"] = outdir batch_gen = data.ingress.etl.batch_generators.PATH_GENERATORS[align]( master_settings) default_manager( master_settings, create_attack_graph, batch_gen, ) log("Finished run.")
def attack_run(master_settings): """ Use Carlini & Wagner's improved loss function form the original audio paper, but reintroduce kappa from the image attack as we're looking to perform targeted maximum-confidence evasion attacks --- i.e. not just find minimum perturbations. :param master_settings: a dictionary of arguments to run the attack, as defined by command line arguments. Will override the settings dictionary defined below. :return: None """ align = master_settings["align"] loss = master_settings["loss"] decoder = master_settings["decoder"] kappa = master_settings["kappa"] outdir = master_settings["outdir"] attack_type = os.path.basename(__file__).replace(".py", "") outdir = os.path.join(outdir, attack_type) outdir = os.path.join(outdir, "baselines/cwmaxdiff/") outdir = os.path.join(outdir, "{}/".format(align)) outdir = os.path.join(outdir, "{}/".format(loss)) outdir = os.path.join(outdir, "{}/".format(decoder)) outdir = os.path.join(outdir, "{}/".format(kappa)) master_settings["outdir"] = outdir master_settings["attack type"] = attack_type batch_gen = data.ingress.etl.batch_generators.PATH_GENERATORS[align]( master_settings) default_manager( master_settings, create_attack_graph, batch_gen, ) log("Finished run.")
def attack_run(master_settings): graph_type = master_settings["graph"] decoder = master_settings["decoder"] loss = master_settings["loss"] nbatch_max = master_settings["nbatch_max"] nbatch_step = master_settings["nbatch_step"] initial_outdir = master_settings["outdir"] assert nbatch_max >= 1 assert nbatch_step >= 1 assert nbatch_max >= nbatch_step for batch_size in range(0, nbatch_max + 1, nbatch_step): if batch_size == 0: batch_size = 1 outdir = os.path.join(initial_outdir, "unbounded/batch-vs-indy/") outdir = os.path.join(outdir, "{}/".format(graph_type)) outdir = os.path.join(outdir, "{}/".format(decoder)) outdir = os.path.join(outdir, "{}/".format(loss)) outdir = os.path.join(outdir, "{}/".format(batch_size)) master_settings["outdir"] = outdir master_settings["batch_size"] = batch_size master_settings["max_examples"] = batch_size batch_gen = data.ingress.etl.batch_generators.standard(master_settings) default_manager( master_settings, create_attack_graph, batch_gen, ) log("Finished batch run {}.".format(batch_size)) log("Finished all runs.")
def attack_run(master_settings): """ """ loss = master_settings["loss"] outdir = master_settings["outdir"] attack_type = os.path.basename(__file__).replace(".py", "") outdir = os.path.join(outdir, attack_type) outdir = os.path.join(outdir, "confidence/maxctc-mintruectc/") outdir = os.path.join(outdir, "{}/".format(loss)) master_settings["outdir"] = outdir batch_gen = data.ingress.etl.batch_generators.standard(master_settings) default_manager( master_settings, create_attack_graph, batch_gen, ) log("Finished run.") # {}.".format(run))
def attack_run(master_settings): """ Special variant of Carlini & Wagner's improved loss function from the original audio paper, with kappa as a vector of frame-wise differences between max(other_classes) and min(other_classes). :param master_settings: a dictionary of arguments to run the attack, as defined by command line arguments. Will override the settings dictionary defined below. :return: None """ align = master_settings["align"] decoder = master_settings["decoder"] kappa = master_settings["kappa"] outdir = master_settings["outdir"] attack_type = os.path.basename(__file__).replace(".py", "") outdir = os.path.join(outdir, attack_type) outdir = os.path.join(outdir, "confidence/adaptive-kappa/") outdir = os.path.join(outdir, "{}/".format(align)) outdir = os.path.join(outdir, "{}/".format(decoder)) outdir = os.path.join(outdir, "{}/".format(kappa)) master_settings["outdir"] = outdir batch_gen = data.ingress.etl.batch_generators.PATH_GENERATORS[align]( master_settings) default_manager( master_settings, create_attack_graph, batch_gen, ) log("Finished run.")