Федеративное обучение в Tensorflow Federated, есть ли способ применить раннюю остановку на стороне клиента?

Я использую Tensorflow Federated для обучения модели классификации текста с использованием подхода федеративного обучения. Есть ли способ применить раннюю остановку на стороне клиента? Есть ли в API возможность перекрестной проверки? Единственное, что мне удалось найти, это оценку:

      evaluation = tff.learning.build_federated_evaluation(model_fn)

Что применяется к модели к концу федеративного тренировочного раунда.

Я что-то пропустил?

1 ответ

Один простой способ контролировать количество шагов, которые делает клиент при использовании <tcode id="476213"></tcode> путем настройки каждого клиента <tcode id="476214"></tcode>с разными параметрами. Например, ограничение количества шагов с помощью <tcode id="476215"></tcode>. В руководстве tf.data: Build TensorFlow input pipelines есть гораздо больше деталей.

В качестве альтернативы остановка на основе измерения прогресса обучения потребовала бы изменения некоторых внутренних компонентов алгоритма в настоящее время. Вместо использования API в tff.learning, может быть, проще потрогать federated / tensorflow_federated / python / examples / simple_fedavg /, в частности, здесь находится цикл обучения клиента, и его можно изменить, чтобы остановить его на основе некоторых критериев, отличных от «конца набора данных» (как в настоящее время используется).

Другие вопросы по тегам