Skip to main content

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, analysis

model = torch.nn.Sequential(...)

optimizer = optim.DPSGD(
    l2_norm_clip=...,
    noise_multiplier=...,
    batch_size=...,
    lr=...,
    momentum=...,
)

epsilon = analysis.moments_accountant(
    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.32.tar.gz (10.3 kB view details)

Uploaded Source

File details

Details for the file pyvacy-0.0.32.tar.gz.

File metadata

  • Download URL: pyvacy-0.0.32.tar.gz
  • Upload date:
  • Size: 10.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.6

File hashes

Hashes for pyvacy-0.0.32.tar.gz
Algorithm Hash digest
SHA256 50e5242b720cc5ae075041107702231c3447716c39e0b364ee5490300cd87949
MD5 dcd2c0682be7c78fa4316da4a92ae149
BLAKE2b-256 ae1d8dd9852f225d471c4f7248cfd8c01f943c0f968299dd010245b28743ea54

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page