TFF:如何更改联邦学习的评估功能



要使用 TFF 实现我的代码,我使用以下方法

tff.learning.build_federated_evaluation()

但我不明白这种方法如何评估客户的准确性。因此,就像我的问题所表明的那样,我想在 TFF 中更改此评估功能的指标和代码,那么我该如何继续,请链接代码功能。 谢谢!!

根据"更改此评估函数的指标代码"的含义,可能不需要更改tff.learning.build_federated_evaluation()

如果要添加新指标,可以在tff.learning.Model上实现。

  • 如果使用tf.keras.Model只需将指标添加到传递给tff.learning.from_keras_model()的指标列表中即可。这将生成一个示例加权指标值。
  • 如果不使用 Keras,则需要扩展子类的tff.learning.Model.report_local_ouputs()tff.learning_model.federated_output_computation的实现。可以在此处找到一个示例。请注意tff.learning.Model.forward_pass如何更新指标变量,然后tff.learnining.Model.report_local_outputs本地批处理计算最终指标值。最后tff.learning.Model.federated_output_computation提供了跨客户端计算全局指标值的机制。

作为参考,可以在此处找到tff.learning.build_federated_evaluation()的实现,并显示如何将上面讨论的tff.learning.Model方法一起使用来计算指标。

最新更新