L'op serializza i messaggi protobuf forniti nei tensori di input.
I tipi di tensori in `values` devono corrispondere allo schema per i campi specificati in` field_names`. Tutti i tensori in "values" devono avere un prefisso di forma comune, batch_shape .
Il tensore `size` specifica il conteggio delle ripetizioni per ogni campo. Il conteggio delle ripetizioni (ultima dimensione) di ogni tensore in "valori" deve essere maggiore o uguale al numero di ripetizioni corrispondente in "dimensioni".
Deve essere fornito un nome "message_type" per fornire un contesto ai nomi dei campi. Il descrittore del messaggio effettivo può essere cercato nel pool di descrittori collegati o in un nome file fornito dal chiamante utilizzando l'attributo `descriptor_source`.
Per la maggior parte, la mappatura tra i tipi di campo Proto e i tipi di campo TensorFlow è semplice. Tuttavia, ci sono alcuni casi speciali:
- Un campo proto che contiene un sottomessaggio o un gruppo può essere convertito solo in `DT_STRING` (il sottomessaggio serializzato). Questo per ridurre la complessità dell'API. La stringa risultante può essere utilizzata come input per un'altra istanza di decode_proto op.
- TensorFlow non supporta gli interi senza segno. Gli op rappresentano i tipi uint64 come `DT_INT64` con lo stesso modello di bit in complemento a due (il modo ovvio). I valori int32 senza segno possono essere rappresentati esattamente specificando il tipo `DT_INT64`, o usando il complemento a due se il chiamante specifica` DT_INT32` nell'attributo `output_types`.
L'attributo `descriptor_source` seleziona la fonte dei descrittori di protocollo da consultare quando si cerca` message_type`. Può essere:
- Una stringa vuota o "local: //", nel qual caso vengono creati descrittori di protocollo per le proto definizioni C ++ (non Python) collegate al binario.
- Un file, nel qual caso i descrittori di protocollo vengono creati dal file, che dovrebbe contenere un `FileDescriptorSet` serializzato come una stringa. NOTA: Puoi costruire un file `descriptor_source` usando le opzioni` --descriptor_set_out` e `--include_imports` nel compilatore del protocollo` protoc`.
- A "byte: //
Classi annidate
classe | EncodeProto.Options | Attributi opzionali per EncodeProto |
Metodi pubblici
Output <String> | asOutput () Restituisce la maniglia simbolica di un tensore. |
Output <String> | byte () Tensore di protos serializzati con forma `batch_shape`. |
EncodeProto statico | create ( ambito ambito, dimensioni operando <Integer>, valori < operando <? >> Iterable, list <String> fieldNames, string messageType, opzioni ... ) Metodo Factory per creare una classe che racchiude una nuova operazione EncodeProto. |
EncodeProto.Options statico | descriptorSource (String descriptorSource) |
Metodi ereditati
Metodi pubblici
output pubblico <String> asOutput ()
Restituisce la maniglia simbolica di un tensore.
Gli input per le operazioni TensorFlow sono output di un'altra operazione TensorFlow. Questo metodo viene utilizzato per ottenere un handle simbolico che rappresenta il calcolo dell'input.
public static EncodeProto create ( ambito ambito, dimensioni operando <Integer>, valori < operando <? >> Iterable, list <String> fieldNames, string messageType, opzioni ...
Metodo Factory per creare una classe che racchiude una nuova operazione EncodeProto.
Parametri
scopo | ambito attuale |
---|---|
dimensioni | Tensore di int32 con forma `[batch_shape, len (field_names)]`. |
valori | Elenco di tensori contenenti valori per il campo corrispondente. |
fieldNames | Elenco di stringhe contenenti nomi di campi proto. |
messageType | Nome del tipo di messaggio proto da decodificare. |
opzioni | trasporta valori di attributi opzionali |
ritorna
- una nuova istanza di EncodeProto