This repository is built on top of FuxiCTR, a configurable, tunable, and reproducible library for CTR prediction.
Paper reference FuxiCTR:
- Jieming Zhu, Jinyang Liu, Shuai Yang, Qi Zhang, Xiuqiang He. Open Benchmarking for Click-Through Rate Prediction. The 30th ACM International Conference on Information and Knowledge Management (CIKM), 2021.
- Please set up the environment as follows (we used python 3.9 and python 3.10).
python3 -m venv recsys_din source recsys_din/bin/activate python -m pip install --upgrade pip pip install --no-cache-dir -r requirements.txt
- make sure you have started the docker engine
- Build the container:
docker build -t recsyschallenge2024_din .
- Run the container
docker run -d -it --name recsyschallenge_container recsyschallenge2024_din /bin/bash
- Access the terminal of the container
docker exec -it recsyschallenge_container /bin/sh
-
Download and preprare data
python prepare_data_v1.py --size large --test --embedding_size 64 --neg_sampling
-
Train the model on train and validation sets:
- Train VDIN
python run_param_tuner.py --config config/VDIN_ebnerd_large_x1_tuner_config_01.yaml --gpu 0
- Train DIVAN
python run_param_tuner.py --config config/DIVAN_ebnerd_large_x1_tuner_config_01.yaml --gpu 0
- Train VDIN
-
Make predictions on the test set:
Get the experiment_id from running logs or the result csv file [VDIN|DIVAN]_ebnerd_large_x1_tuner_config_01.csv, and then you can run prediction on the test.
python submit.py --config config/[VDIN|DIVAN]_ebnerd_large_x1_tuner_config_01 --expid [VDIN|DIVAN]_ebnerd_large_x1_001_1860e41e --gpu 0
-
Download and preprare data
python prepare_data_pop_and_vir_scores.py --size large --test
-
Test the model on the validation set:
python run_[popular|virality]_expid.py
-
Make predictions on the test set:
python submit_[popular|viral].py