Spec-Zone.ru › TensorFlow

tf.data.experimental.snapshot

API для сохранения выходных данных входного набора данных. (устарела)

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

Совместимые псевдонимы для миграции

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

tf.compat.v1.data.experimental.snapshot

tf.data.experimental.snapshot(
    path, compression='AUTO', reader_func=None, shard_func=None
)
Устарела: ЭТА ФУНКЦИЯ УСТАРЕЛА. Она будет удалена в будущей версии. Инструкции по обновлению: используйте tf.data.Dataset.snapshot(...).

API snapshot позволяет пользователям незаметно сохранять на диск выходные данные конвейера предварительной обработки и загружать предварительно обработанные данные при другом запуске обучения.

Этот API позволяет объединять повторяющиеся шаги предварительной обработки и повторно использовать уже обработанные данные, обменивая дисковое пространство и пропускную способность сети на высвобождение более ценных ресурсов ЦП и времени вычислений ускорителя.

Подробная документация по проектированию этой функции доступна по адресу https://github.com/tensorflow/community/blob/master/rfcs/20200107-tf-data-snapshot.md.

Пользователи могут задавать различные параметры для управления поведением snapshot, в том числе определять, как считываются и записываются снимки, передавая пользовательские функции в параметры reader_func и shard_func.

shard_func — это заданная пользователем функция, которая сопоставляет входные элементы сегментам snapshot.

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

dataset = ...
dataset = dataset.enumerate()
dataset = dataset.apply(tf.data.Dataset.shapshot("/path/to/snapshot/dir",
    shard_func=lambda x, y: x % NUM_SHARDS, ...))
dataset = dataset.map(lambda x, y: y)

reader_func — это заданная пользователем функция, которая принимает один аргумент: (1) Dataset, состоящий из Dataset, каждый из которых представляет собой «раздел» элементов исходного набора данных. Кардинальность входного набора данных соответствует числу сегментов, заданному в shard_func (см. выше). Функция должна возвращать Dataset из элементов исходного набора данных.

Пользователи могут задать эту функцию, чтобы управлять чтением файлов snapshot с диска, в том числе объемом перемешивания и степенью параллелизма.

Ниже приведен пример стандартной функции чтения, которую может определить пользователь. Эта функция обеспечивает перемешивание наборов данных и параллельное чтение наборов данных:

def user_reader_func(datasets):
  # shuffle the datasets splits
  datasets = datasets.shuffle(NUM_CORES)
  # read datasets in parallel and interleave their elements
  return datasets.interleave(lambda x: x, num_parallel_calls=AUTOTUNE)

dataset = dataset.apply(tf.data.Dataset.shapshot("/path/to/snapshot/dir",
    reader_func=user_reader_func))

По умолчанию snapshot распараллеливает чтение в соответствии с количеством ядер, доступных в системе, но не пытается перемешивать данные.

Аргументы
path Обязательный параметр. Каталог для сохранения и загрузки снимка.
compression Необязательный параметр. Тип сжатия, применяемого к снимку при записи на диск. Поддерживаются варианты GZIP, SNAPPY, AUTO или None. По умолчанию используется AUTO, который пытается выбрать подходящий алгоритм сжатия для набора данных.
reader_func Необязательный параметр. Функция для управления чтением данных из сегментов snapshot.
shard_func Необязательный параметр. Функция для управления сегментированием данных при записи снимка.
Возвращает
Функцию преобразования Dataset, которую можно передать в tf.data.Dataset.apply.

© 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/snapshot

Spec-Zone.ru

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