Эта страница была переведа с помощью Cloud Translation API.
Switch to English

tff.simulation.TransformingClientData

Просмотр на GitHub

Преобразует данные клиента, потенциально расширяет путем добавления псевдо-клиентов.

Наследуется от: ClientData

Каждый клиент raw_client_data «расширяется» на некоторое количество псевдо-клиентов. Каждый идентификатор клиента представляет собой строку, состоящую из исходного идентификатора клиента плюс каскадного целого индекса. Например, исходный идентификатор клиента «client_a» может быть расширен в псевдо-клиенте идентификаторы «client_a_0», «client_a_1» и «client_a_2». Функция п (х) отображает DataPoint х к новой точке данных, где конструктор Fn параметризуются (сырыми) client_ и индексом I. Например, если х представляет собой изображение, то make_transform_fn ( «client_a», 0) (х) может быть идентичность, в то время как make_transform_fn ( «client_a», 1) (х) может быть случайным поворот изображения с углом определяется хэш «client_a» и «1». Как правило, по соглашению индекс 0 соответствует функции идентичности, если идентичность поддерживается.

raw_client_data ClientData расширяться.
make_transform_fn Функция, которая возвращает отозвано, что карты DataPoint х к новой точке данных х». make_transform_fn будет называться make_transform_fn (raw_client_id, я), где я представляет собой целочисленный индекс, и он должен возвращать функцию п (х) -> х. Например, если х представляет собой изображение, то make_transform_fn ( «client_a», 0) (х) может быть идентичность, в то время как make_transform_fn ( «client_a», 1) (х) может быть случайным поворот изображения с углом определяется хэш «client_a» и «1». Если transform_fn_cons возвращает None , никакого преобразования не выполняется. Как правило, по соглашению индекс 0 соответствует функции идентичности, если идентичность поддерживается.
num_transformed_clients Общее число трансформированных клиентов производить. Если это целое число, кратные к числу реальных клиентов, будут ровно к псевдо-клиентам в режиме реального клиента, с индексами 0 ... к-1. Любые остатки г будет генерироваться из первого г реальных клиентов, и будет дан индекс к.

client_ids Список строковых идентификаторов для клиентов в этом наборе данных.
dataset_computation tff.Computation прием идентификатора клиента, возвращая набор данных.

ClientData реализации , которые не поддерживают dataset_computation должны поднять NotImplementedError , если этот атрибут доступен.

element_type_structure Тип элемента информация о клиентских наборах данных.

Элементы , возвращаемые наборы данных в этом ClientData объекта.

методы

create_tf_dataset_for_client

Просмотреть источник

Создает новый tf.data.Dataset , содержащий примеры подготовки клиента.

Args
client_id Строка client_id для нужного клиента.

Возвращает
tf.data.Dataset объект.

create_tf_dataset_from_all_clients

Просмотреть источник

Создает новый tf.data.Dataset , содержащий все примеры клиентов.

Эта функция предназначена для использования в обучении, централизованном нераспределенная модель (NUM_CLIENTS = 1). Это может быть полезно в качестве отправной точки для сравнения с федеративными моделями.

В настоящее время реализация производит набор данных, который содержит все примеры из одного клиента в порядке, и поэтому в целом дополнительные перетасовки должны быть выполнены.

Args
seed Необязательно, семя, чтобы определить порядок, в котором клиенты обрабатываются в соединенном наборе данных. Семян может быть любым 32-разрядное целое число без знака или массив таких чисел.

Возвращает
tf.data.Dataset объект.

datasets

Просмотреть источник

Вырабатывает tf.data.Dataset для каждого клиента в случайном порядке.

Эта функция предназначена для использования здания статического массива данных клиента, предоставляемой федеративного вычисление верхнего уровня.

Args
limit_count Дополнительно, максимальное количество наборов данных для возврата.
seed Необязательно, семя, чтобы определить порядок, в котором клиенты обрабатываются в соединенном наборе данных. Семян может быть любым 32-разрядное целое число без знака или массив таких чисел.

from_clients_and_fn

Просмотреть источник

Конструирует ClientData на основе данной функции.

Args
client_ids Непустой список client_ids, которые являются допустимыми входными сигналами create_tf_dataset_for_client_fn.
create_tf_dataset_for_client_fn Функция , которая принимает client_id из приведенного выше списка, и возвращает tf.data.Dataset .

Возвращает
ClientData .

preprocess

Просмотреть источник

Применяет preprocess_fn данным каждого клиента.

train_test_client_split

Просмотреть источник

Возвращает пару (поезд, тест) ClientData .

Этот метод разбиения клиентов client_data в два ClientData объекты с непересекающимися множествами ClientData.client_ids . Все клиенты в тестируемых ClientData гарантированно иметь непустые наборы данных, но обучение ClientData может иметь клиентов без каких - либо данных.

Args
client_data База ClientData для разделения.
num_test_clients Сколько клиентов продержаться для тестирования. Это может быть в большинстве LEN (client_data.client_ids) - 1, так как мы не хотим производить пустой ClientData .

Возвращает
Пара (train_client_data, test_client_data), где test_client_data имеет num_test_clients выбран случайным образом , при условии ограничения , каждый из них имеет по крайней мере 1 порцию в их наборе данных.

Повышения
ValueError Если num_test_clients не может быть satistifed по client_data , или слишком много клиентов имеют пустые наборы данных.