Ta strona została przetłumaczona przez Cloud Translation API.
Switch to English

tff.simulation.TransformingClientData

Zobacz źródło na GitHub

Przekształca dane klienta, potencjalnie rozwija poprzez dodanie pseudo-klientów.

Dziedziczy: ClientData

Każdy klient z raw_client_data jest „rozszerzony” do jakiejś liczby pseudo-klientów. Każdy identyfikator klienta, to ciąg składa się z pierwotnego ID klienta plus połączonego indeks całkowitej. Na przykład, surowy identyfikator klienta „client_a” może być rozszerzony w pseudo klienta ids „client_a_0 client_a_1” „” i „” client_a_2. FN funkcji (x) odwzorowuje Datapoint x w nową Datapoint, w którym konstruktor fn parametryzowana przez (surowego) client_id i indeksu i. Na przykład, gdy x jest obraz, a następnie make_transform_fn ( „client_a”, 0) (X) może być identyfikacja, a make_transform_fn ( „client_a” 1) (X) może być przypadkową obracanie obrazu o kąt określa hash "client_a" i "1". Zazwyczaj konwencją z indeksem 0 odpowiada funkcji tożsamość czy tożsamość jest obsługiwany.

raw_client_data ClientData się rozwijać.
make_transform_fn Funkcja, która zwraca wpłacone że mapy Datapoint x do nowego Datapoint x”. make_transform_fn będzie nazywany jako make_transform_fn raw_client_id (i), gdzie i jest liczbą całkowitą indeks i należy zwrócić fn funkcji (x) -> x. Na przykład, gdy x jest obraz, a następnie make_transform_fn ( „client_a”, 0) (X) może być identyfikacja, a make_transform_fn ( „client_a” 1) (X) może być przypadkową obracanie obrazu o kąt określa hash "client_a" i "1". Jeśli transform_fn_cons zwrotów None nie transformacja jest wykonywana. Zazwyczaj konwencją z indeksem 0 odpowiada funkcji tożsamość czy tożsamość jest obsługiwany.
num_transformed_clients Łączna liczba klientów przekształconych w produkcji. Jeśli jest to k całkowitą wielokrotnością liczby rzeczywistych klientów, nie będzie dokładnie k pseudo-klientów za prawdziwym klientem, z indeksami 0 ... K-1. Wszelkie reszta g będzie generowana z pierwszych g rzeczywistych klientów i będą indeksie k.

client_ids Lista identyfikatorów łańcuchowych dla klientów w tym zbiorze.
dataset_computation tff.Computation przyjmując identyfikator klienta, wracając zestawu danych.

ClientData implementacje, które nie obsługują dataset_computation powinna podnieść NotImplementedError jeśli ten atrybut jest dostępny.

element_type_structure Informacje typ elementem zbiorów danych klienckich.

Elementy zwracane przez zestawy danych w tym ClientData obiektu.

metody

create_tf_dataset_for_client

Pokaż źródło

Tworzy nowy tf.data.Dataset zawierającą przykłady szkoleniowych klienta.

args
client_id Ciąg CLIENT_ID żądanego klienta.

Zwroty
tf.data.Dataset przedmiot.

create_tf_dataset_from_all_clients

Pokaż źródło

Tworzy nowy tf.data.Dataset zawierający wszystkie przykłady klienckich.

Funkcja ta jest przeznaczona do wykorzystania szkolenia scentralizowanych, modele niepodzielone (NUM_CLIENTS = 1). Może to być użyteczne jako punkt porównaniu z modelami federacyjnych.

Obecnie realizacja tworzy zbiór danych, który zawiera wszystkie przykłady z jednego klienta w porządku, a więc na ogół dodatkowe tasowanie powinny być wykonywane.

args
seed Opcjonalnie, ziarno, aby określić kolejność, w której klienci są przetwarzane w zbiorze połączonych. Nasiona mogą być jakiekolwiek 32-bitowa liczba całkowita bez znaku lub szereg takich liczb całkowitych.

Zwroty
tf.data.Dataset przedmiot.

datasets

Pokaż źródło

Daje tf.data.Dataset dla każdego klienta w kolejności losowej.

Ta funkcja jest przeznaczona do użytku budynku statyczną tablicę danych klienckich, które należy dostarczyć do najwyższego poziomu stowarzyszonym obliczeń.

args
limit_count Opcjonalnie, maksymalna liczba zbiorów danych do powrotu.
seed Opcjonalnie, ziarno, aby określić kolejność, w której klienci są przetwarzane w zbiorze połączonych. Nasiona mogą być jakiekolwiek 32-bitowa liczba całkowita bez znaku lub szereg takich liczb całkowitych.

from_clients_and_fn

Pokaż źródło

Konstruuje ClientData oparciu o danej funkcji.

args
client_ids Niepusty lista client_ids które obowiązują wejścia do create_tf_dataset_for_client_fn.
create_tf_dataset_for_client_fn Funkcja, która zajmuje CLIENT_ID z powyższej listy, a następnie zwraca tf.data.Dataset .

Zwroty
ClientData .

preprocess

Pokaż źródło

Stosuje preprocess_fn do danych każdego klienta.

train_test_client_split

Pokaż źródło

Zwraca parę (pociąg, test) ClientData .

Metoda ta partycje klientów client_data na dwie ClientData obiektów z rozłącznych zbiorów ClientData.client_ids . Wszyscy klienci w teście ClientData są gwarantowane mają niepuste zbiory danych, ale szkolenia ClientData może mieć klientów bez danych.

args
client_data Podstawa ClientData do rozłamu.
num_test_clients Ilu klientów, aby utrzymać się do testowania. To może być co najwyżej len (client_data.client_ids) - 1, ponieważ nie chcemy produkować pusty ClientData .

Zwroty
Para (train_client_data, test_client_data), gdzie test_client_data jest num_test_clients wybranych losowo, przy ograniczeniu, że każdy z nich ma co najmniej 1 porcję w ich zestawie danych.

podbicia
ValueError Jeśli num_test_clients nie można satistifed przez client_data lub zbyt wielu klientów mają pustych zbiorów danych.