Proof of concept privacy preserving collaborative filtering recommendation system. Building on Tensorflow Federated, the server and client independently train their own Matrix Factorization models, using only a subset of shared latent factors. The server aggregates client model updates and averages them into the global model that future clients will use.
- Generate a self-signed certificate & key:
cd data
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365
- Run the server & client via:
python src/server.py
python src/client.py
- To run tests
python -m unittest discover tests