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模型做任务。

相关推荐
lulu12165440782 小时前
Claude Code Routines功能深度解析:24小时云端自动化开发指南
java·人工智能·python·ai编程
weixin_668898642 小时前
注意力机制与Transformer
人工智能·深度学习·transformer
听你说322 小时前
智慧照明赋能城市升级|中节能晶和科技EMC模式破解路灯节能改造长效难题
大数据·人工智能·科技
墨心@2 小时前
Byte-Pair Encoding (BPE) Tokenizer
人工智能·自然语言处理·nlp·datawhale·cs336·组队学习
我叫张土豆2 小时前
让 AI 学会用工具:基于 LangChain4j 的 Skills Agent 全栈落地实战
人工智能·spring boot
财迅通Ai2 小时前
天立国际控股:AI赋能再造新增长 中期净利大增21%
大数据·人工智能·天立国际控股
砍材农夫2 小时前
Hermes 搭建可视化web-dashboard界面
前端·人工智能
2301_780789662 小时前
什么是端口?端口攻击如何检测和防御
服务器·人工智能·游戏·架构·零信任
hqyjzsb2 小时前
传统教师升级AI教育产品设计师后收入增长路径
人工智能·职场和发展·aigc·文心一言·学习方法·业界资讯·ai写作