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;
- }