生成并计算训练可观测量,无需改写训练循环。#

PyTorch 训练可观测量 · 0.1.0

Observable Library 是一个小型 Python 包,用于在运行中的 PyTorch 训练循环里定义、生成和计算可观测量。你可以直接使用返回值,也可以存储后按精确 id 和 step 读回。

快速开始 · API 参考

import observable_library as ol

# You choose the observables. Nothing is inferred automatically.
observables = ol.generate(model, reductions=["l2_norm"])
runtime = ol.Runtime(observables, source=ol.HookSource(model))

if step % 100 == 0:
    values = runtime.observe(step=step)
  • param_norm · 示意数据

  • observed_values · 示意数据

generate 可观测量 → Runtime.observe() 计算值 → 可选 ValueSink 存储

安装#

需要 Python 3.10–3.12 和 torch>=2.4.1。本包已在 PyPI 发布,采用 Apache-2.0 许可证。

python -m pip install observable-library

核心数据流#

你需要显式选择 reduction 和执行计算的 step。参数可观测量生成不会改变训练循环,也不会自动创建 activation、gradient 或 loss 可观测量。

observables = ol.generate(model, reductions=["l2_norm"])
runtime = ol.Runtime(observables, source=ol.HookSource(model))
values = runtime.observe(step=0)

接下来读什么#

快速开始

通过一个小型 CPU 示例,从安装走到第一个计算并存储的观测值。

快速开始
核心概念

理解 spec、source、pack、运行时调度、存储和稳定 id。

核心概念
操作指南

使用在线 hooks、自定义可观测量、filter、transform、reduction 和离线文件。

操作指南
API 参考

浏览 0.1.0 完整的顶层公共 API 及其当前行为。

API 参考