Skip to main content

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]
...

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.

Release history Release notifications | RSS feed

This release

0.0.32 This release

1 file

0.0.31

2 files

0.0.3

1 file

0.0.2

1 file

0.0.1

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page