当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python PyTorch RRef.rpc_async用法及代码示例


本文简要介绍python语言中 torch.distributed.rpc.RRef.rpc_async 的用法。

用法:

rpc_async(self: torch._C._distributed_rpc.PyRRef, timeout: float = - 1.0) → object

参数

timeout(float,可选的) -rref.rpc_async() 超时。如果调用未在此时间范围内完成,则会引发异常指示。如果未提供此参数,将使用默认的 RPC 超时。

创建一个辅助代理以使用 RRef 的所有者作为目标轻松启动 rpc_async,以在此 RRef 引用的对象上运行函数。更具体地说,rref.rpc_async().func_name(*args, **kwargs) 与以下内容相同:

>>> def run(rref, func_name, args, kwargs):
>>>   return getattr(rref.local_value(), func_name)(*args, **kwargs)
>>>
>>> rpc.rpc_async(rref.owner(), run, args=(rref, func_name, args, kwargs))

例子:

>>> from torch.distributed import rpc
>>> rref = rpc.remote("worker1", torch.add, args=(torch.zeros(2, 2), 1))
>>> rref.rpc_async().size().wait()  # returns torch.Size([2, 2])
>>> rref.rpc_async().view(1, 4).wait()  # returns tensor([[1., 1., 1., 1.]])

相关用法


注:本文由纯净天空筛选整理自pytorch.org大神的英文原创作品 torch.distributed.rpc.RRef.rpc_async。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。