跳转至

项目与批次

事件按三层组织:

project(项目)
└── batch(批次)
    └── job(任务)
        └── epoch(每轮)以及 metrics、logs、artifacts

Project 就是你传给 SDK 的 source.project 字符串;首次出现时 自动建。Batch 把同一个 Reporter 块下的若干个 job 收在一起。 每个 job 对应一个 r.job(...) with 块。

项目视图

/projects 列出平台见过的所有项目,按最近活动倒序。每行:

  • 总批次数和总任务数
  • 最近 30 天的成功率 / 失败率
  • 持有人(创建第一条事件的账号)
  • 描述 —— 在项目详情页可编辑

点进项目详情页就能看到该项目的批次、最近指标,以及可分享的链接。

项目元数据

显示名称和描述都可以改,不影响已经入库的事件 —— 数据库主键是 source.project 的 slug,不是显示名称。所以改项目标签没有副作用。

批次列表

/batches 是消防水管,按开始时间倒序。过滤项:

  • 状态 —— running / completed / failed / cancelled
  • 项目 —— 单选下拉
  • 持有人 —— 仅管理员可见
  • 日期范围
  • 搜索 —— 在 batch_id 和 tags 里做子串匹配

每行展示进度、耗时、状态小色块。鼠标悬停色块时会有 tooltip,里面 带有失败原因(如果上报过)。

批次详情

/batches/<id> 有 5 个 tab:

  1. Overview —— 数量、时间戳、上报过的命令行。
  2. Jobs —— 该批次下所有任务的表格,从 job_done.data.metrics 自动发现指标列。
  3. Logs —— 跨任务的 log_line 事件尾部。
  4. Artifacts —— 上传的图与报告。
  5. Resources —— resource_snapshot 合并后的 GPU / CPU / RAM 曲线。

Overview 上的 Stop 按钮请求取消:后端置位标志,SDK 端的停止信号 轮询线程在 10 秒内拉到,训练代码读 j.stopped 自己干净退出。

软删除

持有人和管理员可以软删除批次、任务、项目、主机。被软删除的批次 不再出现在列表里,但行还会在数据库里保留 30 天,万一误删可以 通过管理员的恢复接口找回。

标签

UI 上可以加自由 tag;也可以通过 r.emit("batch_start", tags=[...]) 传额外字段。tag 会出现在批次列表上,也会被搜索框消费。