O op serializa mensagens protobuf fornecidas nos tensores de entrada.
Os tipos de tensores em `valores` devem corresponder ao esquema para os campos especificados em` field_names`. Todos os tensores em `values` deve ter um prefixo de forma comum, batch_shape.
O tensor `size` especifica contagens repetidas para cada campo. A contagem de repetição (última dimensão) de cada tensor em "valores" deve ser maior ou igual à contagem de repetição correspondente em "tamanhos".
Um nome `message_type` deve ser fornecido para dar contexto aos nomes dos campos. O descritor de mensagem real pode ser consultado no pool de descritores vinculados ou em um nome de arquivo fornecido pelo chamador usando o atributo `descriptor_source`.
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). 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`.
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: //
Classes aninhadas
classe | EncodeProto.Options | Atributos opcionais para EncodeProto |
Métodos Públicos
Output <String> | asOutput () Retorna o identificador simbólico de um tensor. |
Output <String> | bytes () Tensor de protos serializados com forma `batch_shape`. |
estática EncodeProto | criar ( Scope escopo, Operando <inteiro> tamanhos, Iterable < Operando <? >> valores, List <String> fieldNames, String messageType, Options ... Opções) Método de fábrica para criar uma classe envolvendo uma nova operação EncodeProto. |
estáticos EncodeProto.Options | descriptorSource (String descriptorSource) |
Métodos herdados
Métodos Públicos
pública Output <String> asOutput ()
Retorna o identificador simbólico de um tensor.
As entradas para as operações do TensorFlow são saídas de outra operação do TensorFlow. Este método é usado para obter um identificador simbólico que representa o cálculo da entrada.
public static EncodeProto criar ( Scope escopo, Operando <inteiro> tamanhos, Iterable < Operando <? >> valores, List <String> fieldNames, String messageType, Options ... Opções)
Método de fábrica para criar uma classe envolvendo uma nova operação EncodeProto.
Parâmetros
alcance | escopo atual |
---|---|
tamanhos | Tensor de int32 com forma `[batch_shape, len (field_names)]`. |
valores | Lista de tensores contendo valores para o campo correspondente. |
fieldNames | Lista de strings contendo nomes de campos protótipos. |
tipo de mensagem | Nome do tipo de mensagem proto a decodificar. |
opções | carrega valores de atributos opcionais |
Devoluções
- uma nova instância de EncodeProto