npapernot
b1f1c47cae
more lint
2019-07-29 22:15:52 +00:00
npapernot
ed93cf6f44
more lint
2019-07-29 22:09:21 +00:00
npapernot
32c76e588a
more lint
2019-07-29 22:00:53 +00:00
npapernot
ddf17c9091
more lint
2019-07-29 21:55:14 +00:00
npapernot
f06443d50e
more lint
2019-07-29 21:43:19 +00:00
npapernot
33c3f058ac
conflicts in models
2019-07-29 21:34:02 +00:00
npapernot
034ae8fea4
conflicts in models test
2019-07-29 21:29:03 +00:00
npapernot
d10d7b0148
conflicts in opt test
2019-07-29 21:27:54 +00:00
npapernot
19ce36777d
format fixes
2019-07-29 21:20:40 +00:00
Christopher Choquette Choo
71c4a11eb9
Fixing new pylint errors.
2019-07-27 14:14:05 -04:00
Christopher Choquette Choo
92f97ae32c
Fixing missing args.
2019-07-27 13:54:19 -04:00
npapernot
0317ce8077
print
2019-07-25 16:17:56 +00:00
npapernot
8974a95b9a
more fixes
2019-07-25 16:13:32 +00:00
npapernot
8e6bcf9b4a
many fixes
2019-07-25 15:37:54 +00:00
npapernot
fe90e3c596
readme fixes - more
2019-07-25 14:44:21 +00:00
npapernot
d0ef1b380c
readme fixes
2019-07-25 14:38:37 +00:00
Christopher Choquette Choo
9b08c163e0
Merge pull request #5 from georgianpartners/bolton
...
Adding README to explain Bolton Module.
2019-07-22 11:31:09 -04:00
Christopher Choquette Choo
968ea70060
Fixing typos.
2019-07-22 11:30:55 -04:00
Christopher Choquette Choo
7785436cf3
Minor changes to README
2019-07-22 11:30:29 -04:00
Christopher Choquette Choo
0082c9ba76
Minor doc change and adding README file explaining Bolton Method.
2019-07-22 11:27:53 -04:00
Christopher Choquette Choo
5857e838ba
Merge pull request #4 from georgianpartners/bolton
...
Ensuring pylint is 10/10
2019-07-18 15:07:52 -04:00
Christopher Choquette Choo
c05c2aa0d4
Ensuring pylint is 10/10
2019-07-18 15:04:35 -04:00
Christopher Choquette Choo
eab43e8294
Merge pull request #3 from georgianpartners/bolton
...
Code review changes
2019-07-16 20:02:31 -04:00
Christopher Choquette Choo
b03eb6914b
Code review changes: Fixed doc string spacing, copyrighting, and changed the jupyter file to a python script.
2019-07-16 10:33:57 -04:00
cchoquette
0b244f0e47
Working bolton model without unit tests. ( #1 )
...
Bolton implementation including:
- Bolton Model wrapper for using Bolton method
- Bolton Optimizer encompassing all privacy components
- Introduction of Strongly Convex Loss functions with 2 pre-implemented
- Unit tests for the above.
2019-06-19 11:21:50 -04:00
Christopher Choquette Choo
3080b654b5
Minor changes to function arguments
2019-06-19 11:18:42 -04:00
Christopher Choquette Choo
b120d9c5d8
Changes for pylint.
2019-06-19 11:14:02 -04:00
Christopher Choquette Choo
56e16f0a15
Minor changes + tutorial
2019-06-19 11:04:18 -04:00
cchoquette
738a7ee8e4
Merge pull request #2 from tensorflow/master
...
Logistic regression for mnist with new privacy analysis.
2019-06-19 10:51:11 -04:00
Christopher Choquette Choo
f41be2c598
Bolton implementation and unit tests. Has two pre-implemented loss functions.
2019-06-19 10:46:30 -04:00
Christopher Choquette Choo
ed7fa73a99
Update Huber loss regularization term and some small changes across loss parameters.
2019-06-17 14:46:04 -04:00
Christopher Choquette Choo
935d6e8480
Bolton created as optimizer with context manager usage.
...
Unit tests included.
Additional loss functions TBD.
2019-06-17 13:25:30 -04:00
Christopher Choquette Choo
ec18db5ec5
Working bolton model without unit tests.
...
-- moving to Bolton Optimizer
Model is now just a convenient wrapper and example for users.
Optimizer holds ALL Bolton privacy requirements.
Optimizer is used as a context manager, and must be passed the model's layers.
Unit tests incomplete, committing for visibility into the design.
2019-06-13 01:01:31 -04:00
A. Unique TensorFlower
2b97c7c735
Logistic regression for mnist with new privacy analysis.
...
PiperOrigin-RevId: 252743967
2019-06-11 18:58:56 -07:00
Christopher Choquette Choo
751eaead54
Working bolton model without unit tests.
...
-- update to include pull request changes
changes include:
parameter renaming,
changing to mixin,
moving model to compile,
additional tests,
fixing huber loss
2019-06-10 16:11:47 -04:00
Christopher Choquette Choo
5f46927747
Working bolton model without unit tests.
2019-06-05 17:06:02 -04:00
Galen Andrew
d5dcfec745
Remove set_denominator functions from DPQuery and make QueryWithLedger easier to use.
...
set_denominator was added so that the batch size doesn't need to be specified before constructing the optimizer, but it breaks the DPQuery abstraction. Now the optimizer uses a GaussianSumQuery instead of GaussianAverageQuery, and normalization by batch size is done inside the optimizer.
Also instead of creating all DPQueries with a PrivacyLedger and then wrapping with QueryWithLedger, it is now sufficient to create the queries with no ledger and QueryWithLedger will construct the ledger and pass it to all inner queries.
PiperOrigin-RevId: 251462353
2019-06-04 10:14:32 -07:00
Galen Andrew
7636945566
Cast to ensure record of NoPrivacyAverageQuery is float for compatibility with sample_state.
...
PiperOrigin-RevId: 249909614
2019-05-24 15:28:39 -07:00
Steve Chien
15c07250a1
Add dtype=tf.int32 to TensorBuffer capacity and current size.
...
PiperOrigin-RevId: 249908717
2019-05-24 15:22:43 -07:00
Nicolas Papernot
a06bc6c99b
fix imports for v1 and make the versioning more explicit through LooseVersion
...
PiperOrigin-RevId: 249732562
2019-05-23 15:57:08 -07:00
Ilya Mironov
0efb23afcb
Changing initial capacity for the ledger to smaller values. (+ restoring compatibility with Python 2)
...
PiperOrigin-RevId: 249292683
2019-05-21 11:38:27 -07:00
Ilya Mironov
a94dc626b1
Specifying minimal TF version required (currently 1.13, due to dependency on the train module).
...
PiperOrigin-RevId: 248809713
2019-05-17 16:39:48 -07:00
Galen Andrew
7992006077
Add quantile_adaptive_clip_sum_query to privacy package.
...
PiperOrigin-RevId: 248617353
2019-05-16 15:56:16 -07:00
Galen Andrew
3908429796
Make DPQuery classes (almost) completely functional: the only state from the initializer that is used gets pushed into the initial_global_state.
...
PiperOrigin-RevId: 248424593
2019-05-15 16:06:37 -07:00
Steve Chien
17fefb3895
Remove tf.function annotation from quantile_adaptive_clip_sum_query.py that was causing import error.
...
PiperOrigin-RevId: 248236331
2019-05-14 16:40:55 -07:00
Galen Andrew
aaf029edad
Add quantile_adaptive_clip_sum_query which dynamically adjusts the clipping norm so a specified fraction of records per sample are clipped.
...
PiperOrigin-RevId: 248201320
2019-05-14 13:35:29 -07:00
Galen Andrew
1d1a6e087a
Extensions to DPQuery and subclasses.
...
1. Split DPQuery.accumulate_record function into preprocess_record and accumulate_preprocessed_record.
2. Add merge_sample_state function.
3. Add default implementations for some functions in DPQuery, and add base class SumAggregationDPQuery that implements some more. Only get_noised_result is still abstract.
4. Enforce that all states and parameters used as inputs and outputs to DPQuery functions are nested structures of tensors by replacing numbers with constants and Nones with empty tuples.
PiperOrigin-RevId: 247975791
2019-05-13 11:28:56 -07:00
Steve Chien
82852c0e71
Add comments explaining the relationship between ML terminology and DP terminology.
...
PiperOrigin-RevId: 246926753
2019-05-06 17:12:24 -07:00
Ilya Mironov
9cece21d92
Clean-up pass to eliminate warnings: replacing deprecated endpoints with recommended versions and annotating test sizes.
...
PiperOrigin-RevId: 246901723
2019-05-06 14:50:23 -07:00
Ilya Mironov
85280ab568
Removing max_samples and max_queries from the tutorial.
...
PiperOrigin-RevId: 246850557
2019-05-06 10:30:35 -07:00