Spec-Zone.ru › TensorFlow 1.15

tf.io.encode_proto

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

Просмотр псевдонимов

Основные псевдонимы

`tf.contrib.proto.encode_proto`

Псевдонимы совместимости для миграции

См. Руководство по миграции для получения дополнительной информации.

tf.compat.v1.io.encode_proto, `tf.compat.v2.io.encode_proto`

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

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

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

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

В основном, сопоставление между типами полей прото и типами 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.

  • «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.

© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/io/encode_proto

Spec-Zone.ru

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