2

我正在使用 Tensorflow Federated 通过联合学习方法训练文本分类模型。有没有办法在客户端应用提前停止?API中是否有交叉验证选项?我唯一能找到的是评估:

evaluation = tff.learning.build_federated_evaluation(model_fn)

在联合训练轮结束时将其应用于模型。

我错过了什么吗?

4

1 回答 1

3

控制客户端在使用时执行的步骤数的一种直接方法tff.learning.build_federated_averaging_process是为每个客户端设置tf.data.Dataset不同的参数。例如用 限制步数tf.data.Dataset.take。指南tf.data:构建 TensorFlow 输入管道有更多详细信息。

或者,基于学习进度的测量停止将需要修改当前算法的一些内部结构。与其使用 中的 API tff.learning,不如在federated/tensorflow_federated/python/examples/simple_fedavg/特别是客户端训练循环在这里,并且可以根据“数据集结束”以外的某些标准进行修改以停止(如目前用过的)。

于 2021-02-20T05:07:13.150 回答