生成并计算训练可观测量,无需改写训练循环。#
PyTorch 训练可观测量 · 0.1.0
Observable Library 是一个小型 Python 包,用于在运行中的 PyTorch 训练循环里定义、生成和计算可观测量。你可以直接使用返回值,也可以存储后按精确 id 和 step 读回。
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 及其当前行为。