Tensorflow Federated 中的联邦学习,有没有什么办法可以在客户端应用早停?

问题描述

我正在使用 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,并且可以根据除“数据集结束”以外的某些条件进行修改以停止"(目前使用)。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...