【问题标题】:Collecting the weights returned by clients without aggregating them收集客户端返回的权重而不聚合它们
【发布时间】:2021-01-18 10:14:40
【问题描述】:

我想知道创建模型、使用 tensorflow federated 广播它、运行一个循环并收集客户端返回的权重而不用 fedavg 聚合它们的最简单方法。

【问题讨论】:

    标签: machine-learning tensorflow-federated


    【解决方案1】:

    TFF 为此提供了 tff.federated_collect 内在函数;它在服务器上实现客户端数据流。

    将其连接到大多数现有联合过程的核心的一种简单方法是 fork simple_fedavg,我认为这是使用 TFF 的较低级别功能的合理起点。

    这里有几点需要注意。首先,据我所知,没有任何“生产”系统支持federated_collect。其次,根据您的愿望,可能有一个更简单、更直接的解决方案:只返回客户端权重本身。 TFF 运行时将具体化客户端权重的 Python 列表(我相信作为热切张量),您可以在其上执行任意 Python 后处理。

    要从simple_fedavg 到达这里,您实际上需要return the client_outputs directly 而不是将它们传递给tff.federated_mean。这将为您提供客户端增量(即最终客户端权重与初始客户端权重之间的差异);但是,如果需要,您可以简单地修改 client_update 以避免计算此差异。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-04
      • 2021-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多