tf.distribute.experimental.rpc.Server
Базовый класс сервера для приёма RPC-вызовов зарегистрированных tf.functions.
На сервере можно регистрировать функции, которые становятся доступными через RPC.
Методы
create
@staticmethod
create(
rpc_layer, address
)
Создаёт сервер TF RPC по указанному адресу.
| Аргументы | |
|---|---|
rpc_layer | Уровень взаимодействия между клиентом и сервером. В настоящий момент поддерживается только уровень RPC "grpc". |
address | Адрес, по которому размещён RPC-сервер. |
| Возвращает | |
|---|---|
Экземпляр класса tf.distribute.experimental.rpc.Server. |
| Вызывает исключение | |
|---|---|
| ValueError, если используется уровень rpc, отличный от "grpc". В настоящий момент поддерживается только GRPC. |
| Пример использования | |
|---|---|
>>> 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]
)
Метод для регистрации tf.function на сервере.
Зарегистрированные методы можно вызывать удалённо с клиентов.
| Аргументы | |
|---|---|
method_name | Имя tf.function. Клиенты используют это имя метода для выполнения RPC-вызовов. |
func | Объект tf.function или ConcreteFunction для регистрации. |
start
start()
Запускает RPC-сервер по указанному адресу.
После запуска сервер ожидает новые запросы от клиентов.
© 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/distribute/experimental/rpc/Server