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 np.int64(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 | Необязательно. Функция для управления сопоставлением элементов набора данных с фрагментами файлов. Функция должна сопоставлять элементы входного набора данных с целочисленными идентификаторами фрагментов. Если присутствует, эта функция будет отслеживаться и выполняться как вычисление графа. |
checkpoint_args | Необязательные аргументы для контрольных точек, которые будут переданы в tf.train.CheckpointManager. Если checkpoint_args не указаны, то выполнение контрольных точек не будет выполнено. Реализация save() создаёт объект tf.train.Checkpoint внутри себя, поэтому пользователи не должны устанавливать аргумент checkpoint в checkpoint_args. |
| Возвращаемое значение | |
|---|---|
| Операция, которая при выполнении выполняет сохранение. При записи контрольных точек возвращает None. Возвращаемое значение полезно при тестировании. |
| Исключения | |
|---|---|
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/api_docs/python/tf/data/experimental/save