我正在研究有关Tensorflow联合的API,以便使用真正的多台机器进行联合学习。 但是我在此站点上找到了答案,该答案不支持使用多重学习进行真正的多重联合学习。
有没有办法在真正的多台机器上进行联合学习?
即使我使用2台客户端PC和1台服务器PC来构建用于联合学习的网络结构,使用tensorflow联合API也不可能由该系统组成吗?
或者即使我应用了代码,也无法创建所需的系统吗?
如果您可以修改代码进行配置,可以给我一个提示吗?否则,什么时候在实际计算机上进行配置?
答案 0 :(得分:1)
TFF实际上是关于表达您要执行的联合计算。在物理部署方面,TFF包括两个截然不同的运行时:一个“引用执行器”,它简单地解释了TFF在Python中串行生成的语法工件,并且没有任何花哨的构造或优化。另一个仍在开发中,但已在教程中进行了演示,该教程使用asyncio
和执行程序层次结构来实现灵活的执行程序体系结构。这两个都是关于仿真和FL研究的,而不是关于部署到设备的。
原则上,这可以解决您的问题(特别是,请参见tff.framework.RemoteExecutor
)。但是我假设您正在询问有关部署到“实际” FL系统的更多信息,例如数据来自您无法控制的来源。这确实超出了TFF的范围。通过常见问题解答:
尽管我们在设计TFF时考虑到了在实际设备中的部署,但是在此阶段,我们目前不提供任何用于此目的的工具。当前版本旨在用于实验用途,例如表达新颖的联合算法,或使用随附的模拟运行时使用您自己的数据集尝试联合学习。
我们预计,随着时间的流逝,围绕TFF的开源生态系统将不断发展,以包括针对物理部署平台的运行时。
答案 1 :(得分:0)
如果您仍在寻找某些东西:如果您未绑定到TensorFlow,则可以看看使用PyTorch的{{3}}。 PySyft是一个FL系统的实际示例,该FL系统以一台服务器和两台Raspberry Pi为客户端。