THUML 团队开源的时间序列深度学习工具箱

TSLib 小白零基础上手教程(一步一步跑通,零代码门槛)

https://github.com/thuml/Time-Series-Library这是清华THUML团队开源的时间序列深度学习工具箱 ,不用手写复杂模型,直接跑长短时预测、缺失值填补、异常检测、时序分类 5大核心任务,内置TimesNet、iTransformer、Mamba等SOTA模型,小白跟着复制命令就能用。


一、前置准备(必做,3个基础工具)

先装3个软件,全程点下一步即可:

  1. Git:下载代码 → https://git-scm.com/
  2. Anaconda:管理Python环境,避免冲突 → https://www.anaconda.com/
  3. GPU可选:有NVIDIA显卡更快,无显卡用CPU也能跑(只是慢一点)

二、第一步:下载代码 + 搭建环境

打开电脑CMD(Windows)终端(Mac/Linux)逐行复制命令运行

1. 克隆仓库到本地

bash 复制代码
# 下载代码
git clone https://github.com/thuml/Time-Series-Library.git
# 进入项目文件夹
cd Time-Series-Library

2. 创建专属Python环境(避坑核心)

bash 复制代码
# 创建环境(固定Python3.11,不兼容会报错)
conda create -n tslib python=3.11
# 激活环境(❗每次使用前必须先跑这行)
conda activate tslib

3. 安装依赖(分GPU/CPU,直接复制对应版本)

① 安装PyTorch
  • 有NVIDIA GPU(CUDA12.1)
bash 复制代码
pip install torch==2.5.1 --index-url https://download.pytorch.org/whl/cu121
  • 无GPU(CPU版)
bash 复制代码
pip install torch==2.5.1
② 安装剩余依赖
bash 复制代码
pip install -r requirements.txt
③ (可选)Mamba模型(仅Linux需要,Windows直接跳过)
bash 复制代码
pip install https://github.com/state-spaces/mamba/releases/download/v2.2.6.post3/mamba_ssm-2.2.6.post3+cu12torch2.5cxx11abiFALSE-cp311-cp311-linux_x86_64.whl

三、第二步:准备数据(放对位置=成功一半)

不用自己洗数据,仓库提供预处理好的数据集:

  1. 下载数据
  2. 关键放置
    解压后,把所有数据文件夹直接放到项目根目录的 dataset 文件夹里
    • 正确路径:Time-Series-Library/dataset/ETT-small
    • 没有dataset文件夹,自己新建一个

四、第三步:小白一键测试(5大任务跑通)

激活环境后,逐行复制下面命令,每个任务只跑1轮,超快验证环境:

1. 长时序预测

bash 复制代码
python -u run.py --task_name long_term_forecast --is_training 1 --root_path ./dataset/ETT-small/ --data_path ETTh1.csv --model_id test_long --model DLinear --data ETTh1 --features M --seq_len 96 --pred_len 96 --enc_in 7 --dec_in 7 --c_out 7 --train_epochs 1 --num_workers 2

2. 短时序预测

bash 复制代码
python -u run.py --task_name long_term_forecast --is_training 1 --root_path ./dataset/ETT-small/ --data_path ETTh1.csv --model_id test_short --model TimesNet --data ETTh1 --features M --seq_len 24 --label_len 12 --pred_len 24 --e_layers 2 --d_layers 1 --d_model 16 --d_ff 32 --enc_in 7 --dec_in 7 --c_out 7 --top_k 5 --train_epochs 1 --num_workers 2

3. 缺失值填补

bash 复制代码
python -u run.py --task_name imputation --is_training 1 --root_path ./dataset/ETT-small/ --data_path ETTh1.csv --model_id test_imp --model TimesNet --data ETTh1 --features M --seq_len 96 --e_layers 2 --d_layers 1 --d_model 16 --d_ff 32 --enc_in 7 --dec_in 7 --c_out 7 --top_k 3 --train_epochs 1 --num_workers 2 --label_len 0 --pred_len 0 --mask_rate 0.125 --learning_rate 0.001

4. 异常检测

bash 复制代码
python -u run.py --task_name anomaly_detection --is_training 1 --root_path ./dataset/PSM --model_id test_ad --model TimesNet --data PSM --features M --seq_len 100 --pred_len 0 --d_model 64 --d_ff 64 --e_layers 2 --enc_in 25 --c_out 25 --anomaly_ratio 1.0 --top_k 3 --train_epochs 1 --batch_size 128 --num_workers 2

5. 时序分类

bash 复制代码
python -u run.py --task_name classification --is_training 1 --root_path ./dataset/Heartbeat/ --model_id Heartbeat --model TimesNet --data UEA --e_layers 2 --d_layers 1 --factor 3 --d_model 64 --d_ff 128 --top_k 3 --train_epochs 1 --batch_size 16 --learning_rate 0.001 --num_workers 0

成功标志 :终端输出loss/acc数值,最后显示Experiment done


五、第四步:一键复现SOTA(用官方脚本)

不想敲长命令?直接运行仓库自带脚本,复现论文效果:

bash 复制代码
# 长时序预测(TimesNet+ETTh1)
bash ./scripts/long_term_forecast/ETT_script/TimesNet_ETTh1.sh

# 异常检测(TimesNet+PSM)
bash ./scripts/anomaly_detection/PSM/TimesNet.sh

Windows用户:用Git Bash 运行,把bash替换为sh即可。


六、小白必避坑(90%的人都踩过)

  1. 环境未激活 :每次使用前必须跑conda activate tslib
  2. 数据找不到 :严格放在./dataset目录下,别放错层级
  3. GPU报错:CUDA不兼容,直接换CPU版PyTorch
  4. Windows跑脚本失败:用Git Bash,别用系统CMD
  5. Mamba安装失败:Windows跳过,不影响基础任务

七、简单自定义(不改代码,只换3个参数)

不用懂深度学习,改命令里3个参数就能换模型/任务:

  1. --model:换模型(TimesNet/iTransformer/DLinear)
  2. --task_name:换任务(long_term_forecast/imputation/anomaly_detection)
  3. --data_path:换数据集(ETTh1.csv/ETTh2.csv/ETTm1.csv)

示例:长预测换iTransformer模型

bash 复制代码
python -u run.py --task_name long_term_forecast --is_training 1 --root_path ./dataset/ETT-small/ --data_path ETTh1.csv --model_id test_it --model iTransformer --data ETTh1 --features M --seq_len 96 --pred_len 96 --enc_in 7 --dec_in 7 --c_out 7 --train_epochs 1 --num_workers 2

八、总结

TSLib小白上手核心流程:克隆代码→装环境→放数据→一键运行,不用懂复杂原理,就能直接用时间序列SOTA模型做任务。

相关推荐
用户5191495848459 小时前
CVE-2025-1094 PostgreSQL SQL注入与WebSocket劫持远程代码执行利用工具
人工智能·aigc
IT_陈寒10 小时前
SpringBoot自动配置这个坑,我踩进去又爬出来了
前端·人工智能·后端
冬奇Lab1 天前
Agent 系列(23):Web Agent——让 Agent 真正浏览网页
人工智能·llm·agent
冬奇Lab1 天前
每日一个开源项目(第135篇):codebase-memory-mcp - 给 AI Agent 一张代码库的知识图谱
人工智能·开源·llm
IT_陈寒1 天前
JavaScript的闭包把我坑惨了,说好的内存会自动回收呢?
前端·人工智能·后端
jooloo1 天前
Codex 间歇性 400 之谜:一条对话里,它为什么有时候用 chat/completions,有时候切到 responses?
人工智能
用户5191495848451 天前
OpenSSL PKCS#12 PBMAC1 堆栈缓冲区溢出漏洞 (CVE-2025-11187) 分析与验证
人工智能·aigc
用户5191495848451 天前
HP Sound Research SECOMNService 权限提升漏洞利用工具
人工智能·aigc