Neural Collaborative Filtering with PyTorch in C++
Algorithms used in this repository are based on the following paper:
Xiangnan He, Lizi Liao, Hanwang Zhang, Liqiang Nie, Xia Hu and Tat-Seng Chua (2017). Neural Collaborative Filtering. In Proceedings of WWW '17, Perth, Australia, April 03-07, 2017.
You can find an implemenation by the authors of the paper in Python here
It is probably better to use Python for ML/DL related tasks, because of its easy to use APIs, but integration into already existing C++ code-bases can sometimes be tricky.
To keep the size of this repository in check, it doesn't contain the PyTorch Binary. But it can be downloaded on the PyTorch Website. Was tested with PyTorch version 1.13.1 and without CUDA. If you want to use CUDA, you also need to install CUDA with several libraries like cuDNN. If you want to use it on an ARM based Mac you can find build instructions in this Stackoverflow post.