This project is mirrored from https://github.com/tensorflow/federated.
Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer or owner.
Last successful update .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer or owner.
Last successful update .
- Oct 31, 2020
-
-
Keith Rush authored
PiperOrigin-RevId: 339961597
-
Galen Andrew authored
For now measurements are aggregated by SumFactory, but we will add support in the future for private measurements aggregation. Also: 1. Change state to OrderedDict (from tuple). 2. Change default zeroing norm order from np.inf to 2 for ease of transition between ZeroingFactory and ZeroingClippingFactory (which must use 2-norm), and use tf.linalg.global_norm if norm order is 2, for efficiency. PiperOrigin-RevId: 339908232
-
- Oct 30, 2020
-
-
Michael Reneer authored
PiperOrigin-RevId: 339805559
-
Keith Rush authored
PiperOrigin-RevId: 339804460
-
Keith Rush authored
PiperOrigin-RevId: 339801656
-
Jakub Konecny authored
PiperOrigin-RevId: 339684912
-
- Oct 29, 2020
-
-
Michael Reneer authored
This backend is a good place to construct contexts that can be used for testing. * Added a test backend. * Added an `execution_context` which can execute `federated_secure_sum` intrinsics. PiperOrigin-RevId: 339579125
-
Keith Rush authored
PiperOrigin-RevId: 339523983
-
- Oct 28, 2020
-
-
Keith Rush authored
PiperOrigin-RevId: 339382611
-
Zheng Xu authored
PiperOrigin-RevId: 339340854
-
Keith Rush authored
Certain TensorFlow APIs (e.g. C++ callable API) fail if feeds and fetches are identical. TFF introduces identity graphs in order to reason about invariants in its compilation to TensorFlow, and indeed passes them through directly in the case of compiling (x -> x) to TensorFlow. This change prevents feeds and fetches from being identical in these graphs. PiperOrigin-RevId: 339320146
-
Zachary Garrett authored
The API changed to request the factory, rather than the executor. PiperOrigin-RevId: 339291526
-
Zachary Garrett authored
PiperOrigin-RevId: 339278080
-
Keith Rush authored
PiperOrigin-RevId: 339271404
-
- Oct 27, 2020
-
-
Jakub Konecny authored
PiperOrigin-RevId: 339245271
-
Shanshan Wu authored
* Removes the complicated `tf.TensorArray`s and TF control flow in `build_personalize_fn`, and uses the simpler Python control flow. * Adds type annotations and module-level constants. * Improves the docstring. PiperOrigin-RevId: 339174601
-
Keith Rush authored
PiperOrigin-RevId: 339136371
-
Galen Andrew authored
Introduces ClippingFactory, ZeroingFactory, and ZeroingClippingFactory for aggregation after clipping/zeroing large values. PiperOrigin-RevId: 339116405
-
- Oct 23, 2020
-
-
Zachary Garrett authored
PiperOrigin-RevId: 338680584
-
Taylor Cramer authored
This also cleans up some other shared functionlity in form_utils and clarifies the ordering of (context_from_server, client_data) parameters in both broadcast-form-able computations and in `BroadcastForm.client_processing`. This aligns with `IterativeProcess`, but does not match `work`. PiperOrigin-RevId: 338553479
-
Keith Rush authored
PiperOrigin-RevId: 338499217
-
- Oct 22, 2020
-
-
Zachary Garrett authored
PiperOrigin-RevId: 338360194
-
Jason Roselander authored
Fixed bug in RemoteExecutor which could cause it to hang in streaming mode if the connection fails before messages are sent. PiperOrigin-RevId: 338284054
-
Keith Rush authored
PiperOrigin-RevId: 338282399
-
- Oct 21, 2020
-
-
Jakub Konecny authored
PiperOrigin-RevId: 338088240
-
Zachary Garrett authored
PiperOrigin-RevId: 338087663
-
Zheng Xu authored
PiperOrigin-RevId: 338076995
-
- Oct 20, 2020
-
-
Keith Rush authored
PiperOrigin-RevId: 337964148
-
Zachary Garrett authored
``` TypeError: Expected tensorflow.python.ops.variables.Variable, found tensorflow.python.keras.engine.base_layer_utils.TrackableWeightHandler. ``` PiperOrigin-RevId: 337961843
-
Keith Rush authored
PiperOrigin-RevId: 337958997
-
Zachary Garrett authored
Instead insert a `tf.function` decorator before (underneath) the `tff.tf_computation` decorator, and enter a `tf.init_scope` context during `tf.Variable` creation. The `tf.init_scope` hoists variable creation out of the `tf.function` to the nearest graph scope (provided by `tff.tf_comptuation`), which would otherwise result in an error from the the `tf.function` wrapper. More details on `tf.Variable` in `tf.function`: https://www.tensorflow.org/guide/function#variables Longer term, it may be nice to fold this automatic wrapping into the `tff.tf_computation` decorator, or re-introduce as `tff.tf2_computation`, however this requires all users to know they must use `tf.init_scope` during variable creation. Inside TFF packages (e.g. `tff.learning`) we can handle this for them, but its an extra point of concern for custom algorithm writers. PiperOrigin-RevId: 337935371
-
- Oct 17, 2020
-
-
Scott Wegner authored
Using `attr.s` classes as TFF type specifications has usability issues when used in conjunction with python static type checking. Mixing python type checking with TF and TFF types does not work well. This functionality will be removed in a future release. PiperOrigin-RevId: 337578239
-
Zachary Garrett authored
This enables support for Python 3.8, which changed behavior of `_asdict` to return regular `dict` types. https://docs.python.org/3/library/collections.html#collections.somenamedtuple._asdict PiperOrigin-RevId: 337559550
-
- Oct 16, 2020
-
-
Jakub Konecny authored
This change moves the `apply` method inside the `EstimationProcess` class, and renames it as `map`. It also updates the tests to be consistent with the pattern in the other processes in templates. PiperOrigin-RevId: 337424574
-
Galen Andrew authored
Adds DifferentiallyPrivateFactory, an AggregationProcessFactory for DPQueries from tensorflow_privacy. PiperOrigin-RevId: 337400971
-
- Oct 15, 2020
-
-
Taylor Cramer authored
This is a sibling to CanonicalForm which is intended to represent a new task type which involves only server work + broadcast + client work with no final aggregation. My hope is to reuse much of the existing CanonicalForm compilation infrastructure for compiling to this form (that is, sharing much of canonical_form_utils.py between both forms). An alternative approach would be to slightly extend and re-use CanonicalForm by adding a client output and checking to ensure that the arguments to the aggregation functions are empty structures. I'm not strongly opposed to that formulation, but have developed a weak preference for this approach in order to reduce overloading and layering of complexity on top of the existing system. My hope is that the approach taken in this CL will encourage work towards easier development of varied computation "shape" definitions. PiperOrigin-RevId: 337184931
-
- Oct 14, 2020
-
-
Zheng Xu authored
PiperOrigin-RevId: 337038042
-
Chunxiang (Jake) Zheng authored
Change the shape of "class" from [] to [1] PiperOrigin-RevId: 336980750
-
Taylor Cramer authored
Much of the existing complication was unnecessary since the change to make `intrinsics.federated_zip` recursive. PiperOrigin-RevId: 336967098
-
Keith Rush authored
Fixes pytype mismatch in optimizer_utils, adding extra typing info in federated_averaging and federated_sgd. PiperOrigin-RevId: 336957857
-