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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。