Skip to content

AmazingDD/serenRec

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Overview

  • serenRec is a Python toolkit developed to benchmark sequential recommendation baselines and experiments. The name SEREN stands for SEquential REcommendatioN.

Requirements

optuna==3.5.0
torch==2.0.1
numpy==1.23.5
pandas==1.5.3

Datasets

make sure all data files required are placed in the correct corresponding path:

│movielens/
├──ml-1m/
│  ├── ratings.dat
│amazon/
│  ├── Digital_Music.csv
│  ├── Video_Games.csv
|  ├── Arts_Crafts_and_Sewing.csv
│steam/
│  ├── steam_reviews.json.gz
│retail/
│  ├── events.csv

All datasets can be downloaded by following links:

How to Run

Ensure you have a CUDA environment to accelerate, since the deep-learning models could be based on it.

a quick start tutorial with ML-1M toy implementation

To quickly get the testing results, please implement:

python main.py -use_cuda -gpu_id=0 -dataset=ml-1m -model=gru4rec

To use the automatic TPE tuning method to get a better testing result, please implement

python main.py -use_cuda -gpu_id=0 -dataset=ml-1m -model=gru4rec -tune -nt=20

-tune -nt will allow the code to search the best hyperparameter settings 20 times with the maximum target MRR@10

Implemented Sequential Recommendation Baselines

Model Publication
POP A revisit of the popularity baseline in recommender systems (SIGIR'2020)
GRU4REC Improved Recurrent Neural Networks for Session-based Recommendations (RecSys'2016)
NARM Neural Attentive Session-based Recommendation (CIKM 2017)
CASER Personalized Top-N Sequential Recommendation via Convolutional Sequence Embedding (WSDM'2018)
SASREC Self-Attentive Sequential Recommendation (ICDM'2018)
STAMP STAMP: Short-Term Attention/Memory Priority Model for Session-based Recommendation (KDD'2018)
SRGNN Session-based Recommendation with Graph Neural Networks (AAAI'2019)
FMLP Filter-enhanced MLP is All You Need for Sequential Recommendation (WWW'2022)
LRUREC Linear Recurrent Units for Sequential Recommendation (WSDM'2024)
BSAREC An Attentive Inductive bias for Sequential Recommendation Beyond the Self-Attention (AAAI'2024)

Cite

Please cite the following paper if you find our work contributes to yours in any way:

@inproceedings{TBD,
  title={Cost-Effective On-Device Sequential Recommendation with Spiking Neural Networks},
  author={Di, Yu and Changze, Lv and Linshan, Jiang and Xin, Du and Qing, Yin and Wentao, Tong and Shuiguang, Deng and Xiaoqing, Zheng},
  booktitle={Proceedings of the Thirty-Fourth International Joint Conference on Artificial Intelligence, {IJCAI-25}},
  year={2025}
}

About

Open Source Code for Sequential Recommendation Algorithms

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages