Spec-Zone.ru › TensorFlow

tf.data.experimental.service.DispatchServer

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

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

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(
    tf.data.experimental.service.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()

Вызовите stop(), чтобы корректно завершить работу диспетчера. Сервер автоматически останавливается, когда удаляются все ссылки на него.

Чтобы запустить 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() -> None

Блокирует выполнение до завершения работы сервера.

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

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 Или одно из его подклассов, если при запуске сервера возникает ошибка.

stop

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

stop() -> None

Останавливает сервер.

Исключения
tf.errors.OpError Или одно из его подклассов, если при остановке сервера возникает ошибка.

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

Spec-Zone.ru

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