Могу ли я транслировать разные модели для каждого из клиентов в federated_tensorflow? - PullRequest
1 голос
/ 03 марта 2020

Я хочу знать, можем ли мы транслировать разные модели для каждого из клиентов с сервера в tenorflow_federated?

Может кто-нибудь помочь, пожалуйста?

1 Ответ

0 голосов
/ 19 марта 2020

На языке TFF в настоящее время нет способа express этого. Контракт tff.federated_broadcast заключается в том, что значение, которое приходит к каждому клиенту, равно то же самое . Не существует альтернативного способа связи c (пока) для других способов перемещения тензоров с сервера → клиентов.

При этом возможно моделировать клиентов, которые получают разные веса. Настройте состояние клиента за пределами TFF в среде выполнения Python, затем передайте список (по одному элементу для каждого клиента). Пример:

@tff.tf_computation(MODEL_WEIGHT_TYPE):
def client_work(model_weights):
  # Do local training, or any other logic.


@tff.federated_computation(tff.FederatedType(MODEL_WEIGHT_TYPE, tff.CLIENTS))
def run_one_round(model):
   return tff.federated_map(client_work, model)


client_models = [...]  # a list of each client, possibly different models.
run_one_round(client_models)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...