Recoder version status Status


Recoder is a fast implementation for training collaborative filtering latent factor models with mini-batch based negative sampling following recent work:

Recoder contains two implementations of factorization models: Autoencoder and Matrix Factorization.

Check out the Documentation and the Tutorial.


Recommended to use python 3.6. Python 2 is not supported.

pip install -U recsys-recoder


Check out the scripts/ directory for some good examples on different datasets. You can get MovieLens-20M dataset fully trained with mean squared error in less than a minute on a Nvidia Tesla K80 GPU.


Please cite this paper in your publications if it helps your research:

  author = {Moussawi, Abdallah},
  title = {Towards Large Scale Training Of Autoencoders For Collaborative Filtering},
  booktitle = {Proceedings of Late-Breaking Results track part of the Twelfth ACM Conference on Recommender Systems},
  series = {RecSys'18},
  year = {2018},
  address = {Vancouver, BC, Canada}


  • I would like to thank Anghami for supporting this work, and my colleagues, Helmi Rifai and Ramzi Karam, for great discussions on Collaborative Filtering at scale.
  • This project started as a fork of NVIDIA/DeepRecommender, and although it went in a slightly different direction and was entirely refactored, the work in NVIDIA/DeepRecommender was a great contribution to the work here.