alibaba / alibaba/FederatedScope

How to run FedOpt?

Open
#604 0 comments 0 reactions 1 assignee Claimed by @DavdGao View on GitHub
Dominant language
Python
Stars
1.5k
Forks
261
PR merge metrics
No merged PRs in 30d

Description

Excuse me
I set the cfg like:

> ### fedopt
> cfg.expname = 'fedopt'
> cfg.federate.share_local_model = False
> cfg.federate.online_aggr = False
> cfg.federate.method = 'FedOpt'
> cfg.fedopt.use = True
> cfg.fedopt.optimizer.type = 'SGD'
> cfg.fedopt.optimizer.lr = 1.
> cfg.fedopt.annealing = False
> cfg.fedopt.annealing_step_size = 2000
> cfg.fedopt.annealing_gamma = 0.5

> ### 模型参数
> from federatedscope.fflavg import model_resnet
> cfg.model.type = 'convnet5'
> cfg.model.out_channels = 62

> ### 数据参数
> from federatedscope.core.auxiliaries.data_builder import get_data
> cfg.data.type = 'femnist'
> cfg.data.root = './data'
> cfg.data.splits = [0.6, 0.2, 0.2]
> cfg.data.splitter = 'lda'
> cfg.data.splitter_args = [{'alpha':0.05}]
> cfg.data.shuffle = True
> cfg.data.batch_size = 128
> cfg.data.transform = [['ToTensor'], ['Normalize', {'mean':[0.1307], 'std':[0.3081]}], ['Resize',{'size': [64, 64]}]]
>

> ### 训练参数
> cfg.train.optimizer.lr = 0.01
> cfg.train.optimizer.weight_decay = 0.0
> cfg.grad.grad_clip = 5.0
> cfg.early_stop.patience = 10
> cfg.criterion.type = 'CrossEntropyLoss'

> ### 系统参数
> cfg.wandb.use = True
> cfg.wandb.client_train_info = False
> cfg.use_gpu = True
> cfg.seed = 908
> cfg.eval.freq = 1
> cfg.eval.metrics = ['acc', 'f1']
> cfg.eval.best_res_update_round_wise_key = 'test_acc'
> cfg.federate.mode = 'standalone'
> cfg.federate.make_global_eval = True
> cfg.federate.merge_test_data = True
> cfg.federate.merge_val_data = True
> cfg.federate.total_round_num = 200
> cfg.train.batch_or_epoch = 'epoch'
> cfg.train.local_update_steps = 3
> cfg.federate.client_num = 10
> cfg.federate.sample_client_num = -1

But the result of experiment is odd:
![截屏2023-05-21 14 06 45](https://github.com/alibaba/FederatedScope/assets/90586612/4cc2f9af-6ad6-4e20-8d91-84a7498fe1d3)
Can you help me to debug?

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.