A operação serializa mensagens protobuf fornecidas nos tensores de entrada.
Os tipos de tensores em `values` devem corresponder ao esquema dos campos especificados em `field_names`. Todos os tensores em `values` devem ter um prefixo de forma comum, batch_shape .
O tensor `sizes` especifica contagens repetidas para cada campo. A contagem de repetições (última dimensão) de cada tensor em `valores` deve ser maior ou igual à contagem de repetições correspondente em `tamanhos`.
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`.
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`.
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://
Classes aninhadas
aula | EncodeProto.Options | Atributos opcionais para EncodeProto |
Métodos Públicos
Saída <String> | asOutput () Retorna o identificador simbólico de um tensor. |
Saída <String> | bytes () Tensor de protos serializados com formato `batch_shape`. |
EncodeProto estático | create (escopo do escopo , tamanhos de operando <inteiro>, valores Iterable< operando <?>>, List<String> fieldNames, String messageType, Options... options) Método de fábrica para criar uma classe que envolve uma nova operação EncodeProto. |
EncodeProto.Options estático | descriptorSource (String descriptorSource) |
Métodos herdados
Métodos Públicos
Saída pública <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 do escopo , tamanhos de operando <inteiro>, valores iteráveis< operando <?>>, lista<String> fieldNames, String messageType, opções... opções)
Método de fábrica para criar uma classe que envolve uma nova operação EncodeProto.
Parâmetros
escopo | 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