Spec-Zone.ru › TensorFlow 2.3

tf.data.experimental.TFRecordWriter

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

Записывает набор данных в файл TFRecord.

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

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

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

tf.compat.v1.data.experimental.TFRecordWriter

tf.data.experimental.TFRecordWriter(
    filename, compression_type=None
)

Элементы набора данных должны быть скалярными строками. Для сериализации элементов набора данных в виде строк можно использовать функцию tf.io.serialize_tensor.

dataset = tf.data.Dataset.range(3)
dataset = dataset.map(tf.io.serialize_tensor)
writer = tf.data.experimental.TFRecordWriter("/path/to/file.tfrecord")
writer.write(dataset)

Для повторного чтения элементов используйте TFRecordDataset.

dataset = tf.data.TFRecordDataset("/path/to/file.tfrecord")
dataset = dataset.map(lambda x: tf.io.parse_tensor(x, tf.int64))

Чтобы разбить dataset по нескольким файлам TFRecord:

dataset = ... # dataset to be written

def reduce_func(key, dataset):
  filename = tf.strings.join([PATH_PREFIX, tf.strings.as_string(key)])
  writer = tf.data.experimental.TFRecordWriter(filename)
  writer.write(dataset.map(lambda _, x: x))
  return tf.data.Dataset.from_tensors(filename)

dataset = dataset.enumerate()
dataset = dataset.apply(tf.data.experimental.group_by_window(
  lambda i, _: i % NUM_SHARDS, reduce_func, tf.int64.max
))
Аргументы
filename строковый путь, указывающий место записи данных TFRecord.
compression_type (необязательно.) строка, указывающая тип сжатия при записи файла. См. tf.io.TFRecordCompressionType для доступных типов сжатия. По умолчанию None.

Методы

write

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

write(
    dataset
)

Записывает набор данных в файл TFRecord.

Операция, записывающая содержимое указанного набора данных в файл, указанный в конструкторе.

Если файл существует, он будет перезаписан.

Аргументы
dataset tf.data.Dataset, элементы которого должны быть записаны в файл
Возвращает
В режиме графа это возвращает операцию, которая при выполнении выполняет запись. В режиме eager запись выполняется самим методом, и значения не возвращаются.

Возникает TypeError: если dataset не является tf.data.Dataset. TypeError: если элементы, генерируемые набором данных, не являются скалярными строками.

© 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.3/api_docs/python/tf/data/experimental/TFRecordWriter

Spec-Zone.ru

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