DecodeProto

public final class DecodeProto

O op extrai campos de uma mensagem de buffers de protocolo serializada em tensores.

A operação `decode_proto` extrai campos de uma mensagem de buffers de protocolo serializada em tensores. Os campos em `field_names` são decodificados e convertidos para os` output_types` correspondentes, se possível.

Um nome `message_type` deve ser fornecido para dar contexto aos nomes dos campos. O descritor de mensagem real pode ser encontrado no pool 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 minibatch de entrada. (A forma também é preenchida por um para evitar dimensões de tamanho zero). As contagens reais de repetição para cada exemplo no minibatch podem ser encontradas na saída de `tamanhos`. 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 a dimensão squeeze explicitamente 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 é para reduzir a complexidade da API. A string resultante pode ser usada como entrada para outra instância do op decode_proto.

- O TensorFlow não tem suporte para inteiros não assinados. Os ops representam tipos uint64 como um `DT_INT64` com o mesmo padrão de bits de complemento de dois (a maneira óbvia). Os valores int32 sem sinal podem ser representados exatamente especificando o tipo `DT_INT64`, ou usando complemento de dois se o chamador especificar` DT_INT32` no atributo `output_types`.

Tanto as proto-serializações binárias quanto as 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 pesquisar` message_type`. 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, em cujo 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`.

- A "bytes: // ", 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
criar ( escopo do escopo, Operand <String> bytes, String messageType, List <String> fieldNames, List <Class <? >> outputTypes, Options ... options)
Método de fábrica para criar uma classe envolvendo uma nova operação DecodeProto.
static DecodeProto.Options
descriptorSource (String descriptorSource)
static DecodeProto.Options
messageFormat (String messageFormat)
static DecodeProto.Options
sanitize ( desinfecção booleana)
Saída <Integer>
tamanhos ()
Tensor de int32 com forma `[batch_shape, len (field_names)]`.
Listar < Resultado <? >>
valores ()
Lista de tensores contendo valores para o campo correspondente.

Métodos herdados

Métodos Públicos

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

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

Parâmetros
alcance escopo atual
bytes Tensor de protos serializados com forma `batch_shape`.
tipo de mensagem Nome do tipo de mensagem proto a decodificar.
fieldNames Lista de strings contendo nomes de campos protótipos. Um campo de extensão pode ser decodificado usando seu nome completo, por exemplo, EXT_PACKAGE.EXT_FIELD_NAME.
outputTypes 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 de DecodeProto

public static DecodeProto.Options descriptorSource (String descriptorSource)

Parâmetros
descriptorSource Tanto o valor especial `local: //` ou um caminho para um arquivo contendo um `FileDescriptorSet` serializado.

public static DecodeProto.Options messageFormat (String messageFormat)

Parâmetros
messageFormat Pode ser `binário` ou` texto`.

public static DecodeProto.Options sanitize (Boolean sanitize)

Parâmetros
higienizar Se deve higienizar o resultado ou não.

Public Output <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 0 ou 1 valor.

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

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