В контексте федеративного обучения одним из таких методов класса, который должен работать, был бы tff.simulation.ClientData.from_clients_and_fn. Здесь, если я передам список client_ids и функцию, которая возвращает соответствующий набор данных при получении идентификатора клиента, вы получите полностью функциональные ClientData.
Я думаю, что здесь есть подход для определения функции Я могу использовать это для создания Python dict, который сопоставляет идентификаторы клиента с объектами tf.data.Dataset - тогда вы можете определить функцию, которая принимает идентификатор клиента, ищет набор данных в dict и возвращает набор данных. Итак, я определяю функцию как ниже, но я думаю, что это неправильно, как вы думаете?
list = ["0","1","2"]
tab = {"0":ds, "1":ds, "2":ds}
def create_tf_dataset_for_client_fn(id):
return ds
source = tff.simulation.ClientData.from_clients_and_fn(list, create_tf_dataset_for_client_fn)
Я предполагаю, что 4 клиента имеют одинаковый набор данных: 'ds'