Spec-Zone.ru › TensorFlow

tf.raw_ops.EncodeProto

Операция сериализует сообщения protobuf, переданные во входных тензорах.

Алиасы

Алиасы для обеспечения совместимости при миграции

Дополнительную информацию см. в руководстве по миграции.

tf.compat.v1.raw_ops.EncodeProto

tf.raw_ops.EncodeProto(
    sizes,
    values,
    field_names,
    message_type,
    descriptor_source='local://',
    name=None
)

Типы тензоров в values должны соответствовать схеме полей, указанных в field_names. Все тензоры в values должны иметь общий префикс формы, batch_shape.

Тензор sizes задает количество повторений для каждого поля. Количество повторений (последнее измерение) каждого тензора в values должно быть не меньше соответствующего количества повторений в sizes.

Для задания контекста имен полей необходимо указать имя message_type. Фактический дескриптор сообщения можно найти либо в подключенном пуле дескрипторов, либо в файле, указанном вызывающим кодом с помощью атрибута descriptor_source.

В большинстве случаев соответствие между типами полей Proto и типами данных TensorFlow очевидно. Однако есть несколько особых случаев:

  • Поле proto, содержащее вложенное сообщение или группу, можно преобразовать только в DT_STRING (сериализованное вложенное сообщение). Это упрощает API. Полученную строку можно использовать в качестве входных данных для другого экземпляра операции decode_proto.

  • TensorFlow не поддерживает беззнаковые целые числа. Операции представляют типы uint64 как DT_INT64 с тем же битовым шаблоном дополнительного кода (очевидный способ). Значения uint32 можно точно представить, указав тип DT_INT64 или используя дополнительный код, если вызывающий код укажет DT_INT32 в атрибуте output_types.

Атрибут descriptor_source выбирает источник дескрипторов протокола, используемый для поиска message_type. Это может быть:

  • Пустая строка или "local://"; в этом случае дескрипторы протокола создаются для определений proto на C++ (но не на Python), связанных с бинарным файлом.

  • Файл; в этом случае дескрипторы протокола создаются из файла, который, как предполагается, содержит FileDescriptorSet, сериализованный в виде строки. ПРИМЕЧАНИЕ. Файл descriptor_source можно создать с помощью параметров --descriptor_set_out и --include_imports компилятора протоколов protoc.

  • "bytes://", в этом случае дескрипторы протокола создаются из <bytes>, которое, как предполагается, представляет собой FileDescriptorSet, сериализованный в виде строки.

Аргументы
sizes Tensor типа int32. Тензор int32 с формой [batch_shape, len(field_names)].
values Список объектов Tensor. Список тензоров, содержащих значения соответствующего поля.
field_names Список strings. Список строк с именами полей proto.
message_type string. Имя типа сообщения proto для декодирования.
descriptor_source Необязательный string. По умолчанию используется "local://".
name Имя операции (необязательно).
Возвращаемое значение
Tensor типа string.

© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/raw_ops/EncodeProto

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API