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. 克隆仓库到本地

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

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

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

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

① 安装PyTorch
  • 有NVIDIA GPU(CUDA12.1)
pip install torch==2.5.1 --index-url https://download.pytorch.org/whl/cu121
  • 无GPU(CPU版)
pip install torch==2.5.1
② 安装剩余依赖
pip install -r requirements.txt
③ (可选)Mamba模型(仅Linux需要,Windows直接跳过)
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. 下载数据
    • 百度云:https://pan.baidu.com/s/18RofW1zFgT4nVm5X10Xcwg 提取码:tslib
    • 谷歌云:https://drive.google.com/drive/folders/185k5tb579sF3h40X7A4K1Yd8X4pZq7Ro
  2. 关键放置
    解压后,把所有数据文件夹直接放到项目根目录的 dataset 文件夹里
    • 正确路径:Time-Series-Library/dataset/ETT-small
    • 没有dataset文件夹,自己新建一个

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

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

1. 长时序预测

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. 短时序预测

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. 缺失值填补

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. 异常检测

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. 时序分类

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(用官方脚本)

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

# 长时序预测(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模型

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

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐