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 | Необязательный аргумент. Функция для управления отображением элементов набора данных на файловые шарды. Функция должна сопоставлять элементы входного набора данных с идентификаторами шардов типа int64. Если функция указана, она будет трассирована и выполнена как графовое вычисление. |
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