A recommender-system lab bench stuck in 2019
QRec bundles 30+ recsys papers into config-file-driven experiments, but pins you to TensorFlow 1.14.

What it does
QRec is a Python framework that implements several dozen recommendation models—from classic matrix factorization (PMF, SVD++) to recent graph-convolutional work like LightGCN and SimGCL. You pick a model, fill out a .conf file, and run main.py. It handles both rating prediction and item ranking, with built-in evaluation protocols (hold-out, cross-validation, cold-start splits).
The interesting bit The value isn’t any single algorithm; it’s the standardized plumbing. The authors have done the tedious work of normalizing data loaders, evaluation metrics, and hyperparameter parsing across papers spanning 2005–2022. For researchers, that means benchmarking a new idea against 20 baselines without rewriting boilerplate.
Key highlights
- 30+ implemented algorithms with explicit paper citations (SIGIR, KDD, WWW, etc.)
- Configuration-driven experiments: dataset paths, evaluation splits, and model hyperparameters live in one
.conffile - Extensible base classes: subclass and override
initModel(),trainModel(),predictForRanking()to add new methods - Supports both rating prediction and item-ranking tasks
- Social recommendation variants included (trust-aware models like DiffNet, SEPT)
Caveats
- Hard dependency on TensorFlow 1.14 (released 2019) and Python 3.7; the authors note they “transplanted from py2 to py3” in 2021, but TF 1.x is still end-of-life
- Documentation links point to a Chinese showdoc site; no in-repo docs beyond the README
- No mention of GPU requirements, distributed training, or modern TF/PyTorch performance optimizations
Verdict Grab this if you’re doing recsys research and need a fast, consistent baseline factory. Skip it if you want production-grade serving or anything resembling current TensorFlow.