跳转至

APIFuture

改编自 Tinker SDK(Apache-2.0)

参考文档改编自 Tinker SDK,已为 Mint Recursive 做了调整。详见归属说明与 Apache 2.0 许可。

class mint.APIFuture (...)

可被 await 或同步取值的 future 抽象基类。

APIFuture 为异步操作提供统一接口:既能同步取值(通过 result()),也能异步取值(通过 await 或 result_async()),方便在同步和异步代码中灵活使用。

在异步上下文中可以直接 await 这个 future:

result = await api_future # Equivalent to await api_future.result_async()

也可以同步取值:

result = api_future.result() # Blocks until complete
# In async context
future = training_client.forward_backward(data, "cross_entropy")
result = await future # Or await future.result_async()
# In sync context
future = training_client.forward_backward(data, "cross_entropy")
result = future.result()

result ( timeout=None )

同步获取结果,可选超时。

参数:

  • timeout ( float | None ,默认: None ) —— 最长等待秒数。None 表示无限等待。

返回: 类型为 T 的结果值

异步变体: result_async()

被引用

  • RestClient.get_sampler
  • RestClient.get_weights_info_by_tinker_path
  • RestClient.whoami
  • TrainingClient.forward
  • TrainingClient.forward_backward
  • TrainingClient.forward_backward_custom
  • TrainingClient.load_state
  • TrainingClient.load_state_with_optimizer
  • TrainingClient.optim_step
  • TrainingClient.save_state
  • TrainingClient.save_weights_for_sampler