РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
644 of 824 menu

Функция parse_sequence_example

Функция parse_sequence_example преобразует сериализованный протокол SequenceExample в словарь тензоров. Первым параметром передается скалярный тензор типа string, содержащий сериализованные данные. Вторым параметром передается словарь context_features с описанием контекстных признаков. Третьим параметром передается словарь sequence_features с описанием последовательных признаков. Функция возвращает кортеж из двух словарей: первый содержит контекстные тензоры, второй - последовательные.

Синтаксис

tf.io.parse_sequence_example( serialized, context_features=None, sequence_features=None, example_names=None, name=None )

Пример

Давайте создадим простой SequenceExample с контекстным признаком context_feature и последовательным признаком sequence_feature, а затем разберем его:

import tensorflow as tf example = tf.train.SequenceExample() example.context.feature["context_feature"].int64_list.value.append(5) example.feature_lists.feature_list["sequence_feature"].feature.add().int64_list.value.append(1) example.feature_lists.feature_list["sequence_feature"].feature.add().int64_list.value.append(2) example.feature_lists.feature_list["sequence_feature"].feature.add().int64_list.value.append(3) serialized = example.SerializeToString() context, sequence = tf.io.parse_sequence_example( serialized, context_features={ "context_feature": tf.io.FixedLenFeature([], dtype=tf.int64) }, sequence_features={ "sequence_feature": tf.io.FixedLenSequenceFeature([], dtype=tf.int64) } ) print(context) print(sequence)

Результат выполнения кода:

{'context_feature': <tf.Tensor: shape=(), dtype=int64, numpy=5>} {'sequence_feature': <tf.Tensor: shape=(3,), dtype=int64, numpy=array([1, 2, 3])>}

Пример

Давайте разберем SequenceExample с несколькими последовательностями разной длины и строковым контекстным признаком:

import tensorflow as tf example = tf.train.SequenceExample() example.context.feature["name"].bytes_list.value.append(b"abcde") example.feature_lists.feature_list["values"].feature.add().int64_list.value.append(10) example.feature_lists.feature_list["values"].feature.add().int64_list.value.append(20) example.feature_lists.feature_list["values"].feature.add().int64_list.value.append(30) serialized = example.SerializeToString() context, sequence = tf.io.parse_sequence_example( serialized, context_features={ "name": tf.io.FixedLenFeature([], dtype=tf.string) }, sequence_features={ "values": tf.io.FixedLenSequenceFeature([], dtype=tf.int64) } ) print(context["name"].numpy()) print(sequence["values"].numpy())

Результат выполнения кода:

b'abcde' [10 20 30]

Пример

Давайте разберем SequenceExample с пакетом из двух примеров и переменной длиной последовательности:

import tensorflow as tf def make_example(values): example = tf.train.SequenceExample() example.context.feature["id"].int64_list.value.append(len(values)) for v in values: example.feature_lists.feature_list["seq"].feature.add().int64_list.value.append(v) return example.SerializeToString() serialized = tf.constant([make_example([1, 2, 3]), make_example([4, 5])]) context, sequence = tf.io.parse_sequence_example( serialized, context_features={ "id": tf.io.FixedLenFeature([], dtype=tf.int64) }, sequence_features={ "seq": tf.io.FixedLenSequenceFeature([], dtype=tf.int64) } ) print(context["id"].numpy()) print(sequence["seq"])

Результат выполнения кода:

[3 2] tf.Tensor( [[1 2 3] [4 5 0]], shape=(2, 3), dtype=int64)

Смотрите также

  • функцию parse_example,
    которая разбирает пакет Example
  • функцию parse_single_example,
    которая разбирает один Example
  • класс FixedLenFeature,
    который описывает признак фиксированной длины
  • класс FixedLenSequenceFeature,
    который описывает последовательный признак
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить