Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

On hyperparameters for Table 3. #4

Open
honggudrnjs opened this issue Nov 7, 2023 · 2 comments
Open

On hyperparameters for Table 3. #4

honggudrnjs opened this issue Nov 7, 2023 · 2 comments

Comments

@honggudrnjs
Copy link

Thanks for sharing the code of this valuable work.
Following the results of your work, I wonder hyperparameters for reproduce of Table 3.
Currently, the hyperparameter setting in 'args.py' does not fit to Table , because E is set to 1 and server_valid_ratio is different from what is explained in the paper.
I followed the details in the paper like the following:
CIFAR-10, fmnist vs CIFAR-100
LR 0.08 vs 0.01
wd 5e-4 vs 5e-5
server_valid_ratio 0.01 vs 0.1 (10*(# of classes) / (# of test data))

However, we found that running FedLAW with CNN (w/ Dirichlet alpha 0.1, CIFAR-100) produces random prediction.
Thus, we wonder if we missed some details. Is client_valid_ratio 0.3 right? or server_valid_ratio or server_epochs should be changed?

@ZexiLee
Copy link
Owner

ZexiLee commented Nov 7, 2023

Thanks for this raised issue.

I guess "produces random prediction" means that FedLAW works well in the early but suddenly crashes into the random prediction model.
I met these situations before and not only happened to FedLAW but also FedAvg and other methods. I think this is due to severe model drifts.
I suggest you slightly tune server_valid_ratio, server_epochs, server_lr, or other hyperparameters for FedLAW. Sometimes, changing another random seed is just fine. Also, reducing the local epochs and learning rates may also help.

Hoping my reply can help you.

@honggudrnjs
Copy link
Author

Thanks for your reply. Could you check dirichlet alpha one more time? I guess dirichlet alpha for non-IID is actually 1.0, not 0.1 as in Table 3. In CNN and CIFAR-100 setting, FedLAW is not working for alpha=0.1, but is working for alpha=1.0 with similar performance in Table 3.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants