O op serializa as mensagens protobuf fornecidas nos tensores de entrada.
Os tipos dos tensores em `values` devem corresponder ao esquema para os campos especificados em `field_names`. Todos os tensores em `values` devem ter um prefixo de forma comum, batch_shape .
O tensor `sizes` especifica contagens de repetição para cada campo. A contagem de repetições (última dimensão) de cada tensor em `values` deve ser maior ou igual à contagem de repetições correspondente em `sizes`.
Um nome `message_type` deve ser fornecido para dar contexto aos nomes dos campos. O descritor de mensagem real pode ser pesquisado no pool de descritores vinculados ou em um nome de arquivo fornecido pelo chamador usando o atributo `descriptor_source`.
Na maioria das vezes, 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. As operações representam os tipos uint64 como um `DT_INT64` com o mesmo padrão de bits de complemento de dois (o caminho óbvio). 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`.
O atributo `descriptor_source` seleciona a fonte dos descritores de protocolo a serem consultados ao pesquisar `message_type`. Isso pode ser:
- Uma string vazia ou "local://", caso em que os descritores de protocolo são criados para definições proto C++ (não Python) vinculadas ao binário.
- Um arquivo, neste 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://
Classes aninhadas
aula | EncodeProto.Options | Atributos opcionais para EncodeProto |
Métodos públicos
Saída <String> | comoSaída () Retorna o identificador simbólico de um tensor. |
Saída <String> | bytes () Tensor de protos serializados com forma `batch_shape`. |
estático EncodeProto | create ( Escopo de escopo, tamanhos de Operando <Integer>, Iterable< Operando <?>> valores, List<String> fieldNames, String messageType, Options... options) Método de fábrica para criar uma classe que envolve uma nova operação EncodeProto. |
static EncodeProto.Options | descriptorSource (String descriptorSource) |
Métodos Herdados
Métodos públicos
Public Output <String> asOutput ()
Retorna o identificador simbólico de um tensor.
As entradas para 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 create ( Escopo de escopo, tamanhos de Operando <Integer>, Iterable< Operando <?>> valores, List<String> fieldNames, String messageType, Options... options)
Método de fábrica para criar uma classe que envolve 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. |
nomes de campos | Lista de strings contendo nomes de campos proto. |
tipo de mensagem | Nome do tipo de mensagem proto a ser decodificada. |
opções | carrega valores de atributos opcionais |
Devoluções
- uma nova instância do EncodeProto