Esta página foi traduzida pela API Cloud Translation.
Switch to English

tff.simulation.TransformingClientData

Ver fonte no GitHub

Transforma os dados do cliente, potencialmente ampliando adicionando pseudo-clientes.

Herda de: ClientData

Cada cliente do raw_client_data é "expandida" em algum número de pseudo-clientes. Cada ID do cliente é uma string que consiste na identificação do cliente original mais um índice inteiro concatenadas. Por exemplo, o ID de cliente raw "client_a" pode ser expandida em pseudo-cliente ids "client_a_0", "client_a_1" e "client_a_2". Uma função fn (X) mapeia datapoint x para um novo ponto de dados, em que o construtor de Fn é parametrizado pelo client_id (cru) e o índice i. Por exemplo, se x é uma imagem, em seguida, make_transform_fn ( "client_a", 0) (x) pode ser a identidade, enquanto make_transform_fn ( "client_a", 1) (X) pode ser uma rotação aleatória da imagem com o ângulo determinado pela um hash de "client_a" e "1". Tipicamente, por convenção, o índice de 0 corresponde à função de identidade, se a identidade é suportado.

raw_client_data A ClientData a se expandir.
make_transform_fn Uma função que retorna um exigível que os mapas datapoint x para um novo datapoint x'. make_transform_fn será chamado como make_transform_fn (raw_client_id, i), onde i é um índice inteiro, e deve retornar uma função fn (x) -> x. Por exemplo, se x é uma imagem, em seguida, make_transform_fn ( "client_a", 0) (x) pode ser a identidade, enquanto make_transform_fn ( "client_a", 1) (X) pode ser uma rotação aleatória da imagem com o ângulo determinado pela um hash de "client_a" e "1". Se transform_fn_cons retornos None , é realizada nenhuma transformação. Tipicamente, por convenção, o índice de 0 corresponde à função de identidade, se a identidade é suportado.
num_transformed_clients O número total de clientes transformadas para produzir. Se é um inteiro k múltiplo do número de clientes reais, haverá exatamente k pseudo-clientes por cliente real, com índices de 0 ... k-1. Qualquer restante g vai ser gerada a partir dos primeiro g clientes reais e será dado índice k.

client_ids A lista de identificadores de cordas para os clientes neste conjunto de dados.
dataset_computation A tff.Computation aceitar um ID do cliente, retornando um conjunto de dados.

ClientData implementações que não suportam dataset_computation deve levantar NotImplementedError se esse atributo é acessado.

element_type_structure As informações de tipo de elemento dos conjuntos de dados de clientes.

elementos mostrados por conjuntos de dados neste ClientData objecto.

Métodos

create_tf_dataset_for_client

Ver fonte

Cria um novo tf.data.Dataset contendo os exemplos de treinamento cliente.

args
client_id A seqüência de client_id para o cliente desejado.

Devoluções
Um tf.data.Dataset objecto.

create_tf_dataset_from_all_clients

Ver fonte

Cria um novo tf.data.Dataset contendo todos os exemplos de cliente.

Esta função é destinada à formação utilização centralizada, modelos não-distribuídos (num_clients = 1). Isto pode ser útil como um ponto de comparação em relação a modelos federados.

Atualmente, a implementação produz um conjunto de dados que contém todos os exemplos de um único cliente em ordem, e baralhar tão geralmente adicional deve ser realizada.

args
seed Opcional, uma semente para determinar a ordem em que os clientes são processados ​​no conjunto de dados juntou. A semente pode ser qualquer número inteiro sem sinal de 32 bits ou um array de tais números inteiros.

Devoluções
Um tf.data.Dataset objecto.

datasets

Ver fonte

Produz o tf.data.Dataset para cada cliente de forma aleatória.

Esta função é destinado ao uso construir uma matriz estática de dados do cliente a ser fornecido para a computação federada de nível superior.

args
limit_count Opcional, um número máximo de conjuntos de dados para retornar.
seed Opcional, uma semente para determinar a ordem em que os clientes são processados ​​no conjunto de dados juntou. A semente pode ser qualquer número inteiro sem sinal de 32 bits ou um array de tais números inteiros.

from_clients_and_fn

Ver fonte

Constrói um ClientData com base na função dada.

args
client_ids Uma lista não-vazia de client_ids que são entradas válidas para o create_tf_dataset_for_client_fn.
create_tf_dataset_for_client_fn Uma função que leva um client_id da lista acima, e retorna um tf.data.Dataset .

Devoluções
A ClientData .

preprocess

Ver fonte

Aplica preprocess_fn aos dados de cada cliente.

train_test_client_split

Ver fonte

Retorna um par de (trem, teste) ClientData .

Este método partições os clientes de client_data em duas ClientData objetos com conjuntos disjuntos de ClientData.client_ids . Todos os clientes no teste ClientData está garantido para ter conjuntos de dados não-vazio, mas o treinamento ClientData pode ter clientes sem dados.

args
client_data A base ClientData a divisão.
num_test_clients Quantos clientes para resistir a testar. Isso pode ser no máximo len (client_data.client_ids) - 1, uma vez que não querem produzir vazio ClientData .

Devoluções
Um par (train_client_data, test_client_data), onde test_client_data tem num_test_clients seleccionado ao acaso, sujeito a restrição de que cada um tem, pelo menos, um lote no seu conjunto de dados.

Levanta
ValueError Se num_test_clients não pode ser satistifed por client_data , ou muitos clientes têm conjuntos de dados vazios.