This project is built around PyTorch-Lightning
, offering a structured and friendly environment for anyone exploring sequential recommendation systems. This platform is designed to simplify the machine learning workflow, letting you focus more on the strategic aspects of model development and less on setup complexities.
- Docker and Docker Compose: You can download them here.
- Python 3.x and Conda: You can download them from Anaconda distribution or Miniconda.
Clone this repository to your local machine and navigate to the directory containing the Makefile.
git clone https://github.com/Aidenzich/TVA.git
cd TVA
We use conda as default environment in this repo. To create the tvar
conda environment, run the following command:
conda create --name tvar python=3.8
conda activate tvar
pip install -r requirements.txt
- 🗣️ Training, Preprocessing, Inference with Interactive Commands
- 📊 Well-organized logging and TensorBoard visualization
- 📑 Configs based hyperparameters and configurations system
Model | Venue | Year | Support |
---|---|---|---|
TVA (a model still in development, the concept is to enable the model to aware Temporal Variance) | - | - | - |
ContrastVAE: Contrastive Variational AutoEncoder for Sequential Recommendation | CIKM | '22 | ✓ |
CBiT: Contrastive Learning with Bidirectional Transformers for Sequential Recommendation | CIKM | '22 | ✓ |
BERT4Rec: Sequential Recommendation with Bidirectional Encoder Representations from Transformer | CIKM | '19 | ✓ |
VAECF: Variational Autoencoders for Collaborative Filtering | WWW | '18 | ✓ |
SASRec: Self-Attentive Sequential Recommendation | ICDM | '18 | ✓ |
To run the preprocessing script:
make pp
To run the training script:
make train
To run the inference script:
make infer
To start TensorBoard:
make panel