В TFF есть предварительно обработанные наборы данных моделирования, которые должны служить этой цели довольно хорошо.Возьмем, к примеру, загрузку EMNIST, где изображения разделены writer , соответствующим пользователю, а не меткой.Это можно загрузить в среду выполнения Python довольно просто (здесь создаются данные поезда с 100 клиентами):
source, _ = tff.simulation.datasets.emnist.load_data()
def map_fn(example):
return {'x': tf.reshape(example['pixels'], [-1]), 'y': example['label']}
def client_data(n):
ds = source.create_tf_dataset_for_client(source.client_ids[n])
return ds.repeat(10).map(map_fn).shuffle(500).batch(20)
train_data = [client_data(n) for n in range(100)]
Существуют наборы данных, разделенные аналогичным образом для расширенного MNIST (IE, включая рукописные символы в дополнение кцифры), пьесы Шекспира (разделенные символом) и сообщения Stackoverflow (разделенные пользователем).Документацию по этим наборам данных можно найти здесь .
Если вы хотите создать свой собственный набор данных, см. Ответ здесь .