← all repositories
Coder-Yu/QRec

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.

1.6k stars Python Domain AppsML Frameworks
QRec
Velocity · 7d
+0.5
★ / day
Trend
steady
star history

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 .conf file
  • 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.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.