Spec-Zone.ru › TensorFlow 2.3

tf.data.experimental.service.WorkerServer

Сервер обработчика tf.data в одном процессе.

tf.data.experimental.service.WorkerServer(
    port, dispatcher_address, worker_address=None, protocol=None, start=True
)

A tf.data.experimental.service.WorkerServer выполняет обработку tf.data.Dataset для настраиваемых пользователем наборов данных и предоставляет результирующие элементы через RPC. Обработчик связан с одним tf.data.experimental.service.DispatchServer.

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(), чтобы заблокировать выполнение бесконечно после запуска сервера.

worker = tf.data.experimental.service.WorkerServer(
    port=5051, dispatcher_address="grpc://localhost:5050")
worker.join()
Аргументы
port Указывает порт для привязки. Значение 0 означает, что обработчик может привязаться к любому доступному порту.
dispatcher_address Указывает адрес диспетчера.
worker_address (Необязательно.) Указывает адрес сервера обработчика. Этот адрес передаётся диспетчеру, чтобы диспетчер мог сообщить клиентам, как подключиться к этому обработчику. По умолчанию "localhost:%port%", где %port% будет заменено используемым обработчиком портом.
protocol (Необязательно.) Указывает протокол, который будет использовать сервер. Допустимые значения включают "grpc", "grpc+local". По умолчанию "grpc".
start (Необязательно.) Логическое значение, указывающее, нужно ли запускать сервер после его создания. По умолчанию True.
Исключения
tf.errors.OpError Или один из его подклассов, если при создании сервера TensorFlow произошла ошибка.

Методы

join

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

join()

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

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

worker_server = tf.data.experimental.service.WorkerServer(
    port=5051, dispatcher_address="grpc://localhost:5050")
worker_server.join()

В настоящее время этот метод блокирует выполнение навсегда.

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

start

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

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/WorkerServer

Spec-Zone.ru

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