當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。