tf.io.parse_sequence_example
Разбирает пакет протобуферов SequenceExample.
tf.io.parse_sequence_example(
serialized,
context_features=None,
sequence_features=None,
example_names=None,
name=None
)
Разбирает вектор сериализованных протобуферов SequenceExample, заданных в serialized.
Эта операция разбирает сериализованные примеры последовательностей в кортеж словарей, каждый из которых сопоставляет ключи с объектами Tensor и SparseTensor. Первый словарь содержит сопоставления для ключей, присутствующих в context_features, а второй словарь содержит сопоставления для ключей, присутствующих в sequence_features.
Необходимо указать как минимум один из параметров context_features и sequence_features, и он должен быть непустым.
Ключи context_features связаны с SequenceExample как единым целым, независимо от времени / кадра. В отличие от них, ключи sequence_features позволяют получать доступ к данным переменной длины в разделе FeatureList протобуфера SequenceExample. Хотя формы значений context_features фиксированы относительно кадра, размерность кадра (первая размерность) значений sequence_features может различаться в разных протобуферах SequenceExample и даже у разных ключей feature_list в одном и том же SequenceExample.
context_features содержит объекты VarLenFeature, RaggedFeature и FixedLenFeature. Каждому VarLenFeature соответствует SparseTensor; каждому RaggedFeature соответствует RaggedTensor; а каждому FixedLenFeature соответствует Tensor указанного типа, формы и значения по умолчанию.
sequence_features содержит объекты VarLenFeature, RaggedFeature и FixedLenSequenceFeature. Каждому VarLenFeature соответствует SparseTensor; каждому RaggedFeature соответствует RaggedTensor; а каждому FixedLenSequenceFeature соответствует Tensor указанного типа. Форма будет (B,T,) + df.dense_shape для FixedLenSequenceFeature df, где B — размер пакета, а T — длина связанного FeatureList в SequenceExample. Например, FixedLenSequenceFeature([]) возвращает скалярный двумерный Tensor со статической формой [None, None] и динамической формой [B, T], а FixedLenSequenceFeature([k]) (для int k >= 1) возвращает трёхмерную матрицу Tensor со статической формой [None, None, k] и динамической формой [B, T, k].
Как и входные данные, результирующие выходные тензоры имеют размерность пакета. Это означает, что исходные формы отдельных примеров для VarLenFeature и FixedLenSequenceFeature могут быть утрачены. Для обработки таких ситуаций эта операция также возвращает словари тензоров формы. Один словарь предназначен для контекстных признаков, другой — для признаков feature_list. Контекстные признаки типа FixedLenFeatures отсутствуют, поскольку их формы уже известны вызывающему коду. Если входные FixedLenSequenceFeatures имеют разную длину последовательности в разных примерах, более короткие примеры дополняются значениями по умолчанию соответствующего типа данных: 0 для числовых типов и пустой строкой для строковых типов.
Каждый SparseTensor, соответствующий sequence_features, представляет собой разреженный вектор. Его индексы имеют вид [time, index], где time — это запись FeatureList, а index — индекс значения в списке значений, связанных с этим моментом времени.
Записи FixedLenFeature с default_value и записи FixedLenSequenceFeature с allow_missing=True являются необязательными; в противном случае операция завершится ошибкой, если такой Feature или FeatureList отсутствует в каком-либо примере в serialized.
example_name может содержать описательное имя соответствующего сериализованного протобуфера. Это может быть полезно для отладки, но не влияет на результат. Если None не задан, example_name должен быть скаляром.
| Аргументы | |
|---|---|
serialized | Вектор (одномерный тензор) типа string, содержащий двоичные сериализованные протобуферы SequenceExample. |
context_features | Сопоставление ключей признаков со значениями FixedLenFeature, VarLenFeature или RaggedFeature. Эти признаки связаны с SequenceExample как единым целым. |
sequence_features | Сопоставление ключей признаков со значениями FixedLenSequenceFeature, VarLenFeature или RaggedFeature. Эти признаки связаны с данными в разделе FeatureList протобуфера SequenceExample. |
example_names | Вектор строк (одномерный тензор, необязательный параметр), содержащий имена сериализованных протобуферов. |
name | Имя этой операции (необязательный параметр). |
| Возвращает | |
|---|---|
Кортеж из трёх dicts, каждый из которых сопоставляет ключи с Tensors, SparseTensors и RaggedTensor. Первый словарь содержит пары «ключ/значение» для контекста, второй — пары «ключ/значение» для feature_list, а последний — длины всех плотных признаков feature_list. |
| Вызывает исключения | |
|---|---|
ValueError | если какой-либо признак недопустим. |
© 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/io/parse_sequence_example