Opera serializuje komunikaty protobuf dostarczone w tensorach wejściowych.
Typy tensorów w `values` muszą odpowiadać schematowi dla pól określonych w `field_names`. Wszystkie tensory w „wartościach” muszą mieć wspólny przedrostek kształtu, wsad_shape .
Tensor „rozmiarów” określa liczbę powtórzeń dla każdego pola. Liczba powtórzeń (ostatni wymiar) każdego tensora w „wartościach” musi być większa lub równa odpowiedniej liczbie powtórzeń w „rozmiarach”.
Aby zapewnić kontekst nazw pól, należy podać nazwę „typ_wiadomości”. Rzeczywisty deskryptor komunikatu można sprawdzić w puli połączonych deskryptorów lub w nazwie pliku dostarczonej przez osobę wywołującą przy użyciu atrybutu `źródło_deskryptu`.
W większości przypadków mapowanie między typami pól Proto i typami TensorFlow jest proste. Istnieje jednak kilka szczególnych przypadków:
- Pole proto zawierające podkomunikat lub grupę można przekonwertować jedynie na `DT_STRING` (serializowany podkomunikat). Ma to na celu zmniejszenie złożoności interfejsu API. Wynikowy ciąg znaków może zostać użyty jako dane wejściowe innej instancji operacji decode_proto.
- TensorFlow nie obsługuje liczb całkowitych bez znaku. Operacje reprezentują typy uint64 jako `DT_INT64` z tym samym wzorcem bitowym z uzupełnieniem do dwóch (w oczywisty sposób). Wartości int32 bez znaku można dokładnie przedstawić, określając typ `DT_INT64` lub używając uzupełnienia dwójkowego, jeśli wywołujący określi `DT_INT32` w atrybucie `output_types`.
Atrybut `descriptor_source` wybiera źródło deskryptorów protokołu, z których należy korzystać podczas wyszukiwania `message_type`. To może być:
- Pusty ciąg znaków lub „local://”, w którym to przypadku tworzone są deskryptory protokołu dla definicji proto C++ (nie Pythona) połączonych z plikiem binarnym.
- Plik, w którym to przypadku tworzone są deskryptory protokołu z pliku, który powinien zawierać `FileDescriptorSet` serializowany jako ciąg znaków. UWAGA: Możesz zbudować plik `źródło_deskryptu`, używając opcji `--descriptor_set_out` i `--include_imports` do kompilatora protokołu `protoc`.
- A „bajty://
Klasy zagnieżdżone
klasa | Opcje EncodeProto | Opcjonalne atrybuty dla EncodeProto |
Metody publiczne
Wyjście <Ciąg> | jako wyjście () Zwraca symboliczny uchwyt tensora. |
Wyjście <Ciąg> | bajty () Tensor serializowanych protosów o kształcie „batch_shape”. |
statyczny EncodeProto | |
statyczne EncodeProto.Options | deskryptorSource (deskryptor ciągu znaków) |
Metody dziedziczone
Metody publiczne
publiczne wyjście <String> asOutput ()
Zwraca symboliczny uchwyt tensora.
Dane wejściowe operacji TensorFlow są wynikami innej operacji TensorFlow. Ta metoda służy do uzyskania symbolicznego uchwytu reprezentującego obliczenia danych wejściowych.
public static EncodeProto create (zakres zakresu , rozmiary argumentu <liczba całkowita, wartości iterowalne< argument <?>>, lista <łańcuch> nazwy pól, typ komunikatu ciągu, opcje... opcje)
Metoda fabryczna służąca do tworzenia klasy opakowującej nową operację EncodeProto.
Parametry
zakres | aktualny zakres |
---|---|
rozmiary | Tensor int32 o kształcie `[batch_shape, len(field_names)]`. |
wartości | Lista tensorów zawierających wartości dla odpowiedniego pola. |
Nazwy pól | Lista ciągów zawierających nazwy pól proto. |
typ wiadomości | Nazwa typu wiadomości proto do zdekodowania. |
opcje | przenosi opcjonalne wartości atrybutów |
Zwroty
- nowa instancja EncodeProto