tf.distribute.experimental.rpc.Server
A Server base class for accepting RPCs for registered tf.functions.
Functions can be registered on the server and are exposed via RPCs.
Methods
create
@staticmethod create( rpc_layer, address )
Create TF RPC server at given address.
Args | |
---|---|
rpc_layer |
Communication layer between client and server. Only "grpc" rpc layer is supported at the moment. |
address |
Address where RPC server is hosted. |
Returns | |
---|---|
An instance of tf.distribute.experimental.rpc.Server class. |
Raises | |
---|---|
A ValueError if rpc_layer other than "grpc" is used. Only GRPC is supported at the moment. |
Example usage:
import portpicker @tf.function(input_signature=[ tf.TensorSpec([], tf.int32), tf.TensorSpec([], tf.int32)]) def remote_fn(a, b): return tf.add(a, b)
port = portpicker.pick_unused_port() address = "localhost:{}".format(port) server = tf.distribute.experimental.rpc.Server.create("grpc", address) server.register("addition", remote_fn) server.start()
register
register( method_name: str, func: Union[def_function.Function, tf_function.ConcreteFunction] )
Method for registering tf.function on server.
Registered methods can be invoked remotely from clients.
Args | |
---|---|
method_name |
Name of the tf.function. Clients use this method_name to make RPCs. |
func |
A tf.function or ConcreteFunction to register. |
start
start()
Starts the RPC server on provided address.
Server listens for new requests from client, once it is started.
© 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/versions/r2.9/api_docs/python/tf/distribute/experimental/rpc/Server