前言¶
在 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,安装前可在仓库自行核对。
- 标量选择:主、次指标可任选(如 reward、validation loss、accuracy、learning rate 或自定义 tag)。
- 好坏方向:可显式选择 higher / lower is better;默认只展示观测区间,不自动判定「是否在变好」。
- 展示与诊断:原始值、可选 EMA 平滑、按指标的 step,以及可展开的诊断信息。
- 界面与刷新:中英文 UI、响应式布局、自动刷新与 run 选择。
- 与训练进程隔离:DSH 工具只负责本插件实例所启动、检查、停止的看板;无训练控制、无遥测、无云端上传。
- 不依赖 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。