Spec-Zone.ru › TensorFlow 2.4

tf.data.experimental.service.from_dataset_id

Создаёт набор данных, который считывает данные из службы tf.data.

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

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

См. Руководство по миграции для получения более подробной информации.

tf.compat.v1.data.experimental.service.from_dataset_id

tf.data.experimental.service.from_dataset_id(
    processing_mode, service, dataset_id, element_spec=None, job_name=None,
    max_outstanding_requests=None
)

Это полезно, когда набор данных регистрируется одним процессом, а затем используется другим процессом. Когда один и тот же процесс регистрирует и считывает набор данных, проще использовать tf.data.experimental.service.distribute вместо этого.

Перед использованием from_dataset_id, набор данных должен быть зарегистрирован в службе tf.data с помощью tf.data.experimental.service.register_dataset. register_dataset возвращает идентификатор зарегистрированного набора данных. Именно этот идентификатор dataset_id необходимо передать в from_dataset_id.

Аргумент element_spec указывает tf.TypeSpec элементы, создаваемые набором данных. В настоящее время element_spec необходимо явно указать и он должен соответствовать набору данных, зарегистрированному под dataset_id. element_spec по умолчанию None, чтобы в будущем можно было автоматически определять element_spec путём запроса к службе tf.data.

tf.data.experimental.service.distribute — это удобный метод, который объединяет register_dataset и from_dataset_id в преобразование набора данных. Подробнее о том, как работает from_dataset_id см. в документации для tf.data.experimental.service.distribute.

dispatcher = tf.data.experimental.service.DispatchServer()
dispatcher_address = dispatcher.target.split("://")[1]
worker = tf.data.experimental.service.WorkerServer(
    tf.data.experimental.service.WorkerConfig(
        dispatcher_address=dispatcher_address))
dataset = tf.data.Dataset.range(10)
dataset_id = tf.data.experimental.service.register_dataset(
    dispatcher.target, dataset)
dataset = tf.data.experimental.service.from_dataset_id(
    processing_mode="parallel_epochs",
    service=dispatcher.target,
    dataset_id=dataset_id,
    element_spec=dataset.element_spec)
print(list(dataset.as_numpy_iterator()))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Аргументы
processing_mode Строка, определяющая политику обработки данных tf.data-работниками. Может быть либо "parallel_epochs" (каждый tf.data-работник обрабатывает копию набора данных), либо "distributed_epoch" (один итерации набора данных разбивается между всеми работниками).
service Строка, указывающая способ подключения к службе tf.data. Строка должна быть в формате "protocol://address", например, "grpc://localhost:5000".
dataset_id Идентификатор набора данных для чтения. Этот идентификатор возвращается register_dataset при регистрации набора данных в службе tf.data.
element_spec Вложенная структура tf.TypeSpec представляющая тип элементов, производимых набором данных. Используйте tf.data.Dataset.element_spec для просмотра спецификации элементов для данного набора данных.
job_name (Необязательно.) Название задачи. Этот аргумент позволяет нескольким наборам данных использовать одну и ту же задачу. По умолчанию набор данных создаёт анонимные, эксклюзивные задачи.
max_outstanding_requests (Необязательно.) Ограничение на количество элементов, которые могут быть запрошены одновременно. Вы можете использовать этот параметр для управления объёмом используемой памяти, так как distribute не будет использовать более element_size * max_outstanding_requests памяти.
Возвращаемое значение
tf.data.Dataset, который считывает данные из службы tf.data.

© 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.4/api_docs/python/tf/data/experimental/service/from_dataset_id

Spec-Zone.ru

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