要使用TFF实现我的代码,请使用方法
tff.learning.build_federated_evaluation()
但是我不明白这种方法如何评估客户的准确性。因此,正如我的问题所示,我想在TFF中更改此评估功能的指标和代码,因此我该如何进行,请链接代码功能。 谢谢!
答案 0 :(得分:0)
根据“更改此评估函数的指标代码”的含义,tff.learning.build_federated_evaluation()
中可能不需要更改。
如果您要添加新指标,则可以在tff.learning.Model
上实现。
tf.keras.Model
,只需将指标添加到传递给tff.learning.from_keras_model()
的指标列表中。这将产生一个示例加权指标值。tff.learning.Model.report_local_ouputs()
和tff.learning_model.federated_output_computation
的实现。可以找到一个示例here。请注意,tff.learning.Model.forward_pass
如何更新指标变量,然后tff.learnining.Model.report_local_outputs
计算整个本地批次中的最终指标值。最后,tff.learning.Model.federated_output_computation
提供了一种用于在客户端之间 计算全局度量值的机制。作为参考,可以在here中找到tff.learning.build_federated_evaluation()
的实现,并说明如何将以上讨论的tff.learning.Model
方法一起用于计算指标。