diff --git a/nebula/frontend/templates/deployment.html b/nebula/frontend/templates/deployment.html index 7cd0227..7c3a3cf 100755 --- a/nebula/frontend/templates/deployment.html +++ b/nebula/frontend/templates/deployment.html @@ -1102,7 +1102,18 @@
Schema of deployment
data["poisoned_node_percent"] = document.getElementById("poisoned-node-percent").value, data["poisoned_sample_percent"] = document.getElementById("poisoned-sample-percent").value, data["poisoned_noise_percent"] = document.getElementById("poisoned-noise-percent").value, - data["attack_params"] = getAttackParams(data["attacks"]) + data["attack_params"] = {} + data["attack_params"].poisoned_percent = document.getElementById("poisoned-sample-percent").value; + data["attack_params"].poisoned_ratio = document.getElementById("poisoned-noise-percent").value; + data["attack_params"].noise_type = document.getElementById("noise_type").value; + data["attack_params"].targeted = document.getElementById("targeted").checked; + data["attack_params"].target_label = document.getElementById("target_label").value; + data["attack_params"].target_changed_label = document.getElementById("target_changed_label").value; + data["attack_params"].strength = document.getElementById("strength").value; + data["attack_params"].layer_idx = document.getElementById("layer_idx").value; + data["attack_params"].delay = document.getElementById("delay").value; + data["attack_params"].round_start_attack = document.getElementById("start-attack").value + data["attack_params"].round_stop_attack = document.getElementById("stop-attack").value // Step 13 data["with_reputation"] = document.getElementById("with-reputation-btn").checked ? true : false data["is_dynamic_topology"] = document.getElementById("dynamic-topology-btn").checked ? true : false @@ -1206,7 +1217,17 @@
Schema of deployment
document.getElementById("poisoned-node-percent").value = data["poisoned_node_percent"] document.getElementById("poisoned-sample-percent").value = data["poisoned_sample_percent"] document.getElementById("poisoned-noise-percent").value = data["poisoned_noise_percent"] - setAttackParams(data["attacks"], data.attack_params) + document.getElementById("poisoned-sample-percent").value = data.attack_params.poisoned_percent; + document.getElementById("poisoned-noise-percent").value = data.attack_params.poisoned_ratio; + document.getElementById("noise_type").value = data.attack_params.noise_type; + document.getElementById("targeted").checked = data.attack_params.targeted; + document.getElementById("target_label").value = data.attack_params.target_label; + document.getElementById("target_changed_label").value = data.attack_params.target_changed_label; + document.getElementById("strength").value = data.attack_params.strength; + document.getElementById("layer_idx").value = data.attack_params.layer_idx; + document.getElementById("delay").value = data.attack_params.delay; + document.getElementById("start-attack").value = data.attack_params.round_start_attack + document.getElementById("stop-attack").value = data.attack_params.round_stop_attack if (data["poisoned_node_percent"] == 0) { @@ -1253,82 +1274,9 @@
Schema of deployment
} } } catch (error) { - console.error(error); + console.log(error); } } - - function getAttackParams(attack) { - let attack_params = { - noise_type: null, - targeted: null, - target_label: null, - target_changed_label: null, - strength: null, - layer_idx: null, - delay: null, - }; - - if (attack === "GLLNeuronInversionAttack") { - // no parameters needed - } else if (attack === "NoiseInjectionAttack") { - attack_params.strength = document.getElementById("strength").value || null; - } else if (attack === "SwappingWeightsAttack") { - attack_params.layer_idx = document.getElementById("layer_idx").value || null; - } else if (attack === "DelayerAttack") { - attack_params.delay = document.getElementById("delay").value || null; - } else if (["Label Flipping", "Sample Poisoning"].includes(attack)) { - attack_params.poisoned_percent = document.getElementById("poisoned-sample-percent").value || null; - attack_params.poisoned_ratio = document.getElementById("poisoned-noise-percent").value || null; - attack_params.noise_type = document.getElementById("noise_type").value || null; - attack_params.targeted = document.getElementById("targeted").checked ? true : false; - attack_params.target_label = document.getElementById("target_label").value || null; - attack_params.target_changed_label = document.getElementById("target_changed_label").value || null; - } else if (attack === "Model Poisoning") { - attack_params.poisoned_ratio = document.getElementById("poisoned-noise-percent").value || null; - attack_params.noise_type = document.getElementById("noise_type").value || null; - } - attack_params.round_start_attack = document.getElementById("start-attack").value - attack_params.round_stop_attack = document.getElementById("stop-attack").value - - return attack_params; - } - - function setAttackParams(attack, attack_params) { - const defaultParams = { - noise_type: "Salt", - targeted: false, - target_label: 0, - target_changed_label: 1, - strength: 1000, - layer_idx: 0, - delay: 0, - poisoned_percent: 0, - poisoned_ratio: 0, - }; - - if (attack === "NoiseInjectionAttack") { - document.getElementById("strength").value = attack_params.strength ?? defaultParams.strength; - } else if (attack === "SwappingWeightsAttack") { - document.getElementById("layer_idx").value = attack_params.layer_idx ?? defaultParams.layer_idx; - } else if (attack === "DelayerAttack") { - document.getElementById("delay").value = attack_params.delay ?? defaultParams.delay; - } else if (["Label Flipping", "Sample Poisoning"].includes(attack)) { - document.getElementById("poisoned-sample-percent").value = attack_params.poisoned_percent ?? defaultParams.poisoned_percent; - document.getElementById("poisoned-noise-percent").value = attack_params.poisoned_ratio ?? defaultParams.poisoned_ratio; - document.getElementById("noise_type").value = attack_params.noise_type ?? defaultParams.noise_type; - document.getElementById("targeted").checked = attack_params.targeted ?? defaultParams.targeted; - document.getElementById("targeted").dispatchEvent(new Event('change')); - document.getElementById("target_label").value = attack_params.target_label ?? defaultParams.target_label; - document.getElementById("target_changed_label").value = attack_params.target_changed_label ?? defaultParams.target_changed_label; - } else if (attack === "Model Poisoning") { - document.getElementById("poisoned-noise-percent").value = attack_params.poisoned_ratio ?? defaultParams.poisoned_ratio; - document.getElementById("noise_type").value = attack_params.noise_type ?? defaultParams.noise_type; - } - document.getElementById("start-attack").value = attack_params.round_start_attack - document.getElementById("stop-attack").value = attack_params.round_stop_attack - - return attack_params; - }