Spec-Zone.ru › TensorFlow 2.9

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 с тем же двоичным образцом со знаком (очевидный способ). Значения целых чисел int32 без знака можно точно представить, указав тип DT_INT64, или используя двоичный образец со знаком, если вызывающий объект указывает DT_INT32 в атрибуте output_types.

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

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

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

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

Аргументы
sizes A Tensor типа int32. Тензор int32 с формой [batch_shape, len(field_names)].
values Список объектов Tensor. Список тензоров, содержащих значения для соответствующего поля.
field_names Список strings. Список строк, содержащих имена полей протокола.
message_type string. Имя типа сообщения протокола для декодирования.
descriptor_source Необязательный string. По умолчанию "local://".
name Имя операции (необязательно).
Возвращаемые значения
A 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/versions/r2.9/api_docs/python/tf/raw_ops/EncodeProto

Spec-Zone.ru

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