Spec-Zone.ru › TensorFlow 2.4

tf.data.experimental.service.DispatchServer

Сервер диспетчеризации tf.data, работающий в процессе.

tf.data.experimental.service.DispatchServer(
    config=None, start=True
)

A tf.data.experimental.service.DispatchServer координирует кластер tf.data.experimental.service.WorkerServer серверов. Когда рабочие серверы запускаются, они регистрируются у диспетчера.

dispatcher = tf.data.experimental.service.DispatchServer()
dispatcher_address = dispatcher.target.split("://")[1]
worker = tf.data.experimental.service.WorkerServer(WorkerConfig(
    dispatcher_address=dispatcher_address))
dataset = tf.data.Dataset.range(10)
dataset = dataset.apply(tf.data.experimental.service.distribute(
    processing_mode="parallel_epochs", service=dispatcher.target))
print(list(dataset.as_numpy_iterator()))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

При запуске отдельного процесса диспетчеризации tf.data, используйте метод join(), чтобы заблокировать выполнение до момента завершения работы сервера.

dispatcher = tf.data.experimental.service.DispatchServer(
    tf.data.experimental.service.DispatcherConfig(port=5050))
dispatcher.join()

Чтобы запустить DispatchServer в режиме с устойчивостью к отказам, установите work_dir и fault_tolerant_mode следующим образом:

dispatcher = tf.data.experimental.service.DispatchServer(
    tf.data.experimental.service.DispatcherConfig(
        port=5050,
        work_dir="gs://my-bucket/dispatcher/work_dir",
        fault_tolerant_mode=True))
Аргументы
config (Необязательно.) Конфигурация tf.data.experimental.service.DispatcherConfig. Если None, диспетчер будет использовать значения конфигурации по умолчанию.
start (Необязательно.) Булево значение, указывающее, нужно ли запускать сервер после его создания. По умолчанию True.
Атрибуты
target Возвращает целевой объект, который можно использовать для подключения к серверу.
dispatcher = tf.data.experimental.service.DispatchServer()
dataset = tf.data.Dataset.range(10)
dataset = dataset.apply(tf.data.experimental.service.distribute(
    processing_mode="parallel_epochs", service=dispatcher.target))

Возвращаемая строка будет иметь вид protocol://address, например, "grpc://localhost:5050".

Методы

join

Просмотреть исходный код

join()

Заблокировать выполнение, пока сервер не завершит работу.

Это полезно при запуске отдельного процесса диспетчеризации.

dispatcher = tf.data.experimental.service.DispatchServer(
    tf.data.experimental.service.DispatcherConfig(port=5050))
dispatcher.join()
Исключения
tf.errors.OpError Или один из его подклассов, если при присоединении к серверу произошла ошибка.

start

Просмотреть исходный код

start()

Запускает этот сервер.

dispatcher = tf.data.experimental.service.DispatchServer(start=False)
dispatcher.start()
Исключения
tf.errors.OpError Или один из его подклассов, если при запуске сервера произошла ошибка.

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

Spec-Zone.ru

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