【问题标题】:Can I broadcast different models for each of the clients in federated_tensorflow?我可以为 federated_tensorflow 中的每个客户端广播不同的模型吗?
【发布时间】:2020-03-03 06:27:48
【问题描述】:

我想知道我们是否可以从 tensorflow_federated 中的服务器为每个客户端广播不同的模型?

有人可以帮忙吗?

【问题讨论】:

    标签: tensorflow-federated


    【解决方案1】:

    在 TFF 语言中,目前没有办法表达这一点。 tff.federated_broadcast 的约定是到达每个客户端的值是相同的。对于从服务器→客户端移动张量的其他方式,还没有替代的通信内在方式。

    也就是说,可以模拟接收不同权重的客户。在 Python 执行环境中设置客户端状态 outside TFF,然后传入一个列表(每个客户端一个元素)。示例:

    @tff.tf_computation(MODEL_WEIGHT_TYPE):
    def client_work(model_weights):
      # Do local training, or any other logic.
    
    
    @tff.federated_computation(tff.FederatedType(MODEL_WEIGHT_TYPE, tff.CLIENTS))
    def run_one_round(model):
       return tff.federated_map(client_work, model)
    
    
    client_models = [...]  # a list of each client, possibly different models.
    run_one_round(client_models)
    

    【讨论】:

      猜你喜欢
      • 2011-03-10
      • 2019-12-01
      • 2021-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-21
      相关资源
      最近更新 更多