跳转到正文

打开 TensorBoard

创建或编辑 Job 时填写TensorBoard 日志目录,即可为 Head Task 配置 TensorBoard 代理入口。训练程序还需要把 TensorBoard event 文件写入同一目录。

创建时配置日志目录

  1. 在任务创建弹窗的公共配置步骤选择 Header 角色。
  2. 确认 Header 角色的全局匹配记录和 YAML 副本数都为 1;多副本 Head Task 会同时启动多个 Ray Head、运行脚本和 TensorBoard sidecar,不得提交。
  3. TensorBoard 日志目录(可选)中填写 Header 容器内的绝对路径,例如项目约定的输出目录。
  4. 确认运行脚本确实把 event 文件写入同一路径。
  5. 如果日志需要跨 Pod 重建保留,把该目录放在已配置的主机目录或对象存储挂载之下。
  6. 在 YAML 预览中确认只有单副本 Head Task 带有 tensorBoardDir

当该目录被已有挂载覆盖时,TensorBoard sidecar 会复用同一个卷;如果没有覆盖该目录的挂载,RLark 会为主容器和 sidecar 添加共享的临时卷。临时卷中的日志不会在 Pod 重建后持久保留。

从任务详情打开

  1. 在任务列表中选择目标任务。
  2. 在页面顶部找到 Header Worker访问入口
  3. 等待 TensorBoard 外链图标出现。
  4. 选择图标,在新标签页中通过 RLark 代理打开 TensorBoard。

代理会把请求转发到 Head Task 的 Pod 端口 6006。Pod 和 Agent 必须可达,TensorBoard sidecar 也必须已经启动。

入口出现不等于服务就绪

配置中包含 tensorBoardDir 后,页面就可能显示 TensorBoard 图标。打开前仍需等待 Pod 和 sidecar 运行,并确认目录中已经生成 event 文件。

入口不可用时

  • 没有图标:确认 Job 的 Head Task 中已经保存 TensorBoard 日志目录。
  • 页面连接失败:确认 Header Worker Pod 仍存在且可访问,任务未被停止,并检查 Agent 连接。
  • 页面打开但没有曲线:确认训练进程写入的是同一个容器路径,并检查目录内是否存在 event 文件。
  • 重建后日志消失:确认日志目录位于持久挂载下,而不是自动创建的临时卷。

TensorBoard 用于查看训练输出,不能单独判断 Job 是否完成。StatefulSet Task 不会根据业务结果自动把 Job 更新为成功或失败;请同时检查 Pod 状态、日志、业务指标和持久输出。需要容器终止或重启详情时,请联系平台管理员查询 Pod 的终止时间、重启记录和事件。