Appearance
DLinear 总览与 Level 树
Abstract
这篇是
DLinear/目录的唯一总入口。它只做四件事:
- 固定当前真实运行例子
- 固定一个最小 toy 例子
- 给出从命令行到
DLinear.forward(...)的总顺序图和 Level 树- 说明后续每篇文档各自展开哪一部分
0. 当前学习这组 DLinear 文档的第一性
当前学习 DLinear,不是为了背一个简单模型名字,而是为了建立三种能力:
- 代码实现能力
- 知道一个最简单的 forecasting 模型怎样接到 TFB 里、怎样收输入、怎样吐输出。
- 实验运行能力
- 知道改
seq_len / pred_len / moving_avg / individual会影响哪里,能跑通最小实验。
- 知道改
- 模型对照能力
- 用 DLinear 这个最简单基线,分清哪些是 TFB 固定外壳,哪些是 Informer 这种复杂模型才额外引入的机制。
所以这组文档的第一性不是“学一个模型名字”,而是:
用最小模型建立“读模型代码 -> 接框架 -> 动代码 -> 跑实验”的底座。
1. 当前真实运行例子
固定主线例子:
- 数据:
ETTh1.csv - 模型:
time_series_library.DLinear - adapter:
transformer_adapter - strategy:
rolling_forecast
关键参数:
seq_len = 96label_len = 48horizon = pred_len = 24batch_size = 4moving_avg = 25enc_in = 7individual = False
这组参数的意义:
seq_len = 96- 每次喂给 DLinear 的历史长度。
pred_len = 24- DLinear 每次要预测未来多少步。
moving_avg = 25- 分解趋势项时使用的滑动平均窗口。
enc_in = 7- 每个时间步有 7 个变量。
individual = False- 7 个变量共享一套 seasonal / trend 线性头。
2. 固定 toy 例子
为了让文档能脱离源码阅读,固定一个极小 toy 例子:
B = 1seq_len = 4pred_len = 2enc_in = 2moving_avg = 3individual = False
toy 输入:
text
x_enc =
[
[1, 10],
[2, 11],
[3, 12],
[4, 13],
]
shape = (1, 4, 2)这 4 个时间步、2 个变量,会被一路送进:
series_decompLinear_SeasonalLinear_Trend- 最终输出
(1, 2, 2)
3. 总顺序图
4. 总抽象树
5. Level 到文档的映射表
| 层级 | 文档 | 这一层解决的问题 | 入口 | 出口 |
|---|---|---|---|---|
| Level 1 | 01-Level1-配置进入DLinear | 为什么当前命令最后会变成 DLinear(config) | run_benchmark.py + args | model = DLinear(config) |
| Level 2 | 02-Level2-数据进入DLinear | batch 四元组怎么进入 DLinear | _process(input, target, input_mark, target_mark) | DLinear.forward(...) |
| Level 3 | 03-Level3-forward主链 | forecasting 任务里 forward(...) 实际走哪条分支 | DLinear.forward(...) | forecast(x_enc) |
| Level 4 | 04-Level4-encoder分解与线性预测总览 | encoder(x_enc) 内部到底做了什么 | encoder(x_enc) | (B, pred_len, C) |
6. Level 4 的子块
Level 4 已继续下钻到两个子块:
4A series_decomp 与 moving_avg4B Seasonal / Trend 线性头
注意:
4C和4D目前还并在04-Level4-encoder分解与线性预测总览里讲。- 如果以后继续拆,也应该作为
04的子块,而不是新开假 Level。
7. 附录文档
这些不是 Level 主线,而是辅助文档:
8. 固定阅读顺序
严格按这个顺序:
- 01-Level1-配置进入DLinear
- 02-Level2-数据进入DLinear
- 03-Level3-forward主链
- 04-Level4-encoder分解与线性预测总览
- 04A-series_decomp与moving_avg
- 04B-SeasonalTrend线性头
- 09-DLinear全览流程图收束
遇到看不懂的 torch 算子,再查:
如果想从论文原理反接代码,再看:
如果想知道“为什么要学模型、学到什么程度算够”,再看:
9. 只留一句
这组 DLinear 文档以后不再按“主题并列”组织,而是按“真实运行链 + Level 主树 + 必要附录”组织,用来支撑你尽量不读源码也能把 DLinear 跑通、讲清、改动。