tf.data.experimental.service.WorkerServer
Внутрипроцессный сервер рабочего узла службы tf.data.
tf.data.experimental.service.WorkerServer(
config, start=True
)
tf.data.experimental.service.WorkerServer выполняет обработку tf.data.Dataset для наборов данных, определённых пользователем, и предоставляет полученные элементы через RPC. Рабочий узел связан с одним tf.data.experimental.service.DispatchServer.
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(), чтобы после запуска заблокировать выполнение до завершения работы узла.
worker = tf.data.experimental.service.WorkerServer(
port=5051, dispatcher_address="localhost:5050")
worker.join()
Вызовите stop(), чтобы корректно завершить работу рабочего узла. Рабочий узел автоматически останавливается, когда все ссылки на него удалены.
| Аргументы | |
|---|---|
config | Конфигурация tf.data.experimental.service.WorkerConfig. |
start | (Необязательно.) Логическое значение, указывающее, нужно ли запускать сервер после его создания. По умолчанию — True. |
Методы
join
join() -> None
Блокирует выполнение до завершения работы сервера.
Это удобно при запуске выделенного процесса рабочего узла.
worker_server = tf.data.experimental.service.WorkerServer(
port=5051, dispatcher_address="localhost:5050")
worker_server.join()
В настоящее время этот метод блокирует выполнение навсегда.
| Вызывает исключения | |
|---|---|
tf.errors.OpError | Или одно из его подклассов, если при ожидании завершения работы сервера возникает ошибка. |
start
start() -> None
Запускает этот сервер.
| Вызывает исключения | |
|---|---|
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/WorkerServer