Как создать свой собственный федеративный набор данных и проводить обучение на нескольких устройствах с помощью TensorflowFederated?

Я пытаюсь использовать TFF для реализации федеративного обучения. Я развернул 3 экземпляра EC2 и настроил TFF в среде conda. Я пытаюсь выяснить, как создать федеративный набор данных с некоторыми файлами CSV, а затем начать обучение по этим экземплярам EC2, используя один из них в качестве центрального, а второй - в качестве клиентов. В коде TFF я мог видеть, что tff.CLIENTS имеет атрибут URI, но не уверен, как сопоставить его с IP/Some-Endpoint для связи между клиентами и сервером.

Я искал способы сделать это, используя текущие функции TFF, но не смог найти никаких указателей на достижение этого случая. (Так как литералы размещения tff.CLIENT и tff.SERVER в любом случае не доступны через API в настоящее время и запланированы на будущие выпуски)

Внутри tenorflow_federated\python\core\impl\place_literals.py:

 PlacementLiteral(object):
  """A representation of one of the globally recognized placement literals."""

  def __init__(self, name, uri, default_all_equal, description):
    self._name = name
    self._uri = uri #URI for client/Server
    self._description = description
    self._default_all_equal = default_all_equal

NA

1 ответ

Решение

В настоящее время TFF полностью поддерживает только моделирование на одной машине. Проводится работа по включению сред моделирования с несколькими машинами для ускорения моделирования (хотя это будет семантически тот же результат), но это продолжается.

Я бы порекомендовал сначала начать с запуска TFF при моделировании на одной машине.

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