我正在使用 Tensorflow Federated 通过联合学习方法训练文本分类模型。有没有办法在客户端应用提前停止?API中是否有交叉验证选项?我唯一能找到的是评估:
evaluation = tff.learning.build_federated_evaluation(model_fn)
在联合训练轮结束时将其应用于模型。
我错过了什么吗?
我正在使用 Tensorflow Federated 通过联合学习方法训练文本分类模型。有没有办法在客户端应用提前停止?API中是否有交叉验证选项?我唯一能找到的是评估:
evaluation = tff.learning.build_federated_evaluation(model_fn)
在联合训练轮结束时将其应用于模型。
我错过了什么吗?
控制客户端在使用时执行的步骤数的一种直接方法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/特别是客户端训练循环在这里,并且可以根据“数据集结束”以外的某些标准进行修改以停止(如目前用过的)。