Skip to content

Federated ranker privacy preserving personalization prototype.

License

Notifications You must be signed in to change notification settings

stoille/fed_rank

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Privacy Preserving Federated Ranker

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.

Getting Started

  1. Generate a self-signed certificate & key:
cd data
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365
  1. Run the server & client via:
python src/server.py
python src/client.py
  1. To run tests
python -m unittest discover tests