【发布时间】:2020-03-03 06:27:48
【问题描述】:
我想知道我们是否可以从 tensorflow_federated 中的服务器为每个客户端广播不同的模型?
有人可以帮忙吗?
【问题讨论】:
我想知道我们是否可以从 tensorflow_federated 中的服务器为每个客户端广播不同的模型?
有人可以帮忙吗?
【问题讨论】:
在 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)
【讨论】: