Privacy preserving deep learning for PyTorch
Project description
PyVacy: Privacy Algorithms for PyTorch
PyVacy provides custom PyTorch opimizers for conducting deep learning in a differentially private manner. Basically TensorFlow Privacy, but for PyTorch.
Getting Started
pip install pyvacy
Example Usage
import torch
from pyvacy import optim
from pyvacy.analysis import moments_accountant
model = torch.nn.Sequential(...)
optimizer = optim.DPSGD(
l2_norm_clip=...,
noise_multiplier=...,
batch_size=...,
lr=...,
momentum=...,
)
epsilon = moments_accountant.epsilon(
N=...,
batch_size=...
noise_multiplier=...,
epochs=...,
delta=...,
)
for epoch in range(epochs):
# do training as usual...
Tutorials
python tutorials/mnist.py
Training procedure achieves (3.0, 0.00001)-DP
[Epoch 1/60] [Batch 0/235] [Loss: 2.321049]
[Epoch 1/60] [Batch 10/235] [Loss: 0.952795]
[Epoch 1/60] [Batch 20/235] [Loss: 1.040896]
...
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pyvacy-0.0.31.tar.gz
(10.3 kB
view hashes)
Built Distribution
pyvacy-0.0.31-py3-none-any.whl
(12.4 kB
view hashes)