云云联邦中,如何修改服务侧的聚合算法,想修改fedAvg
【操作步骤&问题现象】
1. 请问如何修改服务侧聚合算法?
2. 如果能修改的话,是只需要修改服务端代码,worker什么都不用修改吗?
-----------------------------------------------------------------------------------------------------------------------------------
1,目前云侧平均聚合的代码在/mindspore/mindspore/ccsrc/fl/server/kernel/fed_avg_kernel.h,如果要修改聚合代码,可以在这个文件进行修改;
2,云云联邦Worker上传模型参数的行为在/mindspore/mindspore/ccsrc/backend/kernel_compiler/cpu/fl/update_model_kernel.h,如果有特殊需求,可以在这个文件中修改。
3,如果想修改端云之间传递消息的格式,可以修改mindspore/mindspore/schema目录下单fbs文件。此外还需要修改端侧和云侧的封装、读取数据的函数代码。