контрольная точка федеративного обучения tenorflow - PullRequest
0 голосов
/ 05 октября 2019

Я изучаю federated_learning_for_image_classification.ipynb с федеративным API тензорного потока.

В этом примере я могу проверить каждый симулированный клиентский поезд Точность, Потери и Общая точность, Общая потеря.

Но естьнет файлов контрольных точек.

Я хочу сделать каждый файл контрольных точек клиента и все файлы контрольных точек.

И затем сравнить переменные параметра клиента и общие переменные параметра.

Любой можетпомогите мне сделать файл контрольных точек в примере federated_learning_for_image_classification.ipynb?

1 Ответ

1 голос
/ 22 октября 2019

Один вопрос, который нужно задать, заключается в том, хотите ли вы сравнить переменные в TFF (как часть федеративного вычисления) или в произвольном / вне TFF (анализ в Python).

Изменение конструкции tff.utils.IterativeProcess, выполняемой tff.learning.build_federated_averaging_process, может быть хорошим способом. На самом деле, я бы рекомендовал разветвить упрощенную реализацию на GitHub на tensorflow_federated/python/research/simple_fedavg/simple_fedavg.py, а не копаться в tff.learning.

Изменение строки , которая выполняетtff.fedetated_mean при обновлениях от клиентов до tff.federated_collect предоставит список всех моделей клиента, которые затем можно будет сравнить с глобальной моделью.

Пример:

client_deltas = tff.federated_collect(client_outputs.weights_delta)

@tff.tf_computation(server_state.model.type_signature,
                    client_deltas.type_signature)
def compare_deltas_to_global(global_model, deltas):
  for delta in deltas:
    # do something with delta vs global_model 

tff.federated_apply(compare_deltas_to_global, (server_state.model, client_deltas))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...