Aviso: esta API está obsoleta e será removida em uma versão futura do TensorFlow depois que a substituição estiver estável.

DecodeProto

DecodeProto classe final pública

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 da 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). 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

classe DecodeProto.Options Atributos opcionais para DecodeProto

Métodos Públicos

estática DecodeProto
criar ( Scope escopo, Operando <String> bytes, String messageType, List <String> fieldNames, List <Class <? >> outputTypes, Options ... Opções)
Método de fábrica para criar uma classe envolvendo uma nova operação DecodeProto.
estáticos DecodeProto.Options
descriptorSource (String descriptorSource)
estáticos DecodeProto.Options
MessageFormat (String MessageFormat)
estáticos DecodeProto.Options
de desinfecção (booleano de desinfecção)
Output <Integer>
tamanhos ()
Tensor de int32 com forma `[batch_shape, len (field_names)]`.
List < Output <? >>
Os valores ()
Lista de tensores contendo valores para o campo correspondente.

Métodos herdados

Métodos Públicos

public static DecodeProto criar ( Scope escopo, Operando <string> bytes, Cordas messageType, List <string> fieldNames, List <Class <? >> outputTypes, Options ... Opções)

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 higienizar (Boolean sanitize)

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

pública 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 < Output <? >> 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])]`.