Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/amoussawi/recoder
Large scale training of factorization models for Collaborative Filtering with PyTorch
https://github.com/amoussawi/recoder
autoencoder collaborative-filtering deep-learning machine-learning matrix-factorization pytorch recommender-system
Last synced: about 1 month ago
JSON representation
Large scale training of factorization models for Collaborative Filtering with PyTorch
- Host: GitHub
- URL: https://github.com/amoussawi/recoder
- Owner: amoussawi
- License: mit
- Created: 2018-02-05T20:44:21.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-07-06T22:37:45.000Z (12 months ago)
- Last Synced: 2024-03-02T11:37:33.298Z (4 months ago)
- Topics: autoencoder, collaborative-filtering, deep-learning, machine-learning, matrix-factorization, pytorch, recommender-system
- Language: Python
- Homepage:
- Size: 3.47 MB
- Stars: 56
- Watchers: 5
- Forks: 7
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Lists
- awesome-embeddings - Recoder
README
# Recoder
[![Pypi version](https://img.shields.io/badge/dynamic/json.svg?label=pypi&url=https%3A%2F%2Fpypi.org%2Fpypi%2Frecsys-recoder%2Fjson&query=%24.info.version&colorB=blue)](https://pypi.org/project/recsys-recoder/)
[![Docs status](https://readthedocs.org/projects/recoder/badge/?version=latest)](https://recoder.readthedocs.io/en/latest/)
[![Build Status](https://travis-ci.org/amoussawi/recoder.svg?branch=master)](https://travis-ci.org/amoussawi/recoder)### Introduction
Recoder is a fast implementation for training collaborative filtering latent
factor models with mini-batch based negative sampling following recent work:
- [Towards Large Scale Training Of Autoencoders For Collaborative Filtering](https://arxiv.org/abs/1809.00999).Recoder contains two implementations of factorization models: Autoencoder and Matrix Factorization.
Check out the [Documentation](https://recoder.readthedocs.io/en/latest/) and
the [Tutorial](https://recoder.readthedocs.io/en/latest/tutorial.html).### Installation
Recommended to use python 3.8. Python 2 is not supported.```bash
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
- [Collaborative Filtering for Implicit Feedback Datasets](http://yifanhu.net/PUB/cf.pdf)
- [Variational Autoencoders for Collaborative Filtering](https://arxiv.org/abs/1802.05814)### 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](https://www.anghami.com) for supporting this work,
and my colleagues, [Helmi Rifai](https://twitter.com/RifaiHelmi) and
[Ramzi Karam](https://twitter.com/ramzikaram), for great discussions on Collaborative Filtering at scale.- This project started as a fork of [NVIDIA/DeepRecommender](https://github.com/NVIDIA/DeepRecommender),
and although it went in a slightly different direction and was entirely refactored,
the work in [NVIDIA/DeepRecommender](https://github.com/NVIDIA/DeepRecommender) was a
great contribution to the work here.