Skip to content

Large scale training of factorization models for Collaborative Filtering with PyTorch

License

Notifications You must be signed in to change notification settings

amoussawi/recoder

Repository files navigation

Recoder

Pypi version Docs status Build Status

Introduction

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.

Installation

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

pip install -U recsys-recoder

Examples

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.

Further Readings

Citing

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

@inproceedings{recoder,
  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}
}

Acknowledgements

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