我正在使用 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: Build TensorFlow input pipelines还有更多详细信息。
或者根据学习进度的测量来停止需要修改当前算法的一些内部结构。与使用 tff.learning 中的 API 相比,探索 federated/tensorflow_federated/python/examples/simple_fedavg/ 可能更简单。特别是客户端培训循环是 here并且可以修改为根据“数据集结束”(当前使用的)之外的某些标准停止。
关于tensorflow - Tensorflow Federated中的联邦学习,有没有办法在客户端应用Earlystopping?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66265109/