Training Lens(训练视窗):在 DSH 里本地查看 TensorBoard 标量

前言

在 DeepSeek Harness(DSH)里做训练或调参时,进度往往写在 TensorBoard 的 event 目录里。常见做法是单独起 TensorBoard Web 服务,或在 IDE 里来回切窗口。若你只想在 DSH 对话里快速看 reward、验证 loss、学习率等标量走势,又不想改训练脚本、不上传云端,需要一个只读、本地的视窗。下面介绍社区插件 Training Lens · 训练视窗(gu143312/dsh-training-lens)的定位与用法。

这是什么

Training Lens 是维护者 GU143312 发布的 DSH 客户端类插件:把已有的 TensorBoard scalar 日志转成聚焦的训练进度与趋势视图,不改动你的 trainer。插件在 DSH 目录中的简介为:local TensorBoard scalar monitoring for DeepSeek Harness。

  • 目录页:https://www.skillhub.cn/plugins/GU143312/dsh-training-lens
  • 源码与文档:https://github.com/GU143312/dsh-training-lens
  • 当前发布版本:v0.1.0(以 README 与安装命令为准)
  • 许可证:MIT

核心功能

以下能力均来自项目 README,安装前可在仓库自行核对。

  1. 标量选择:主、次指标可任选(如 reward、validation loss、accuracy、learning rate 或自定义 tag)。
  2. 好坏方向:可显式选择 higher / lower is better;默认只展示观测区间,不自动判定「是否在变好」。
  3. 展示与诊断:原始值、可选 EMA 平滑、按指标的 step,以及可展开的诊断信息。
  4. 界面与刷新:中英文 UI、响应式布局、自动刷新与 run 选择。
  5. 与训练进程隔离:DSH 工具只负责本插件实例所启动、检查、停止的看板;无训练控制、无遥测、无云端上传。
  6. 不依赖 TensorBoard 常驻 Web 服务:即使未运行 TensorBoard 网页服务也可使用;无需浏览器扩展、前端构建或 CDN。

环境与安装

要求(README 写明):DSH 0.2.1-rc.2(已测试)、Node 22+、Python 3.10+ 且已安装 TensorBoard。未在 DSH 0.2 声明范围外保证兼容。

安装版本化发布包(命令须与资料一致,desktop 可换成你的 profile 名):

dsh plugin --profile desktop add https://github.com/GU143312/dsh-training-lens/releases/download/v0.1.0/dsh-training-lens-0.1.0.tgz

或安装源码包(纯 JavaScript,安装时无构建步骤):

dsh plugin --profile desktop add github:GU143312/dsh-training-lens#v0.1.0

方便时重新加载插件或重启 DSH。本地测试可用:dsh plugin --profile lens-test add /absolute/path/to/dsh-training-lens-0.1.0.tgz。

Python 辅助进程使用你已有的训练环境。若缺少 TensorBoard,需在该解释器下自行安装(插件不会自动执行 pip);在源码目录中:

python -m pip install -r requirements.txt

README 说明:npm registry 发布与上述 GitHub 安装方式分开,在未发布 npm 包前不要假定 npm install dsh-training-lens 可用。

在 DSH 中使用

向 DSH 说明意图,例如:

Use training_lens to open my TensorBoard logs at /absolute/path/to/runs, using Python /absolute/path/to/venv/bin/python.

Windows 上应提供训练环境的 ...\.venv\Scripts\python.exe。工具返回本地 URL,在浏览器中打开后选择 run 与指标。

工具参数:

字段 含义
action start、status 或 stop
logdir event 目录或 runs 父目录的绝对路径
python 已有 Python 可执行文件路径,不是 shell 命令
port 0 表示自动选空闲端口;固定端口被占用时会失败且不会停掉占用方

看板进程绑定在插件实例上:禁用/重载插件或关闭 DSH 会停止看板;停止看板不会影响训练进程与 event 文件。每个插件实例只拥有一个看板;更换 log 根目录或解释器前应先 stop。

可选配置

可在 profile 的 cordis.patch.yml 中写默认项:

- id: training-lens
  config:
    python: /absolute/path/to/venv/bin/python
    logdir: /absolute/path/to/runs
    port: 0
    staleSeconds: 120
    startupTimeoutMs: 60000

运行时路径均由用户提供,包内不附带项目路径或数据集。

脱离 DSH、在源码目录单独启动 Python 服务:

python python/server.py --logdir /absolute/path/to/runs --port 6008

适用场景与注意

适合:已在用 TensorBoard 写 scalar、希望在 DSH 里只读查看趋势、且希望少改训练脚本的开发者。

解读与限制(README「Interpretation and limits」摘要):

  • status 反映标量时间戳是否仍更新,不能等同训练进程存活或 checkpoint 已保存。
  • 支持常见 TensorBoard scalar 与 TF2 scalar-plugin tensor summary;未知 tag 可选,但不会从 reward 推断成功率。
  • 默认 x 轴为 writer 的 step;部分 MCTS tag 组合可能从 config.yaml 的 training_epochs 显示 epoch,通用 Train/loss 不假定按 epoch。
  • NaN、Infinity 显示为断点;重复 step 按 TensorBoard 重启清理后的最新 event 处理。
  • 图表超过约 1,600 点会做桶化;大体积混合 event 可能占较多内存,宜缩小 log 根目录。
  • 仅接受 loopback 主机,无任意文件 HTTP 接口,不是带认证的远程托管服务。
  • 远程 DSH 环境下 URL 指向 DSH 主机,需自行 SSH/编辑器端口转发;插件不打开公网隧道。

安全与权限:插件以当前 DSH 进程权限运行。安装前请阅读 GitHub 仓库 源码与 MIT 许可证。DSH 生态强调「一切皆插件」;SkillHub 目录页 为社区站点,与 DeepSeek / 幻方无官方从属关系。

结尾

Training Lens 把 TensorBoard 标量日志收敛成本地、只读的训练视窗,并通过 DSH 工具 training_lens 管理看板生命周期。需要安装命令、配置字段与边界说明时,以 GitHub README 为准;在目录页可查看插件条目:dsh-training-lens。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜