Open KKNakkav2 opened 4 months ago
I think I have found one reason for this behaviour.
If the federate.method
is set to global
, there is no model_para
broadcast (see the workers/server,py
file) to the single client (worker idx is 1
I think) where the local training happens. Moreover, since the merge_test_data
is set to True
and make_global_eval
is also set to True
, the evaluation happens on the server (worker idx 0
) which has never received the updated model.
I think if the method is set to global
, possibly we should not activate the merge_test_data
or make_global_eval
. Please correct me. The same reasoning applies in the case when federate.method
is set to local
since there is also no broadcast in this setting as well.
Hello,
I have launched the experiment with command
python federatedscope/main.py --cfg federatedscope/cv/baseline/fedavg_convnet2_on_cifar10.yaml federate.client_num 1 federate.sample_client_rate 1.0 federate.method global
However, it looks the model is not updated during the evaluation time. The test accuracy stays at 11% for all the rounds while the training accuracy improves.