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


Python PyTorch Future.set_result用法及代碼示例


本文簡要介紹python語言中 torch.futures.Future.set_result 的用法。

用法:

set_result(result)

參數

result(object) -Future 的結果對象。

設置此 Future 的結果,這會將此 Future 標記為已完成並觸發所有附加的回調。請注意,不能將Future 標記為完成兩次。

如果結果包含駐留在 GPU 上的張量,即使填充這些張量的異步內核尚未在設備上完成運行,也可以調用此方法,前提是這些內核入隊的流設置為當前調用此方法時的那些。簡而言之,在啟動這些內核後立即調用此方法是安全的,無需任何額外的同步,隻要不更改其間的流即可。此方法將記錄所有相關當前流上的事件,並將使用它們來確保此 Future 的所有使用者的正確調度。

例子:

>>> import threading
>>> import time
>>> def slow_set_future(fut, value):
...     time.sleep(0.5)
...     fut.set_result(value)
>>> fut = torch.futures.Future()
>>> t = threading.Thread(
...     target=slow_set_future,
...     args=(fut, torch.ones(2) * 3)
... )
>>> t.start()
>>> print(fut.wait())
tensor([3., 3.])
>>> t.join()

相關用法


注:本文由純淨天空篩選整理自pytorch.org大神的英文原創作品 torch.futures.Future.set_result。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。