Hi, @samiul272 , I'm sorry to bother you again. I would like to reproduce the experimental results of the high data heterogeneity of table 3 in your paper. I ran the following code:
python main.py --data_name CIFAR10 --model_name resnet18 --control_name 1_100_0.1_non-iid-2_dynamic_a1-b1-c1-d1-e1_bn_1_1 --exp_name roll_test --algo roll --g_epoch 3200 --l_epoch 1 --lr 2e-4 --schedule 1200 --seed 31 --num_experiments 1 --devices 0 1 2 3 4
However, I found that the accuracy of the test set was very low, even after more than 2000 rounds of training. I want to ask if there is a problem with my experimental setting?
![image](https://user-images.githubusercontent.com/60345931/223401268-961048c5-89ec-4128-9615-31be898271c9.png)
#--------------------------Update-----------------------------------#
By the way, I use the SGD optimizer, not Adam, since in your paper you said you use SGD optimizer.
![image](https://user-images.githubusercontent.com/60345931/223406530-bad52201-5b1b-4cf8-a233-260a36992a80.png)
The config.yml setting is shown as below.
control
exp_name: hetero_fl_roll_50_100
control:
fed: '1'
num_users: '20'
frac: '1.0'
data_split_mode: 'iid'
model_split_mode: 'fix'
model_mode: 'a1'
norm: 'bn'
scale: '1'
mask: '1'
data
data_name: CIFAR10
subset: label
batch_size:
train: 128
test: 128
shuffle:
train: False
test: False
num_workers: 0
model_name: resnet18
metric_name:
train:
- Loss
- Accuracy
test:
- Loss
- Accuracy
optimizer
###optimizer_name: Adam
optimizer_name: SGD
lr: 2.0e-4
momentum: 0.9
weight_decay: 5.0e-4
scheduler
scheduler_name: None
step_size: 1
milestones:
- 100
- 150
patience: 10
threshold: 1.0e-3
factor: 0.5
min_lr: 1.0e-4
experiment
init_seed: 31
num_experiments: 1
num_epochs: 200
log_interval: 0.25
device: cuda
world_size: 1
resume_mode: 0
other
save_format: pdf