Skip to content

ebagdasa/pytorch-privacy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Differential Privacy in PyTorch

I used code from tf-privacy and the paper A General Approach to Adding Differential Privacy to Iterative Training Procedures.

This is a very basic implementation necessary for the quick start. There are two train commands: train for traditional training and train_dp for DP. You can see that train_dp has added clipping and noise to each computed gradient (gradients are not averaged over the batch at first).

To run it configure params.yaml and install libs: pip install requirements.txt and execute:

python training.py --params utils/params.yaml

The current result is 97.5% using noise multiplier 1.1 and S=1.

To count the epsilon value using RDP just use this code from the original repo:

!pip install tensorflow_privacy

from tensorflow_privacy.privacy.analysis import compute_dp_sgd_privacy
compute_dp_sgd_privacy.compute_dp_sgd_privacy(n=60000, batch_size=250, noise_multiplier=1.3, epochs=15, delta=1e-5)

Releases

No releases published

Packages

No packages published

Languages