本文简要介绍python语言中 torch.futures.Future.add_done_callback
的用法。
用法:
add_done_callback(callback)
callback(
Future
) -一个接受一个参数的Callable
,is the reference to this Future.(哪一个) -
将给定的回调函数附加到此
Future
,该函数将在Future
完成时运行。可以将多个回调添加到同一个Future
中,但无法保证它们的执行顺序。回调必须采用一个参数,即对此Future
的引用。回调函数可以使用value()
方法来获取值。请注意,如果此Future
已完成,则给定的回调将内联运行。我们建议您使用
then()
方法,因为它提供了一种在回调完成后进行同步的方法。如果您的回调不返回任何内容,add_done_callback
可能会更便宜。但then()
和add_done_callback
在底层都使用相同的回调注册 API。对于 GPU 张量,此方法的行为方式与
then()
相同。注意
请注意,如果回调函数通过异常完成并调用
fut.wait()
或通过回调中的其他代码抛出回调函数,则必须小心处理错误处理。例如,如果此回调稍后完成了其他期货,则这些期货不会标记为已完成并出现错误,并且用户负责独立处理这些期货的完成/等待。>>> def callback(fut): ... print(f"This will run after the future has finished.") ... print(fut.wait()) >>> fut = torch.futures.Future() >>> fut.add_done_callback(callback) >>> fut.set_result(5) This will run after the future has finished. 5
例子:
参数:
相关用法
- Python PyTorch Future.then用法及代码示例
- Python PyTorch Future.set_result用法及代码示例
- Python PyTorch Future.set_exception用法及代码示例
- Python PyTorch FunctionCtx.mark_dirty用法及代码示例
- Python PyTorch Function用法及代码示例
- Python PyTorch FunctionCtx.set_materialize_grads用法及代码示例
- Python PyTorch FunctionCtx.save_for_backward用法及代码示例
- Python PyTorch FunctionCtx.mark_non_differentiable用法及代码示例
- Python PyTorch FloatFunctional用法及代码示例
- Python PyTorch Forker用法及代码示例
- Python PyTorch FMInteractionArch用法及代码示例
- Python PyTorch FeatureAlphaDropout用法及代码示例
- Python PyTorch FSSpecFileOpener用法及代码示例
- Python PyTorch Filter用法及代码示例
- Python PyTorch FSSpecSaver用法及代码示例
- Python PyTorch FileLister用法及代码示例
- Python PyTorch FisherSnedecor用法及代码示例
- Python PyTorch FeaturePyramidNetwork用法及代码示例
- Python PyTorch FactorizationMachine用法及代码示例
- Python PyTorch FileStore用法及代码示例
- Python PyTorch FractionalMaxPool3d用法及代码示例
- Python PyTorch FiveCrop用法及代码示例
- Python PyTorch FileOpener用法及代码示例
- Python PyTorch FactorizationMachine.forward用法及代码示例
- Python PyTorch FrequencyMasking用法及代码示例
注:本文由纯净天空筛选整理自pytorch.org大神的英文原创作品 torch.futures.Future.add_done_callback。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。