【代码复现】STAEformer


前言

官方Github
论文:STAEformer: Spatio-Temporal Adaptive Embedding Makes Vanilla Transformer SOTA for Traffic Forecasting

STAEformer复现结果能够对的上论文实验结果,并且配置环境时没有遇到雷点。

一、创建虚拟环境

我创建了一个名称为STAEformer的虚拟环境(名称可以更改),并conda activate进入虚拟环境。

conda create -n STAEformer python==3.9.18
conda activate STAEformer

二、安装cuda、pytorch

官方代码仓要求pytorch>=1.11,这里我在虚拟环境安装cuda11.7和pytorch1.13.1及其相关依赖。

conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.7 -c pytorch -c nvidia

三、Required Packages

依赖包依次安装就完了。

pip install numpy
pip install pandas
pip install matplotlib
pip install pyyaml
pip install torchinfo

四、复现结果

cd model/进入项目model文件夹下,运行

python train.py -d <dataset>

官方很贴心地把数据集都给整理好了,不用自己去找了。
<dataset>:

  • METRLA
  • PEMSBAY
  • PEMS03
  • PEMS04
  • PEMS07
  • PEMS08

复现METRLA为例,测试结果为:

--------- Test ---------
All Steps RMSE = 5.93878, MAE = 2.92491, MAPE = 8.00552
Step 1 RMSE = 3.97519, MAE = 2.26739, MAPE = 5.49113
Step 2 RMSE = 4.65860, MAE = 2.49998, MAPE = 6.28363
Step 3 RMSE = 5.09899, MAE = 2.65260, MAPE = 6.84915
Step 4 RMSE = 5.45347, MAE = 2.76543, MAPE = 7.31178
Step 5 RMSE = 5.72631, MAE = 2.86540, MAPE = 7.71518
Step 6 RMSE = 5.96758, MAE = 2.95223, MAPE = 8.09941
Step 7 RMSE = 6.20411, MAE = 3.02974, MAPE = 8.39245
Step 8 RMSE = 6.37668, MAE = 3.09545, MAPE = 8.68591
Step 9 RMSE = 6.52967, MAE = 3.15964, MAPE = 8.96343
Step 10 RMSE = 6.69013, MAE = 3.21868, MAPE = 9.21720
Step 11 RMSE = 6.82990, MAE = 3.27001, MAPE = 9.42466
Step 12 RMSE = 6.95626, MAE = 3.32242, MAPE = 9.63251
Inference time: 4.86 s
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GitHub代码复现是指在GitHub上找到一个感兴趣或有用的开源代码项目,并通过阅读代码、运行代码并进行修改来重新实现或再次创建整个项目。 首先,需要在GitHub上搜索并找到目标项目。可以通过GitHub的搜索功能,输入关键词、项目名称、描述等来筛选出符合条件的项目。选择一个代码质量好、维护活跃的项目会更有保障。 一旦找到了目标项目,就可以clone(克隆)该项目到本地。可以使用git命令行或者通过GitHub Desktop等工具进行操作。克隆项目后,就可以在本地对代码进行修改、调试、定制等。 接下来,对项目进行配置和安装依赖。一般来说,项目中会有一个readme文件或者其他文档来指导配置环境和安装所需的依赖包。根据项目要求进行配置和安装。 然后,就可以运行项目了。根据项目的要求,可能需要提供一些参数或者数据集。根据项目的文档,在终端或者IDE中运行相应的命令或者程序。 当项目运行成功后,就可以根据自己的需求对代码进行修改和优化。可以根据项目的架构和实现逻辑进行更改,添加新的功能,或者提升代码的性能等。 最后,如果对项目的改进比较显著,可以考虑提交自己的贡献给项目的维护者。可以通过Fork项目、修改代码、提交Pull Request等方式向项目提交自己的改动。项目维护者会进行代码审查,并决定是否接受你的改动。 总之,GitHub代码复现是一个学习和交流的过程。通过复现别人的代码,可以提升自己的编程能力,了解项目的实现细节,还可以与其他开发者交流、合作,共同提高。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值