Как создать свой собственный федеративный набор данных и проводить обучение на нескольких устройствах с помощью 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 при моделировании на одной машине.