Класс FixedLenSequenceFeature
Класс FixedLenSequenceFeature используется
при разборе примеров TensorFlow (например, через
parse_example или
parse_sequence_example) для описания
признака, который представляет собой
последовательность элементов фиксированной длины.
Первым параметром передаётся форма одного элемента
последовательности (shape), вторым -
тип данных (dtype). Третьим параметром
можно указать, нужно ли добавлять измерение
батча (allow_missing), а также задать
значение по умолчанию (default_value).
Класс позволяет единообразно описать признаки,
у которых число временных шагов может различаться,
но каждый шаг имеет одинаковую форму.
Синтаксис
tf.io.FixedLenSequenceFeature(shape, dtype, allow_missing=False, default_value=None)
Пример
Давайте создадим описание признака последовательности
с формой элемента [1] и типом tf.float32:
import tensorflow as tf
feature = tf.io.FixedLenSequenceFeature([1], tf.float32)
print(feature)
Результат выполнения кода:
FixedLenSequenceFeature(shape=[1], dtype=float32, allow_missing=False, default_value=None)
Пример
Давайте создадим описание признака последовательности
с формой элемента [2], типом tf.int64
и разрешим пропуск признака:
import tensorflow as tf
feature = tf.io.FixedLenSequenceFeature([2], tf.int64, allow_missing=True)
print(feature)
Результат выполнения кода:
FixedLenSequenceFeature(shape=[2], dtype=int64, allow_missing=True, default_value=None)
Пример
Давайте используем описание признака вместе с
parse_example для разбора одного примера.
Создадим признак последовательности с формой
элемента [] и типом tf.float32,
а также признак фиксированной длины:
import tensorflow as tf
sequence_feature = tf.io.FixedLenSequenceFeature([], tf.float32)
context_feature = tf.io.FixedLenFeature([], tf.int64)
serialized = tf.constant(
b'\n\x12\n\x05value\x12\t\x12\x07\n\x05\x12\x03\n\x01\x01'
)
res = tf.io.parse_example(
serialized,
features={
'sequence': sequence_feature,
'context': context_feature,
}
)
print(res)
Результат выполнения кода:
{'context': <tf.Tensor: shape=(1,), dtype=int64, numpy=array([1])>, 'sequence': <tf.Tensor: shape=(1, 1), dtype=float32, numpy=array([[1.]], dtype=float32)>}
Смотрите также
-
класс
FixedLenFeature,
который описывает признаки фиксированной длины -
класс
VarLenFeature,
который описывает признаки переменной длины -
функцию
parse_example,
которая разбирает примеры в тензоры -
функцию
parse_single_example,
которая разбирает один пример в тензоры