Spec-Zone.ru › TensorFlow 2.3

tf.data.experimental.service.DispatchServer

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

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

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

dispatcher = tf.data.experimental.service.DispatchServer(port=0)
dispatcher_address = dispatcher.target.split("://")[1]
worker = tf.data.experimental.service.WorkerServer(
    port=0, 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(port=5050)
dispatcher.join()
Аргументы
port Указывает порт для привязки.
protocol (Необязательно.) Указывает протокол, который будет использоваться сервером. Допустимые значения включают "grpc", "grpc+local". По умолчанию "grpc".
start (Необязательно.) Булево значение, указывающее, нужно ли запускать сервер после его создания. По умолчанию True.
Исключения
tf.errors.OpError Или один из его подклассов, если при создании сервера TensorFlow произошла ошибка.
Атрибуты
target Возвращает целевой объект, который можно использовать для подключения к серверу.
dispatcher = tf.data.experimental.service.DispatchServer(port=0)
dataset = tf.data.Dataset.range(10)
dataset = dataset.apply(tf.data.experimental.service.distribute(
    processing_mode="parallel_epochs", service=dispatcher.target))

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

Методы

join

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

join()

Заблокировать до завершения работы сервера.

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

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

start

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

start()

Запустить сервер.

dispatcher = tf.data.experimental.service.DispatchServer(port=0,
                                                         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.3/api_docs/python/tf/data/experimental/service/DispatchServer

Spec-Zone.ru

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