Skip to content

Commit e5fe3b6

Browse files
committed
feat: add N50 FedAvg baseline experiment artifacts and acceptance report
1 parent dae6571 commit e5fe3b6

64 files changed

Lines changed: 6507 additions & 1 deletion

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

FedAvg 无攻击基线实验设计.md

Lines changed: 498 additions & 0 deletions
Large diffs are not rendered by default.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
common_args:
2+
training_type: "cross_silo"
3+
random_seed: 0
4+
5+
data_args:
6+
dataset: "mnist"
7+
data_cache_dir: ./data
8+
partition_method: "hetero"
9+
partition_alpha: 0.1
10+
val_per_class: 50
11+
trust_per_class: 50
12+
max_samples_per_client: 0
13+
test_subset_size: 0
14+
num_workers: 0
15+
16+
model_args:
17+
model: "LeNet5"
18+
19+
train_args:
20+
federated_optimizer: "FedAvg"
21+
client_id_list:
22+
client_num_in_total: 50
23+
client_num_per_round: 50
24+
comm_round: 100
25+
epochs: 1
26+
batch_size: 64
27+
client_optimizer: sgd
28+
learning_rate: 0.01
29+
weight_decay: 0.0
30+
momentum: 0.9
31+
server_momentum: 0.0
32+
server_lr: 1.0
33+
pop_size: 15
34+
generations: 10
35+
lambda_reg: 0.01
36+
cpu_transfer: true
37+
enable_attack: false
38+
attack_type: "none"
39+
byzantine_client_num: 0
40+
enable_defense: false
41+
defense_type: "none"
42+
beta: 0.2
43+
eval_asr: false
44+
target_label: 0
45+
trigger_size: 3
46+
trigger_value: 1.0
47+
original_class_list: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
48+
target_class_list: [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
49+
ratio_of_poisoned_client: 0.0
50+
51+
52+
validation_args:
53+
frequency_of_the_test: 1
54+
55+
device_args:
56+
worker_num: 50
57+
using_gpu: true
58+
gpu_mapping_file: config/gpu_mapping.yaml
59+
gpu_mapping_key: mapping_50clients_isolated
60+
61+
comm_args:
62+
backend: "MPI"
63+
is_mobile: 0
64+
65+
tracking_args:
66+
log_file_dir: ./log
67+
enable_wandb: false
68+
using_mlops: false
69+
70+
shieldfl_args:
71+
runtime_mode: "single-gpu-deterministic"
72+
enforce_determinism: true
73+
sort_client_updates: true
74+
aggregator_type: "shieldfl"
75+
metrics_output_dir: "./results"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
common_args:
2+
training_type: "cross_silo"
3+
random_seed: 1
4+
5+
data_args:
6+
dataset: "mnist"
7+
data_cache_dir: ./data
8+
partition_method: "hetero"
9+
partition_alpha: 0.1
10+
val_per_class: 50
11+
trust_per_class: 50
12+
max_samples_per_client: 0
13+
test_subset_size: 0
14+
num_workers: 0
15+
16+
model_args:
17+
model: "LeNet5"
18+
19+
train_args:
20+
federated_optimizer: "FedAvg"
21+
client_id_list:
22+
client_num_in_total: 50
23+
client_num_per_round: 50
24+
comm_round: 100
25+
epochs: 1
26+
batch_size: 64
27+
client_optimizer: sgd
28+
learning_rate: 0.01
29+
weight_decay: 0.0
30+
momentum: 0.9
31+
server_momentum: 0.0
32+
server_lr: 1.0
33+
pop_size: 15
34+
generations: 10
35+
lambda_reg: 0.01
36+
cpu_transfer: true
37+
enable_attack: false
38+
attack_type: "none"
39+
byzantine_client_num: 0
40+
enable_defense: false
41+
defense_type: "none"
42+
beta: 0.2
43+
eval_asr: false
44+
target_label: 0
45+
trigger_size: 3
46+
trigger_value: 1.0
47+
original_class_list: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
48+
target_class_list: [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
49+
ratio_of_poisoned_client: 0.0
50+
51+
52+
validation_args:
53+
frequency_of_the_test: 1
54+
55+
device_args:
56+
worker_num: 50
57+
using_gpu: true
58+
gpu_mapping_file: config/gpu_mapping.yaml
59+
gpu_mapping_key: mapping_50clients_isolated
60+
61+
comm_args:
62+
backend: "MPI"
63+
is_mobile: 0
64+
65+
tracking_args:
66+
log_file_dir: ./log
67+
enable_wandb: false
68+
using_mlops: false
69+
70+
shieldfl_args:
71+
runtime_mode: "single-gpu-deterministic"
72+
enforce_determinism: true
73+
sort_client_updates: true
74+
aggregator_type: "shieldfl"
75+
metrics_output_dir: "./results"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
common_args:
2+
training_type: "cross_silo"
3+
random_seed: 2
4+
5+
data_args:
6+
dataset: "mnist"
7+
data_cache_dir: ./data
8+
partition_method: "hetero"
9+
partition_alpha: 0.1
10+
val_per_class: 50
11+
trust_per_class: 50
12+
max_samples_per_client: 0
13+
test_subset_size: 0
14+
num_workers: 0
15+
16+
model_args:
17+
model: "LeNet5"
18+
19+
train_args:
20+
federated_optimizer: "FedAvg"
21+
client_id_list:
22+
client_num_in_total: 50
23+
client_num_per_round: 50
24+
comm_round: 100
25+
epochs: 1
26+
batch_size: 64
27+
client_optimizer: sgd
28+
learning_rate: 0.01
29+
weight_decay: 0.0
30+
momentum: 0.9
31+
server_momentum: 0.0
32+
server_lr: 1.0
33+
pop_size: 15
34+
generations: 10
35+
lambda_reg: 0.01
36+
cpu_transfer: true
37+
enable_attack: false
38+
attack_type: "none"
39+
byzantine_client_num: 0
40+
enable_defense: false
41+
defense_type: "none"
42+
beta: 0.2
43+
eval_asr: false
44+
target_label: 0
45+
trigger_size: 3
46+
trigger_value: 1.0
47+
original_class_list: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
48+
target_class_list: [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
49+
ratio_of_poisoned_client: 0.0
50+
51+
52+
validation_args:
53+
frequency_of_the_test: 1
54+
55+
device_args:
56+
worker_num: 50
57+
using_gpu: true
58+
gpu_mapping_file: config/gpu_mapping.yaml
59+
gpu_mapping_key: mapping_50clients_isolated
60+
61+
comm_args:
62+
backend: "MPI"
63+
is_mobile: 0
64+
65+
tracking_args:
66+
log_file_dir: ./log
67+
enable_wandb: false
68+
using_mlops: false
69+
70+
shieldfl_args:
71+
runtime_mode: "single-gpu-deterministic"
72+
enforce_determinism: true
73+
sort_client_updates: true
74+
aggregator_type: "shieldfl"
75+
metrics_output_dir: "./results"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
common_args:
2+
training_type: "cross_silo"
3+
random_seed: 3
4+
5+
data_args:
6+
dataset: "mnist"
7+
data_cache_dir: ./data
8+
partition_method: "hetero"
9+
partition_alpha: 0.1
10+
val_per_class: 50
11+
trust_per_class: 50
12+
max_samples_per_client: 0
13+
test_subset_size: 0
14+
num_workers: 0
15+
16+
model_args:
17+
model: "LeNet5"
18+
19+
train_args:
20+
federated_optimizer: "FedAvg"
21+
client_id_list:
22+
client_num_in_total: 50
23+
client_num_per_round: 50
24+
comm_round: 100
25+
epochs: 1
26+
batch_size: 64
27+
client_optimizer: sgd
28+
learning_rate: 0.01
29+
weight_decay: 0.0
30+
momentum: 0.9
31+
server_momentum: 0.0
32+
server_lr: 1.0
33+
pop_size: 15
34+
generations: 10
35+
lambda_reg: 0.01
36+
cpu_transfer: true
37+
enable_attack: false
38+
attack_type: "none"
39+
byzantine_client_num: 0
40+
enable_defense: false
41+
defense_type: "none"
42+
beta: 0.2
43+
eval_asr: false
44+
target_label: 0
45+
trigger_size: 3
46+
trigger_value: 1.0
47+
original_class_list: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
48+
target_class_list: [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
49+
ratio_of_poisoned_client: 0.0
50+
51+
52+
validation_args:
53+
frequency_of_the_test: 1
54+
55+
device_args:
56+
worker_num: 50
57+
using_gpu: true
58+
gpu_mapping_file: config/gpu_mapping.yaml
59+
gpu_mapping_key: mapping_50clients_isolated
60+
61+
comm_args:
62+
backend: "MPI"
63+
is_mobile: 0
64+
65+
tracking_args:
66+
log_file_dir: ./log
67+
enable_wandb: false
68+
using_mlops: false
69+
70+
shieldfl_args:
71+
runtime_mode: "single-gpu-deterministic"
72+
enforce_determinism: true
73+
sort_client_updates: true
74+
aggregator_type: "shieldfl"
75+
metrics_output_dir: "./results"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
common_args:
2+
training_type: "cross_silo"
3+
random_seed: 4
4+
5+
data_args:
6+
dataset: "mnist"
7+
data_cache_dir: ./data
8+
partition_method: "hetero"
9+
partition_alpha: 0.1
10+
val_per_class: 50
11+
trust_per_class: 50
12+
max_samples_per_client: 0
13+
test_subset_size: 0
14+
num_workers: 0
15+
16+
model_args:
17+
model: "LeNet5"
18+
19+
train_args:
20+
federated_optimizer: "FedAvg"
21+
client_id_list:
22+
client_num_in_total: 50
23+
client_num_per_round: 50
24+
comm_round: 100
25+
epochs: 1
26+
batch_size: 64
27+
client_optimizer: sgd
28+
learning_rate: 0.01
29+
weight_decay: 0.0
30+
momentum: 0.9
31+
server_momentum: 0.0
32+
server_lr: 1.0
33+
pop_size: 15
34+
generations: 10
35+
lambda_reg: 0.01
36+
cpu_transfer: true
37+
enable_attack: false
38+
attack_type: "none"
39+
byzantine_client_num: 0
40+
enable_defense: false
41+
defense_type: "none"
42+
beta: 0.2
43+
eval_asr: false
44+
target_label: 0
45+
trigger_size: 3
46+
trigger_value: 1.0
47+
original_class_list: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
48+
target_class_list: [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
49+
ratio_of_poisoned_client: 0.0
50+
51+
52+
validation_args:
53+
frequency_of_the_test: 1
54+
55+
device_args:
56+
worker_num: 50
57+
using_gpu: true
58+
gpu_mapping_file: config/gpu_mapping.yaml
59+
gpu_mapping_key: mapping_50clients_isolated
60+
61+
comm_args:
62+
backend: "MPI"
63+
is_mobile: 0
64+
65+
tracking_args:
66+
log_file_dir: ./log
67+
enable_wandb: false
68+
using_mlops: false
69+
70+
shieldfl_args:
71+
runtime_mode: "single-gpu-deterministic"
72+
enforce_determinism: true
73+
sort_client_updates: true
74+
aggregator_type: "shieldfl"
75+
metrics_output_dir: "./results"

python/examples/federate/prebuilt_jobs/shieldfl/results/configs/config_LeNet5_mnist_shieldfl_atknone_defnone_a0.5_pmr0.0_seed0.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ train_args:
2121
client_id_list:
2222
client_num_in_total: 50
2323
client_num_per_round: 50
24-
comm_round: 50
24+
comm_round: 100
2525
epochs: 1
2626
batch_size: 64
2727
client_optimizer: sgd

0 commit comments

Comments
 (0)