Spec-Zone.ru › TensorFlow 2.4

tf.io.TFRecordWriter

Просмотреть исходный код на GitHub

Класс для записи записей в файл TFRecords.

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

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

Дополнительные сведения см. в руководстве по миграции.

tf.compat.v1.io.TFRecordWriter, tf.compat.v1.python_io.TFRecordWriter

tf.io.TFRecordWriter(
    path, options=None
)

Учебник TFRecords

TFRecords — это двоичный формат, оптимизированный для высокопроизводительного извлечения данных, обычно в сочетании с tf.data. TFRecordWriter используется для записи сериализованных примеров в файл для последующего использования. Основные шаги:

Заранее:

  • Преобразуйте данные в сериализованный формат
  • Запишите сериализованные данные в один или несколько файлов

    Во время обучения или оценки:

  • Считывайте сериализованные примеры в память

  • Анализируйте (десериализуйте) примеры

Ниже приведен минимальный пример:

import tempfile
example_path = os.path.join(tempfile.gettempdir(), "example.tfrecords")
np.random.seed(0)
# Write the records to a file.
with tf.io.TFRecordWriter(example_path) as file_writer:
  for _ in range(4):
    x, y = np.random.random(), np.random.random()

    record_bytes = tf.train.Example(features=tf.train.Features(feature={
        "x": tf.train.Feature(float_list=tf.train.FloatList(value=[x])),
        "y": tf.train.Feature(float_list=tf.train.FloatList(value=[y])),
    })).SerializeToString()
    file_writer.write(record_bytes)
# Read the data back out.
def decode_fn(record_bytes):
  return tf.io.parse_single_example(
      # Data
      record_bytes,

      # Schema
      {"x": tf.io.FixedLenFeature([], dtype=tf.float32),
       "y": tf.io.FixedLenFeature([], dtype=tf.float32)}
  )
for batch in tf.data.TFRecordDataset([example_path]).map(decode_fn):
  print("x = {x:.4f},  y = {y:.4f}".format(**batch))
x = 0.5488,  y = 0.7152
x = 0.6028,  y = 0.5449
x = 0.4237,  y = 0.6459
x = 0.4376,  y = 0.8918

Этот класс реализует __enter__ и __exit__, и его можно использовать в with блоках как обычный файл. (См. пример использования выше.)

Аргументы
path Путь к файлу TFRecords.
options (необязательно) Строка, определяющая тип сжатия, TFRecordCompressionType, или объект TFRecordOptions.
Возможные исключения
IOError Если файл path не может быть открыт для записи.
ValueError Если тип сжатия options не может быть определён.

Методы

close

Просмотреть исходный код

close()

Закрыть файл.

flush

Просмотреть исходный код

flush()

Выполнить сброс файла.

write

Просмотреть исходный код

write(
    record
)

Записать строковую запись в файл.

Аргументы
record str

__enter__

__enter__()

enter(self: object) -> object

__exit__

__exit__()

exit(self: tensorflow.python._pywrap_record_io.RecordWriter, *args) -> None

© 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/r2.4/api_docs/python/tf/io/TFRecordWriter

Spec-Zone.ru

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