Completed in 2016 for a course taught by David Duvenaud at the University of Toronto, CSC 2541 ("Differentiable Inference and Generative Models").
Tensorflow prototypes of:
See paper ("Matrix Factorization with Neural Networks and Stochastic Variational Inference") here: https://www.cs.toronto.edu/~jstolee/projects/matrix_factorization_neural.pdf.
This project was written to be compatible with Python 2.7. See requirements.txt
for third party dependencies.
The scripts/
folder contains the following Python scripts:
split_data.py
: for splitting up the data set into train, test and validation sets.main.py
: for training, hyperparameter selection (random search) and testing.predict.py
: a CLI program for prediction with a trained model.Each of the scripts can be invoked with the --help
flag for more information.
The MovieLens 100K Dataset was used for this project - see the data/ml-100k/
folder. (The 1M Dataset was also used, which can be found here).