首页
/ TimeVQVAE 使用教程

TimeVQVAE 使用教程

2025-04-20 00:52:43作者:郜逊炳

1. 项目介绍

TimeVQVAE 是一个基于 PyTorch 的开源项目,实现了向量量化时间序列生成模型。该模型通过向量量化技术对数据进行压缩,并使用双向变换器学习先验模型,从而生成稳健的时间序列。TimeVQVAE 适用于时间序列数据的生成任务,并且在多个数据集上展示了优异的性能。

2. 项目快速启动

在开始之前,请确保您的系统中已安装了 PyTorch 和必要的依赖库。

环境配置

  1. 创建虚拟环境并激活。

  2. 在虚拟环境中安装所需的库:

    pip install -r requirements.txt
    
  3. 请自行安装 PyTorch(版本 2.5.1)和 PyTorch Lightning(版本 2.4.0)。

数据集准备

运行以下命令自动下载 UCR Archive 数据集:

python preprocessing/preprocess_ucr.py

或者,你也可以在训练时自动下载。

模型训练

  1. 训练第一阶段(Stage1):

    python stage1.py --dataset_names Wafer --gpu_device_ind 0
    
  2. 训练第二阶段(Stage2):

    python stage2.py --dataset_names Wafer --gpu_device_ind 0
    

训练完成后,模型会被保存在 saved_models/ 目录下。

模型评估

使用以下命令对模型进行评估:

python evaluate.py --dataset_names Wafer --gpu_device_idx 0

3. 应用案例和最佳实践

自定义数据集训练

如果需要在自定义数据集上训练 TimeVQVAE,可以修改 preprocessing/preprocess_ucr.py 中的 DatasetImporterCustom 类,编写针对你的数据集的数据加载代码。然后执行以下命令:

python stage1.py --use_custom_dataset True --dataset_names custom --gpu_device_ind 0
python stage2.py --use_custom_dataset True --dataset_names custom --gpu_device_ind 0
python evaluate.py --use_custom_dataset True --dataset_names custom --gpu_device_idx 0

生成样本

你可以参考 simple_sampling.ipynb Notebook 文件来生成合成时间序列样本。

4. 典型生态项目

TimeVQVAE 作为时间序列生成模型,可以与其他数据预处理、特征提取和时间序列分析项目配合使用,例如:

  • 数据预处理项目,如 pandasnumpy,用于数据清洗和准备。
  • 特征提取项目,如 scikit-learn,用于从时间序列中提取特征。
  • 时间序列分析项目,如 statsmodels,用于时间序列的建模和分析。
登录后查看全文
热门项目推荐