跳到内容
Skynet文档
页面

概念

运行

运行状态、可对运行执行的操作,以及运行如何停止。

一次运行就是一次优化。它有一个状态、一个支出上限和一组已保存的版本。本页说明运行的状态、你可以对运行执行的操作,以及运行停止的原因。

运行状态

每次运行都处于以下状态之一:

状态含义
pending运行在队列中。
validatingSkynet 在优化开始前检查设置。
running优化器正在提出新版本并为其打分。
success运行已完成。最佳版本已保存。
failed一个错误使运行停止。
cancelled有人取消了运行。
paused运行在某个检查点停止。你可以继续它。
stopped运行因达到预算而停止。它保留已找到的最佳版本。

success、failed、cancelled、stopped 和 paused 是终止状态。优化器不会处理处于终止状态的运行。paused 是唯一一个专门用于继续的终止状态。

操作

运行页面会显示适用于当前状态和你的角色的操作。API 提供相同的操作。

操作何时可以使用作用
暂停运行正在进行,并且有已保存的检查点。在检查点处停止运行。状态变为 paused。
取消运行处于 pending、validating 或 running。停止运行。取消无法撤销。
继续运行处于 failed、cancelled、paused,或因达到预算而 stopped,并且有已保存的检查点。从最后一个检查点继续同一次运行。运行保留其 id。
克隆只要你能看到该运行,随时可用。打开提交向导,并带入配置的副本。
删除运行处于终止状态。仅限所有者。永久删除运行及其所有数据。

对于处于 failed 或 cancelled 的运行,API 还提供两个额外操作:

  • 重试 以相同的配置启动一次新运行。新运行会获得新的 id。
  • 重新运行 从头再次启动同一次运行。运行保留其 id。

API 克隆一次请求可以创建 1 到 5 个副本。每个副本都会计入你的运行限制。请参阅限制。

谁可以执行操作

你在运行中的角色决定了你能看到哪些操作:

  • 所有者 可以执行所有操作、管理分享并删除运行。
  • 编辑者 可以暂停、取消、继续和重试运行,并提高其支出上限。
  • 查看者 可以打开运行并克隆它。

关于角色的更多信息,请阅读分享与发布。

运行如何停止

运行会因以下四个原因之一而停止。

完成

优化器完成工作。状态变为 success。Skynet 保存最佳版本并执行最终测试。请阅读查看结果。

预算

运行在开始之前没有费用估算。它的支出上限就是它可以使用的预算。Skynet 在运行过程中测量每次评分器运行的实际费用:

  1. Skynet 等待 10 次已结算的评分器运行。在此之前,单次调用的费用波动太大,无法使用。
  2. Skynet 用目前为止的平均费用为下一次迭代定价。它把价格乘以 1.5,因为后面的迭代通常花费更多。
  3. 当剩余预算不足以支付下一次迭代时,Skynet 停止接纳新工作。优化器会在下一次付费调用时停止。

此后运行的状态为 stopped,停止原因为 budget_reached。运行页面会显示 已达到预算上限 通知。通知会告诉你 Skynet 保存了哪个版本:

  • 你经过评估的最佳版本。
  • 如果没有找到更好的版本,则为你经过评估的起始版本。
  • 如果在任何候选完成评估之前预算就已用完,则不保存任何版本。你的输入和日志仍会保存。

要继续,请使用通知上的 提高上限并继续。Skynet 会从最后一个检查点继续运行。

一些较早的运行以停止原因 budget_projected 暂停。你可以用同样的方式继续它们。

失败

一个错误使运行停止。状态变为 failed。日志 标签页会显示发生了什么。如果运行有已保存的检查点,你可以继续它。你也可以重试它。

如果某个 worker 在执行你的作业时停止,Skynet 会恢复该作业并重试。尝试 3 次后,Skynet 会把该作业标记为失败。在失败或取消之后继续运行也算作一次尝试。在暂停或因预算停止之后继续运行则不计入。

取消

你取消了运行。状态变为 cancelled。取消无法撤销。之后,你可以从已保存的检查点继续运行,或者重试它。

相关页面