问题描述
我正在使用 Tensorflow Federated 通过联邦学习方法训练文本分类模型。 有没有办法在客户端应用提前停止? API 中是否有交叉验证选项? 我唯一能找到的是评价:
[
在联合训练回合结束时将其应用于模型。
我错过了什么吗?
解决方法
在使用 tff.learning.build_federated_averaging_process
时控制客户端执行的步骤数的一种直接方法是使用不同的参数设置每个客户端 tf.data.Dataset
。例如使用 tf.data.Dataset.take
限制步数。指南 tf.data: Build TensorFlow input pipelines 包含更多详细信息。
或者,根据学习进度的测量停止将需要修改当前算法的一些内部结构。与使用 tff.learning
中的 API 不同,可能更简单地查看 federated/tensorflow_federated/python/examples/simple_fedavg/,尤其是客户端训练循环是 here,并且可以根据除“数据集结束”以外的某些条件进行修改以停止"(目前使用)。