一,项目结构修改
1,前端可以创建联邦学习任务
2,用户发的Message要包含自己属于哪个组的信息
3,聚合端要与数据库交互,存储一个组的信息,报过标识,组内人数,组内具体有哪些人
二,报告了聚合端结构修改
当前聚合端逻辑:接收一个模型就立刻聚合,并返回,如果一个后端没有发送模型就不会接收到模型(每一轮都是)
假设有A,B两个后端
后端AB各发送一份模型过来,假设A先被接收到,聚合端将会把A用于聚合并仅把聚合后模型返回给A
然后B的被接收到,把B用于聚合,并仅把模型返回给B,因为在这理论聚合中A并没有贡献
三,前端界面修订案
四,聚合端不需要界面
五,发布者负责提供模型,py文件,虚拟环境的txt
六,后端需要做好通用模板,并且定位到loader部分,用户要下载后端
七,采用云数据库,后端和聚合端都可以访问这个数据库
1,数据库用来存每个任务的信息(组的细节信息,字符串)
2,数据库存服务器的ip,端口号
八,当前模型架构
九,下一步分工
1,前端:①要做展示任务的界面②发布任务的界面,让用户能够提供model等数据③公告:前端提供说明要下载
2,后端:①修改结构做出通用模板放到gitee上②获取用户提供的文件的py文件,模型字典,并上传数据库③格式化组信息提供给前端④研究数据库,购买数据库
3,聚合端:①考虑分组处理②根据聚合信息修改数据库,验证数据库,维护模型字典③新请求传输最新的模型字典 ④研究数据库,购买数据库