Spec-Zone.ru › TensorFlow 2.9

tf.data.experimental.save

Сохраняет содержимое заданного набора данных.

tf.data.experimental.save(
    dataset, path, compression=None, shard_func=None, checkpoint_args=None
)

Пример использования:

import tempfile
path = os.path.join(tempfile.gettempdir(), "saved_data")
# Save a dataset
dataset = tf.data.Dataset.range(2)
tf.data.experimental.save(dataset, path)
new_dataset = tf.data.experimental.load(path)
for elem in new_dataset:
  print(elem)
tf.Tensor(0, shape=(), dtype=int64)
tf.Tensor(1, shape=(), dtype=int64)

Сохраненный набор данных сохраняется в нескольких файлах «фрагментах». По умолчанию выходные данные набора данных делятся на фрагменты в порядке кругового обхода, но пользовательское разбиение на фрагменты может быть задано с помощью функции shard_func. Например, вы можете сохранить набор данных, используя один фрагмент следующим образом:

dataset = make_dataset()
def custom_shard_func(element):
  return 0
dataset = tf.data.experimental.save(
    path="/path/to/data", ..., shard_func=custom_shard_func)

Для включения создания контрольных точек передайте checkpoint_args в метод save следующим образом:

dataset = tf.data.Dataset.range(100)
save_dir = "..."
checkpoint_prefix = "..."
step_counter = tf.Variable(0, trainable=False)
checkpoint_args = {
  "checkpoint_interval": 50,
  "step_counter": step_counter,
  "directory": checkpoint_prefix,
  "max_to_keep": 20,
}
dataset.save(dataset, save_dir, checkpoint_args=checkpoint_args)
Примечание: Структура каталога и формат файлов, используемые для сохранения набора данных, считаются деталями реализации и могут изменяться. По этой причине наборы данных, сохраненные с помощью tf.data.experimental.save, должны потребляться только через tf.data.experimental.load, что гарантирует обратную совместимость.
Аргументы
dataset Набор данных для сохранения.
path Обязательный. Каталог для сохранения набора данных.
compression Необязательно. Алгоритм для сжатия данных при записи. Поддерживаемые варианты — GZIP и NONE. По умолчанию NONE.
shard_func Необязательно. Функция для управления отображением элементов набора данных в фрагментах файлов. Ожидается, что функция сопоставит элементы входного набора данных с целочисленными идентификаторами фрагментов (int64). Если присутствует, функция будет отслеживаться и выполняться как вычисление графа.
checkpoint_args Необязательные аргументы для создания контрольных точек, которые будут переданы в tf.train.CheckpointManager. Если checkpoint_args не указаны, создание контрольных точек не выполняется. Реализация save() создает объект tf.train.Checkpoint внутри, поэтому пользователи не должны устанавливать аргумент checkpoint в checkpoint_args.
Исключения
ValueError, если checkpoint передано в checkpoint_args.

© 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/data/experimental/save

Spec-Zone.ru

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