View source on GitHub
|
An in-process tf.data service dispatch server.
tf.data.experimental.service.DispatchServer(
config=None, start=True
)
A tf.data.experimental.service.DispatchServer coordinates a cluster of
tf.data.experimental.service.WorkerServers. When the workers start, they
register themselves with the dispatcher.
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]
When starting a dedicated tf.data dispatch process, use join() to block after starting up the server, until the server terminates.
dispatcher = tf.data.experimental.service.DispatchServer(
tf.data.experimental.service.DispatcherConfig(port=5050))
dispatcher.join()
Call stop() to gracefully terminate the dispatcher. The server automatically stops when all reference to it have been deleted.
To start a DispatchServer in fault-tolerant mode, set work_dir and
fault_tolerant_mode like below:
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
configration. If None, the dispatcher will use default
configuration values.
start
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))
The returned string will be in the form protocol://address, e.g. "grpc://localhost:5050".
joinjoin() -> None
Blocks until the server has shut down.
This is useful when starting a dedicated dispatch process.
dispatcher = tf.data.experimental.service.DispatchServer(
tf.data.experimental.service.DispatcherConfig(port=5050))
dispatcher.join()
tf.errors.OpError
startstart()
Starts this server.
dispatcher = tf.data.experimental.service.DispatchServer(start=False)dispatcher.start()
tf.errors.OpError
stopstop() -> None
Stops the server.
tf.errors.OpError
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates. Some content is licensed under the numpy license.
Last updated 2024-04-26 UTC.