DecodeProto

classe final pública DecodeProto

A operação extrai campos de um protocolo serializado que armazena mensagens em tensores.

A operação `decode_proto` extrai campos de um protocolo serializado armazena mensagens em tensores. Os campos em `field_names` são decodificados e convertidos nos `output_types` correspondentes, se possível.

Um nome `message_type` deve ser fornecido para fornecer contexto para os nomes dos campos. O descritor de mensagem real pode ser consultado no conjunto de descritores vinculados ou em um nome de arquivo fornecido pelo chamador usando o atributo `descriptor_source`.

Cada tensor de saída é um tensor denso. Isso significa que ele é preenchido para conter o maior número de elementos repetidos vistos no minilote de entrada. (A forma também é preenchida com um para evitar dimensões de tamanho zero). As contagens reais de repetições para cada exemplo no minilote podem ser encontradas na saída `sizes`. Em muitos casos, a saída de `decode_proto` é alimentada imediatamente em tf.squeeze se os valores ausentes não forem uma preocupação. Ao usar tf.squeeze, sempre passe explicitamente a dimensão squeeze para evitar surpresas.

Na maior parte, o mapeamento entre os tipos de campo Proto e os dtypes do TensorFlow é direto. No entanto, existem alguns casos especiais:

- Um campo proto que contém uma submensagem ou grupo só pode ser convertido em `DT_STRING` (a submensagem serializada). Isso reduz a complexidade da API. A string resultante pode ser usada como entrada para outra instância da operação decode_proto.

- O TensorFlow não oferece suporte para números inteiros não assinados. As operações representam os tipos uint64 como `DT_INT64` com o mesmo padrão de bits de complemento de dois (a maneira óbvia). Valores int32 não assinados podem ser representados exatamente especificando o tipo `DT_INT64` ou usando complemento de dois se o chamador especificar `DT_INT32` no atributo `output_types`.

Ambas as serializações de proto binário e de texto são suportadas e podem ser escolhidas usando o atributo `format`.

O atributo `descriptor_source` seleciona a fonte dos descritores de protocolo a serem consultados ao procurar `message_type`. Isto pode ser:

- Uma string vazia ou "local://", caso em que os descritores de protocolo são criados para definições de proto C++ (não Python) vinculadas ao binário.

- Um arquivo, nesse caso os descritores de protocolo são criados a partir do arquivo, que deve conter um `FileDescriptorSet` serializado como uma string. NOTA: Você pode construir um arquivo `descriptor_source` usando as opções `--descriptor_set_out` e `--include_imports` para o compilador de protocolo `protoc`.

- Um "byte:// ", em que os descritores de protocolo são criados a partir de ` `, que deve ser um `FileDescriptorSet` serializado como uma string.

Classes aninhadas

aula DecodeProto.Options Atributos opcionais para DecodeProto

Métodos Públicos

DecodeProto estático
create ( escopo do escopo , operando <String> bytes, String messageType, List<String> fieldNames, List<Class<?>> outputTypes, Options... options)
Método de fábrica para criar uma classe que envolve uma nova operação DecodeProto.
DecodeProto.Options estático
descriptorSource (String descriptorSource)
DecodeProto.Options estático
messageFormat (String messageFormat)
DecodeProto.Options estático
higienizar (sanitizar booleano)
Saída <Inteiro>
tamanhos ()
Tensor de int32 com forma `[batch_shape, len(field_names)]`.
Lista< Saída <?>>
valores ()
Lista de tensores contendo valores para o campo correspondente.

Métodos herdados

Métodos Públicos

public static DecodeProto create ( Escopo do escopo , Operando <String> bytes, String messageType, List<String> fieldNames, List<Class<?>> outputTypes, Options... options)

Método de fábrica para criar uma classe que envolve uma nova operação DecodeProto.

Parâmetros
escopo escopo atual
bytes Tensor de protos serializados com formato `batch_shape`.
tipo de mensagem Nome do tipo de mensagem proto a ser decodificada.
nomes de campos Lista de strings contendo nomes de campos proto. Um campo de extensão pode ser decodificado usando seu nome completo, por exemplo, EXT_PACKAGE.EXT_FIELD_NAME.
tipos de saída Lista de tipos de TF a serem usados ​​para o respectivo campo em field_names.
opções carrega valores de atributos opcionais
Devoluções
  • uma nova instância do DecodeProto

public static DecodeProto.Options descriptorSource (String descriptorSource)

Parâmetros
descritorFonte O valor especial `local://` ou um caminho para um arquivo contendo um `FileDescriptorSet` serializado.

público estático DecodeProto.Options messageFormat (String messageFormat)

Parâmetros
mensagemFormat Ou `binário` ou `texto`.

public static DecodeProto.Options sanitize (sanitização booleana)

Parâmetros
higienizar Seja para higienizar o resultado ou não.

Saída pública <Integer> tamanhos ()

Tensor de int32 com forma `[batch_shape, len(field_names)]`. Cada entrada é o número de valores encontrados para o campo correspondente. Os campos opcionais podem ter valores 0 ou 1.

Lista pública< Saída <?>> valores ()

Lista de tensores contendo valores para o campo correspondente. `values[i]` tem tipo de dados `output_types[i]` e formato `[batch_shape, max(sizes[...,i])]`.