StackRec: Efficient Training of Very Deep Sequential Recommender Models by Iterative Stacking

Related tags

Deep LearningStackRec
Overview

StackRec: Efficient Training of Very Deep Sequential Recommender Models by Iterative Stacking

Datasets

You can download datasets that have been pre-processed:

We construct a large-scale session-based recommendation dataset (denoted as Video-6M) by collecting the interactiton behaviors of nearly 6 million users in a week from a commercial recommender system. The dataset can be used to evaluate very deep recommendation models (up to 100 layers), such as NextItNet (as shown in our paper StackRec(SIGIR2021)). If you use this dataset in your paper, you should cite our NextItNet and StackRec for publish permission.

@article{yuan2019simple,
	title={A simple convolutional generative network for next item recommendation},
	author={Yuan, Fajie and Karatzoglou, Alexandros and Arapakis, Ioannis and Jose, Joemon M and He, Xiangnan},
	journal={Proceedings of the Twelfth ACM International Conference on Web Search and Data Mining},
	year={2019}
}

@article{wang2020stackrec,
  title={StackRec: Efficient Training of Very Deep Sequential Recommender Models by Iterative Stacking},
  author={Wang, Jiachun and Yuan, Fajie and Chen, Jian and Wu, Qingyao and Li, Chengmin and Yang, Min and Sun, Yang and Zhang, Guoxiao},
  journal={Proceedings of the 44th International ACM SIGIR conference on Research and Development in Information Retrieval},
  year={2021}
}

File Description

requirements.txt: the experiment environment

train_nextitnet_sc1.sh: the shell script to train StackRec with NextItNet in CL scenario
train_nextitnet_sc2.sh: the shell script to train StackRec with NextItNet in TF scenario
train_nextitnet_sc3.sh: the shell script to train StackRec with NextItNet in TS scenario
deep_nextitnet.py: the training file of NextItNet
deep_nextitnet_coldrec.py: the training file of NextItNet customized for coldrec source dataset
data_loader.py: the dataset loading file of NextItNet and GRec
data_loader_finetune.py: the dataset loading file of NextItNet and GRec customized for coldrec dataset
generator_deep.py: the model file of NextItNet
ops.py: the module file of NextItNet and GRec with stacking methods doubling blocks
ops_copytop.py: the module file of NextItNet with stacking methods allowed to stack top blocks
ops_original.py: the module file of NextItNet with stacking methods without alpha
fineall.py: the training file of NextItNet customized for coldrec target dataset

train_grec_sc1.sh: the shell script to train StackRec with GRec in CL scenario
deep_GRec: the training file of GRec
generator_deep_GRec.py: the model file of GRec
utils_GRec.py: some tools for GRec

train_sasrec_sc1.sh: the shell script to train StackRec with SASRec in CL scenario
baseline_SASRec.py: the training file of SASRec
Data_loader_SASRec.py: the dataset loading file of SASRec
SASRec_Alpha.py: the model file of SASRec

train_ssept_sc1.sh: the shell script to train StackRec with SSEPT in CL scenario
baseline_SSEPT.py: the training file of SSEPT
Data_loader_SSEPT.py: the dataset loading file of SSEPT
SSEPT_Alpha.py: the model file of SSEPT
utils.py: some tools for SASRec and SSEPT
Modules.py: the module file of SASRec and SSEPT with stacking methods

Stacking with NextItNet

Train in the CL scenario

Execute example:

sh train_nextitnet_sc1.sh

Train in the TS scenario

Execute example:

sh train_nextitnet_sc2.sh

Train in the TF scenario

Execute example:

sh train_nextitnet_sc3.sh

Stacking with GRec

Execute example:

sh train_grec_sc1.sh

Stacking with SASRec

Execute example:

sh train_sasrec_sc1.sh

Stacking with SSEPT

Execute example:

sh train_ssept_sc1.sh

Key Configuration

  • method: five stacking methods including from_scratch, stackC, stackA, stackR and stackE
  • data_ratio: the percentage of training data
  • dilation_count: the number of dilation factors {1,2,4,8}
  • num_blocks: the number of residual blocks
  • load_model: whether load pre-trained model or not
Wind Speed Prediction using LSTMs in PyTorch

Implementation of Deep-Forecast using PyTorch Deep Forecast: Deep Learning-based Spatio-Temporal Forecasting Adapted from original implementation Setu

Onur Kaplan 151 Dec 14, 2022
Yoga - Yoga asana classifier for python

Yoga Asana Classifier Description Hi welcome to my new deep learning project "Yo

Programminghut 35 Dec 12, 2022
Detection of drones using their thermal signatures from thermal camera through YOLO-V3 based CNN with modifications to encapsulate drone motion

Drone Detection using Thermal Signature This repository highlights the work for night-time drone detection using a using an Optris PI Lightweight ther

Chong Yu Quan 6 Dec 31, 2022
A Deep Reinforcement Learning Framework for Stock Market Trading

DQN-Trading This is a framework based on deep reinforcement learning for stock market trading. This project is the implementation code for the two pap

61 Jan 01, 2023
A simple root calculater for python

Root A simple root calculater Usage/Examples python3 root.py 9 3 4 # Order: number - grid - number of decimals # Output: 2.08

Reza Hosseinzadeh 5 Feb 10, 2022
Autonomous racing with the Anki Overdrive

Anki Autonomous Racing Autonomous racing with the Anki Overdrive. Using the Overdrive-Python API (https://github.com/xerodotc/overdrive-python) develo

3 Dec 11, 2022
Serve TensorFlow ML models with TF-Serving and then create a Streamlit UI to use them

TensorFlow Serving + Streamlit! ✨ 🖼️ Serve TensorFlow ML models with TF-Serving and then create a Streamlit UI to use them! This is a pretty simple S

Álvaro Bartolomé 18 Jan 07, 2023
This repository contains the official implementation code of the paper Improving Multimodal Fusion with Hierarchical Mutual Information Maximization for Multimodal Sentiment Analysis, accepted at EMNLP 2021.

MultiModal-InfoMax This repository contains the official implementation code of the paper Improving Multimodal Fusion with Hierarchical Mutual Informa

Deep Cognition and Language Research (DeCLaRe) Lab 89 Dec 26, 2022
An open-source Kazakh named entity recognition dataset (KazNERD), annotation guidelines, and baseline NER models.

Kazakh Named Entity Recognition This repository contains an open-source Kazakh named entity recognition dataset (KazNERD), named entity annotation gui

ISSAI 9 Dec 23, 2022
Multi-Stage Episodic Control for Strategic Exploration in Text Games

XTX: eXploit - Then - eXplore Requirements First clone this repo using git clone https://github.com/princeton-nlp/XTX.git Please create two conda envi

Princeton Natural Language Processing 9 May 24, 2022
Developed an optimized algorithm which finds the most optimal path between 2 points in a 3D Maze using various AI search techniques like BFS, DFS, UCS, Greedy BFS and A*

Developed an optimized algorithm which finds the most optimal path between 2 points in a 3D Maze using various AI search techniques like BFS, DFS, UCS, Greedy BFS and A*. The algorithm was extremely

1 Mar 28, 2022
Code to reproduce the results in "Visually Grounded Reasoning across Languages and Cultures", EMNLP 2021.

marvl-code [WIP] This is the implementation of the approaches described in the paper: Fangyu Liu*, Emanuele Bugliarello*, Edoardo M. Ponti, Siva Reddy

25 Nov 15, 2022
Facial Action Unit Intensity Estimation via Semantic Correspondence Learning with Dynamic Graph Convolution

FAU Implementation of the paper: Facial Action Unit Intensity Estimation via Semantic Correspondence Learning with Dynamic Graph Convolution. Yingruo

Evelyn 78 Nov 29, 2022
The dataset of tweets pulling from Twitters with keyword: Hydroxychloroquine, location: US, Time: 2020

HCQ_Tweet_Dataset: FREE to Download. Keywords: HCQ, hydroxychloroquine, tweet, twitter, COVID-19 This dataset is associated with the paper "Understand

2 Mar 16, 2022
Reverse engineering Rosetta 2 in M1 Mac

Project Champollion About this project Rosetta 2 is an emulation mechanism to run the x86_64 applications on Arm-based Apple Silicon with Ahead-Of-Tim

FFRI Security, Inc. 258 Jan 07, 2023
Restricted Boltzmann Machines in Python.

How to Use First, initialize an RBM with the desired number of visible and hidden units. rbm = RBM(num_visible = 6, num_hidden = 2) Next, train the m

Edwin Chen 928 Dec 30, 2022
OCR Streamlit App is used to extract text from images using python's easyocr, pytorch and streamlit packages

OCR-Streamlit-App OCR Streamlit App is used to extract text from images using python's easyocr, pytorch and streamlit packages OCR app gets an image a

Siva Prakash 5 Apr 05, 2022
On Effective Scheduling of Model-based Reinforcement Learning

On Effective Scheduling of Model-based Reinforcement Learning Code to reproduce the experiments in On Effective Scheduling of Model-based Reinforcemen

laihang 8 Oct 07, 2022
QQ Browser 2021 AI Algorithm Competition Track 1 1st Place Program

QQ Browser 2021 AI Algorithm Competition Track 1 1st Place Program

249 Jan 03, 2023
(CVPR 2022) Energy-based Latent Aligner for Incremental Learning

Energy-based Latent Aligner for Incremental Learning Accepted to CVPR 2022 We illustrate an Incremental Learning model trained on a continuum of tasks

Joseph K J 37 Jan 03, 2023