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

Функция parse_example

Функция parse_example преобразует сериализованные сообщения Example (протоколы буферов) в словарь тензоров. Первым параметром функция принимает тензор строк с сериализованными примерами. Вторым параметром передается словарь признаков features, где ключи - это имена признаков, а значения - объекты FixedLenFeature или VarLenFeature, описывающие тип и форму данных. Третьим необязательным параметром можно передать имя операции.

Синтаксис

tf.io.parse_example(serialized, features, [name], [example_names])

Пример

Давайте создадим один сериализованный пример с помощью tf.train.Example и разберем его функцией parse_example:

import tensorflow as tf # Create a serialized Example example = tf.train.Example( features=tf.train.Features( feature={ 'width': tf.train.Feature( float_list=tf.train.FloatList(value=[1.0]) ), 'label': tf.train.Feature( int64_list=tf.train.Int64List(value=[0]) ) } ) ) serialized = example.SerializeToString() # Define features to parse features = { 'width': tf.io.FixedLenFeature([], tf.float32), 'label': tf.io.FixedLenFeature([], tf.int64) } # Parse the example parsed = tf.io.parse_example(serialized, features) print(parsed)

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

{'width': <tf.Tensor: shape=(1,), dtype=float32, numpy=array([1.], dtype=float32)>, 'label': <tf.Tensor: shape=(1,), dtype=int64, numpy=array([0])>}

Пример

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

import tensorflow as tf # Create two serialized Examples example1 = tf.train.Example( features=tf.train.Features( feature={ 'width': tf.train.Feature( float_list=tf.train.FloatList(value=[1.0]) ), 'label': tf.train.Feature( int64_list=tf.train.Int64List(value=[0]) ) } ) ) example2 = tf.train.Example( features=tf.train.Features( feature={ 'width': tf.train.Feature( float_list=tf.train.FloatList(value=[2.0]) ), 'label': tf.train.Feature( int64_list=tf.train.Int64List(value=[1]) ) } ) ) # Serialize both examples serialized = [ example1.SerializeToString(), example2.SerializeToString() ] # Define features to parse features = { 'width': tf.io.FixedLenFeature([], tf.float32), 'label': tf.io.FixedLenFeature([], tf.int64) } # Parse the batch of examples parsed = tf.io.parse_example(serialized, features) print(parsed)

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

{'width': <tf.Tensor: shape=(2,), dtype=float32, numpy=array([1., 2.], dtype=float32)>, 'label': <tf.Tensor: shape=(2,), dtype=int64, numpy=array([0, 1])>}

Пример

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

<+python+> import tensorflow as tf # Create a serialized Example with variable-length data example = tf.train.Example( features=tf.train.Features( feature={ 'values': tf.train.Feature( float_list=tf.train.FloatList(value=[1.0, 2.0, 3.0]) ) } ) ) serialized = example.SerializeToString() # Define variable-length feature features = { 'values': tf.io.VarLenFeature(tf.float32) } # Parse the example parsed = tf.io.parse_example(serialized, features) print(parsed) <-python+>

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

{'values': <tensorflow.python.framework.sparse_tensor.SparseTensor object at ...>}

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

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