Spec-Zone.ru › TensorFlow

tf.data.experimental.service.DispatchServer

Сервер диспетчеризации tf.data в процессе.

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

Объект tf.data.experimental.service.DispatchServer координирует кластер tf.data.experimental.service.WorkerServer серверов. При запуске worker-серверы регистрируются у диспетчера.

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