Commit graph

17 commits

Author SHA1 Message Date
Steve Chien
beb86c6e18 Update PrivacyLedger and DPOptimizer to make certain arguments optional.
PiperOrigin-RevId: 246235646
2019-05-01 18:07:32 -07:00
Galen Andrew
9106a04e2c Use PrivacyLedger for privacy accounting.
Prior to this change the PrivacyLedger is running to keep a log of private queries, but the ledger is not actually used to compute the (epsilon, delta) guarantees. This CL adds a function to compute the RDP directly from the ledger.

Note I did verify that the tutorial builds and runs with the changes and for the first few iterations prints the same epsilon values as before the change.

PiperOrigin-RevId: 241063532
2019-03-29 15:31:32 -07:00
Galen Andrew
6231d0802d Cleanup directory structure, add top-level imports and add normalized_query.
Moved query classes from dir optimizers into new dir dp_query. Added NormalizedQuery class for queries that divide the output of another query by a constant like GaussianAverageQuery.

PiperOrigin-RevId: 240167115
2019-03-25 10:21:04 -07:00
Steve Chien
b892d650cf Tests for Eager mode.
PiperOrigin-RevId: 236382269
2019-03-01 14:48:29 -08:00
Steve Chien
f37c9d1ea1 Use mean loss within each microbatch.
PiperOrigin-RevId: 233832864
2019-02-13 14:42:12 -08:00
Steve Chien
d75f1b80ba Fix copybara to limit some transformations to the beginning of the line.
PiperOrigin-RevId: 233151293
2019-02-08 16:55:57 -08:00
A. Unique TensorFlower
4d0ab48c35 Add privacy ledger.
The privacy ledger keeps a record of all sampling and query events for analysis post hoc by the privacy accountant.

PiperOrigin-RevId: 233094012
2019-02-08 11:21:43 -08:00
A. Unique TensorFlower
36d9959c19 internal change
PiperOrigin-RevId: 233093203
2019-02-08 11:17:09 -08:00
Galen Andrew
c8cb3c6b70 General cleanup.
1. Rename PrivateQuery to DPQuery.
2. Move construction of DPQuery to outside of optimizer.
3. Remove PrivateAverageQuery and PrivateSumQuery, and rename DPQuery's 'get_query_result' method to 'get_noised_result'. Rename private_queries.py to dp_query.py.
4. Remove thrice-replicated run_query function from the test classes and replace with a single function in new test_utils.py.
5. Add functions gaussian_sum_query_from_noise_multplier and gaussian_average_query_from_noise_multplier.

PiperOrigin-RevId: 230595991
2019-01-23 14:41:44 -08:00
Alex Pine
6c5c39c4f2 Created the optional unroll_microbatches parameter for the DpOptimizerClass as a workaround for b/122613513.
PiperOrigin-RevId: 229955297
2019-01-18 11:51:44 -08:00
Steve Chien
c30f6d776e Add test to ensure DP optimizers work with tf.estimator Estimators.
PiperOrigin-RevId: 228920704
2019-01-11 15:50:56 -08:00
schien
251d6298c6 Fix Python 3 compatibility issues
PiperOrigin-RevId: 228232503
2019-01-07 14:09:31 -08:00
Steve Chien
1689cf3a77
Revert "Fix Python 3 compatibility issues" 2019-01-07 13:44:35 -08:00
cclauss
d72378f913 Fix Python 3 compatibility issues 2018-12-24 03:55:12 +01:00
Steve Chien
1595ed3cd1 Project import generated by Copybara.
PiperOrigin-RevId: 226056146
2018-12-18 15:44:04 -08:00
Steve Chien
0af76c7b3d Update to allow bazel on tensorflow_privacy to work out of the box.
PiperOrigin-RevId: 225605386
2018-12-18 15:41:26 -08:00
Steve Chien
afb8189dba PiperOrigin-RevId: 224061027 2018-12-04 17:01:39 -08:00