Need help with NCF?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

guoyang9
142 Stars 35 Forks 10 Commits 2 Opened issues

Description

A pytorch implementation of He et al. "Neural Collaborative Filtering" at WWW'17

Services available

!
?

Need anything else?

Contributors list

# 267,972
Python
pytorch
python3
10 commits

NCF

A pytorch GPU implementation of He et al. "Neural Collaborative Filtering" at WWW'17

Note that I use the two sub datasets provided by Xiangnan's repo.

I randomly utilized a factor number 32, MLP layers 3, epochs is 20, and posted the results in the original paper and this implementation here. I employed the exactly same settings with Xiangnan, including batch_size, learning rate, and all the initialization methods in Xiangnan's keras repo. From the results I observed, this repo can replicate the performance of the original NCF. Xiangnan's keras repo:

Models

MovieLens [email protected] MovieLens [email protected] Pinterest [email protected] Pinterest [email protected]
MLP 0.692 0.425 0.868 0.542
GMF - - - -
NeuMF (without pre-training) 0.701 0.425 0.870 0.549
NeuMF (with pre-training) 0.726 0.445 0.879 0.555

This pytorch code:

Models

MovieLens [email protected] MovieLens [email protected] Pinterest [email protected] Pinterest [email protected]
MLP 0.691 0.416 0.866 0.537
GMF 0.708 0.429 0.867 0.546
NeuMF (without pre-training) 0.701 0.424 0.867 0.544
NeuMF (with pre-training) 0.720 0.439 0.879 0.555

The requirements are as follows:

* python==3.6
* pandas==0.24.2
* numpy==1.16.2
* pytorch==1.0.1
* gensim==3.7.1
* tensorboardX==1.6 (mainly useful when you want to visulize the loss, see https://github.com/lanpa/tensorboard-pytorch)

Example to run:

python main.py --batch_size=256 --lr=0.001 --factor_num=16

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.