Spec-Zone.ru › TensorFlow 2.9

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.lib.io._pywrap_record_io.RecordWriter, *args) -> None

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

Spec-Zone.ru

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