![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
联邦学习平台FLGo学习笔记
文章平均质量分 79
格物案
这个作者很懒,什么都没留下…
展开
-
3.2实现联邦学习算法--自己定义③本地训练(FedProx)
FedProx在这一部分,我们将以FedProx为例,介绍如何在FLGo框架中自己实现本地训练的方法。FedProx是 Li Tian 在2018 发表在 MLSys2020上的一篇paper,它改进了传统的FedAVG算法,解决了联邦学习中的数据异质性和模型异质性问题。采样& 聚合: 采用按照本地数据集大小比例进行采样, 并直接平均聚合(无加权)来获得无偏梯度估计本地训练阶段在原来的本地目标函数上添加了一个近端项L′Lμ2∥wkit−wglobalt∥2。原创 2024-03-20 09:51:34 · 1098 阅读 · 1 评论 -
3.1 实现联邦学习算法--横向联邦学习流程介绍
在这一节主要是介绍一下横向联邦学习的一般范式,并介绍一下在FLGo中是如何实现这一流程的。原创 2024-03-19 11:38:05 · 789 阅读 · 0 评论 -
2.4 运行配置- 日志(Logger)
在FLGo中的Logger是日志记录器,主要用于观察训练过程中的实时结果,并记录到字典(logger.output)并存在相应任务的record文件中。在原始代码中,已经定义了几种logger,只需要在定义init函数的时候改变参数就好。Logger主要通过提供以下3个接口函数,来帮助用户达到实验目的。initialize:预留的初始化方法;原创 2024-03-19 09:39:24 · 246 阅读 · 0 评论 -
2.3 运行配置- 算法(algorithm)和模型(model)
(这一块还不太懂)在FLGo中,我们将模型视作benchmark所包含的一部分。这是因为对于不同的数据集来说,模型的架构往往不一致,且同一个数据集也可以使用不同的模型。因此,每个benchmark都必须具有benchmark_name.model子模块,且子模块中需要包含适用于该benchmark的模型(例如mnist_classification.model.cnn)。以mnist_classification.model.cnn为例,讲解FLGo中模型是被定义和初始化的完整代码。原创 2024-02-29 16:26:50 · 515 阅读 · 0 评论 -
2.2 运行配置-初始化和选项(option)
r""":param:return"""...调用示例task: 联邦任务(路径、处理数据集等)由前面的gen_task生成algorithm: ,要求algorithm的类型是class或module,横向联邦中需要其具备algorithm.Server和algorithm.Client两个可访问的属性;option(可选):运行选项,类型为字典,包含运行时的各类参数;原创 2024-02-28 19:57:41 · 297 阅读 · 0 评论 -
2.1 运行配置--联邦任务(task)
其中设置了使用的不同数据集(benchmark)和数据集的划分方式(partitioner),一个数据集的一种划分将对应一个联邦任务。这里简要分析数据异质性的种类和程度对fedavg的影响,来讲解如何切换联邦任务。这个实验是数据异质性的种类和程度对fedavg的影响,数据划分选用了两种方式IIDPartitioner和DiversityPartitioner。这一个教程主要是熟悉如何通过修改数据集及其划分方式来创建不同的联邦学习任务,通过修改benchmark和partitioner的配置来实现。原创 2024-02-28 19:21:18 · 256 阅读 · 0 评论 -
1安装和介绍
FLGo是联邦学习大佬开发和维护的一个联邦学习轻量级框架,原教程贴链接为手把手实战联邦学习本贴主要是记录一下上手学习使用过程中遇到的一些问题。项目地址:https://link.zhihu.com/?教程地址:https://link.zhihu.com/?教程中有中英文教程,但好像更新不如知乎上及时,可以先去知乎专栏文章中学习,讲解的超级好。原创 2024-02-28 17:05:54 · 263 阅读 · 0 评论