ZSCDumin / HashGNN

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Learning to Hash with Graph Neural Networks for Recommender Systems

Original implementation for paper Learning to Hash with Graph Neural Networks for Recommender Systems.

Qiaoyu Tan, Ninghao Liu, Xing Zhao, Hongxia Yang, Jingren Zhou, Xia Hu

Accepted to WWWW 2020!

Prerequisites
Python==2.7
faiss==1.5.3
tensorflow==1.12

Install Faiss-GPU based on the instructions here: https://github.com/facebookresearch/faiss/blob/master/INSTALL.md


Training
Training on the existing datasets
You can use python main.py --dataset {dataset_name} to train a specific model on a dataset. Other hyperparameters can be found in the code.

For example, you can use python main.py --dataset ml-1m to train HashGNN model on MovieLens dataset.

The current implmentation is a litter bit difference from the original one, since we reimplement the sampling function based on the samplestore package of PAI platform at Alibaba.


Acknowledgement
The implementation of straight-through estimator is based on https://r2rt.com/binary-stochastic-neurons-in-tensorflow.html.


Cite
Please cite our paper if you find this code useful for your research:

@inproceedings{tan2020learning,
  title={Learning to Hash with Graph Neural Networks for Recommender Systems},
  author={Tan, Qiaoyu and Liu, Ninghao and Zhao, Xing and Yang, Hongxia and Zhou, Jingren and Hu, Xia},
  booktitle={Proceedings of The Web Conference 2020},
  pages={1988--1998},
  year={2020}
}

About


Languages

Language:Python 100.0%