项目与批次¶
事件按三层组织:
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:
- Overview —— 数量、时间戳、上报过的命令行。
- Jobs —— 该批次下所有任务的表格,从
job_done.data.metrics自动发现指标列。 - Logs —— 跨任务的
log_line事件尾部。 - Artifacts —— 上传的图与报告。
- Resources ——
resource_snapshot合并后的 GPU / CPU / RAM 曲线。
Overview 上的 Stop 按钮请求取消:后端置位标志,SDK 端的停止信号
轮询线程在 10 秒内拉到,训练代码读 j.stopped 自己干净退出。
软删除¶
持有人和管理员可以软删除批次、任务、项目、主机。被软删除的批次 不再出现在列表里,但行还会在数据库里保留 30 天,万一误删可以 通过管理员的恢复接口找回。
标签¶
UI 上可以加自由 tag;也可以通过 r.emit("batch_start", tags=[...])
传额外字段。tag 会出现在批次列表上,也会被搜索框消费。