Операция сериализует сообщения protobuf, представленные во входных тензорах.
Типы тензоров в `values` должны соответствовать схеме полей, указанных в `field_names`. Все тензоры в `values` должны иметь общий префикс формы patch_shape .
Тензор «размеры» определяет количество повторений для каждого поля. Число повторений (последнее измерение) каждого тензора в «значениях» должно быть больше или равно соответствующему количеству повторений в «размерах».
Необходимо указать имя message_type, чтобы указать контекст для имен полей. Действительный дескриптор сообщения можно найти либо в пуле связанных дескрипторов, либо по имени файла, предоставленному вызывающей стороной, с использованием атрибута `descriptor_source`.
По большей части сопоставление между типами полей Proto и типами TensorFlow является простым. Однако есть несколько особых случаев:
- Поле прототипа, содержащее подсообщение или группу, может быть преобразовано только в `DT_STRING` (сериализованное подсообщение). Это сделано для уменьшения сложности API. Полученную строку можно использовать в качестве входных данных для другого экземпляра операции decode_proto.
— В TensorFlow отсутствует поддержка целых чисел без знака. Операции представляют типы uint64 как `DT_INT64` с тем же битовым шаблоном с двоичным дополнением (очевидным способом). Беззнаковые значения int32 можно представить точно, указав тип `DT_INT64` или используя дополнение до двух, если вызывающая сторона указывает `DT_INT32` в атрибуте `output_types`.
Атрибут `descriptor_source` выбирает источник дескрипторов протокола, к которым необходимо обращаться при поиске `message_type`. Это может быть:
— Пустая строка или «local://», в этом случае дескрипторы протокола создаются для определений прототипа C++ (не Python), связанных с двоичным файлом.
- Файл, в этом случае дескрипторы протокола создаются из файла, который, как ожидается, будет содержать FileDescriptorSet, сериализованный в виде строки. ПРИМЕЧАНИЕ. Вы можете создать файл `descriptor_source`, используя опции `--descriptor_set_out` и `--include_imports` для компилятора протокола `protoc`.
- "байт://
Вложенные классы
сорт | КодироватьПрото.Параметры | Необязательные атрибуты для EncodeProto |
Публичные методы
Вывод <Строка> | какВывод () Возвращает символический дескриптор тензора. |
Вывод <Строка> | байты () Тензор сериализованных прототипов с формой `batch_shape`. |
статический EncodeProto | create (область области действия , размеры операндов <Целое>, значения Iterable< Операнд <?>>, имена полей List<String>, String messageType, Опции... параметры) Фабричный метод для создания класса, обертывающего новую операцию EncodeProto. |
статический EncodeProto.Options | descriptorSource (строковый источник дескриптора) |
Унаследованные методы
логическое значение | равно (Объект arg0) |
последний класс<?> | получитьКласс () |
интервал | хэш-код () |
окончательная пустота | поставить в известность () |
окончательная пустота | уведомитьВсе () |
Нить | нанизывать () |
окончательная пустота | подождать (длинный arg0, int arg1) |
окончательная пустота | подождите (длинный arg0) |
окончательная пустота | ждать () |
Публичные методы
общедоступный вывод <String> asOutput ()
Возвращает символический дескриптор тензора.
Входные данные для операций TensorFlow являются выходными данными другой операции TensorFlow. Этот метод используется для получения символического дескриптора, который представляет собой вычисление входных данных.
public static EncodeProto create (область области действия , размеры операндов <Integer>, значения Iterable< Operand <?>>, имена полей List<String>, String messageType, параметры... параметры)
Фабричный метод для создания класса, обертывающего новую операцию EncodeProto.
Параметры
объем | текущий объем |
---|---|
размеры | Тензор int32 с формой `[batch_shape, len(field_names)]`. |
ценности | Список тензоров, содержащих значения для соответствующего поля. |
имена полей | Список строк, содержащих имена протополей. |
тип сообщения | Имя типа прото-сообщения для декодирования. |
параметры | содержит значения необязательных атрибутов |
Возврат
- новый экземпляр EncodeProto