fedml-4.与fabric通信
- 直接采用“偷梁换柱”的模式,把修改后的代码复制到pip安装的位置
pip install的位置
通过python -m site
命令查找包的安装路径
1 | sys.path = [ |
思考:需要修改哪些代码?
- 修改Aggregator。Aggregator的作用是(1)保存各个节点上传的本地模型;(2)对本地模型进行aggregate操作。
- 分离aggregator的功能,分为本地Aggregator和链上Aggregator,本地Aggregator不保存模型,将收到的模型转发给区块链,聚集操作时先向区块链取模型,再进行聚集操作
- 修改FedMLServerManager
- 在适当位置调用http接口,适当根据逻辑需要修改其它代码
- 修改ClientMasterManager
- 在适当位置调用http接口,适当根据逻辑需要修改其它代码
- 修改message_define,文件中定义了C/S之间相互通信的名称,参数名称
- 对其适当增删,达到C/S间协同的目的