⭐ EAC is a method for exploring the rapid adaptation of models in the face of open environment dynamic spatio-temporal graph changes during the Supervised Finetuning Phase.
🚩 News (Jun. 2025): We have fixed the problem of not being able to use direct inference with weights. 💉
🚩 News (Apr. 2025): We upload all processed complete datasets to the cloud disk, and you can download them directly to avoid the difficulty of reproducing the processing problems! 😊
🚩 News (Feb. 2025): EAC's code, data, weights, and training logs are fully open source! Try to improve on this! 😊
🚩 News (Jan. 2025): EAC has been accpeted by ICLR 2025! ✅
Spatio-temporal forecasting in streaming scenarios faces dual challenges: the inefficiency of retraining models over newly-arrived data and the detrimental effects of catastrophic forgetting over long-term history. To address these challenges, we propose a novel prompt tuning-based continuous forecasting method, EAC, following two fundamental tuning principles guided by empirical and theoretical analysis: expand and compress, which effectively resolve the aforementioned problems with lightweight tuning parameters.
[Important]: Now, the processed dataset can be directly accessed from the cloud disk!
Our datasets are available on Google Drive.
Please download all processed datasets and place them in the data folder.
- Please install the core dependencies, including:
python = 3.8.5
pytorch = 1.7.1
torch-geometric = 1.6.3
- Or you can directly create and import a ready-made environment:
conda env create -f environment.yaml
conda activate stg
- You can run a specific method on a specific dataset separately, for example, run the EAC method on the PEMS-Stream dataset:
python main.py --conf conf/PEMS/eac.json --gpuid 0 --seed 43
- Or you can run the script to batch execute all baseline methods on a specified dataset, for example, run all baseline methods on the PEMS-Stream dataset:
sh scripts/pems_run.sh
-
Config File: Please refer to the conf file for the configuration details of different methods in different datasets. Note that all parameters follow almost the same settings.
-
Log File: Please refer to the log file for the log details of different methods in different datasets. Note that the logs of different periods of a method in a data set are summarized in one file.
-
Weight File: Please refer to the log file for the weight details of different methods in different datasets. Note that due to the limitation of uploaded files and size, we currently only upload one random seed weight for each experiment of each method.
-
Empirical Observation: The analysis code for the observations in Figures 3 and 4 of the paper is in empirical_observation.ipynb file.
-
Result Analysis: The analysis code for the observations in Tables 1, 3 and Figures 5, 6, 7 of the paper is in result_statistical.ipynb file.
🌟 If you find the EAC helpful in your research, please consider to star this repository and cite this paper:
@inproceedings{chen2025eac,
title={Expand and Compress: Exploring Tuning Principles for Continual Spatio-Temporal Graph Forecasting},
author={Wei Chen and Yuxuan Liang},
booktitle={The Thirteenth International Conference on Learning Representations},
year={2025}
}
We appreciate the following GitHub repos or Websites a lot for their valuable code, data and efforts.
This project is licensed under the Apache-2.0 License.