我正在试验 TensorFlow Federated,我想为我的训练程序编写一个自定义模型聚合器,这样客户端大小与某个预定义值的距离......
我正在试验 TensorFlow Federated,我想为我的训练程序编写一个自定义模型聚合器,这样客户端大小与某个预定义值的距离就用于加权每个客户端的更新(有利于某些客户端的更新而不是其他客户端的更新)。
我想继续使用我在之前的模拟中使用过的简单 FedAvg 算法,以便能够比较结果:
trainer = tff.learning.algorithms.build_weighted_fed_avg(
model_fn= tff_model,
client_optimizer_fn=client_optimizer,
server_optimizer_fn=server_optimizer
)
我知道 tff.learning.algorithms.build_weighted_fed_avg()
接受作为参数 a model_aggregator
,但我不知道如何创建计算此类权重的聚合器。有没有简单的方法来定义它?