This project is mirrored from https://github.com/tensorflow/federated.
Pull mirroring failed .
Last successful update .
Last successful update .
- 14 Aug, 2021 1 commit
-
-
Taylor Cramer authored
PiperOrigin-RevId: 390627213
-
- 24 Jul, 2021 1 commit
-
-
Michael Reneer authored
PiperOrigin-RevId: 386503038
-
- 19 Jun, 2021 1 commit
-
-
Taylor Cramer authored
PiperOrigin-RevId: 380228493
-
- 15 Jun, 2021 1 commit
-
-
Taylor Cramer authored
This change unblocks the introduction of `federated_secure_sum` with a maximum value rather than a bitwidth, as well as the introduction of `federated_secure_modular_sum` with an integer modulus. CL automatically created by: ``` replace_string \ 'federated_secure_sum' \ 'federated_secure_sum_bitwidth' ``` PiperOrigin-RevId: 379380586
-
- 30 Apr, 2021 1 commit
-
-
Jakub Konecny authored
PiperOrigin-RevId: 371258358
-
- 27 Apr, 2021 1 commit
-
-
Krzysztof Ostrowski authored
PiperOrigin-RevId: 370596723
-
- 26 Apr, 2021 1 commit
-
-
Michael Reneer authored
This change is intended reduce the depth of the package structure and make it easier to determine what is part of the public API by taking steps to removing the split in the `api` and `impl` packages. PiperOrigin-RevId: 370373365
-
- 22 Apr, 2021 1 commit
-
-
Michael Reneer authored
This change is intended reduce the depth of the package structure and make it easier to determine what is part of the public API by taking steps to removing the split in the `api` and `impl` packages. PiperOrigin-RevId: 369718296
-
- 10 Apr, 2021 1 commit
-
-
Taylor Cramer authored
PiperOrigin-RevId: 367721827
-
- 09 Apr, 2021 1 commit
-
-
Taylor Cramer authored
PiperOrigin-RevId: 367525911
-
- 08 Apr, 2021 2 commits
-
-
Zachary Garrett authored
Remove the `tff.utils` package now that it contains nothing. PiperOrigin-RevId: 367275852
-
Taylor Cramer authored
This change introduces federated_select and its secure counterpart as new intrinsics. As of this change, federated_select is still not supported by any TFF backend (mapreduce, reference, or execution). The purpose of this change is to solidify the API for federated_select and unblock efforts to begin simulating federated_select for research use. Note that federated_select and federated_secure_select are exposed as separate intrinsics rather than a single intrinsic whose behavior is configurable in the backend, or as a single intrinsic with a boolean parameter. The former approach would not allow for easy simultaneous use of federated_select and federated_secure_select in the same computation, which may be useful when selecting based on private data in some places and non-private data in others. The latter approach (a boolean parameter) could suggest to users that they should parameterize their own code based on a "secure" boolean, which is undesirable; such indirection could make it harder to tell whether secure selection is being used in a particular location. Additionally, keeping `federated_secure_select` as a separate function will make it easier to modify if it turns out that `federated_secure_select` or `federated_select` should offer additional non-shared parameters. PiperOrigin-RevId: 367265514
-
- 02 Apr, 2021 1 commit
-
-
Michael Reneer authored
* Deleted the `api/placement` module. * Updated to use the `impl/types/placements` module. PiperOrigin-RevId: 366320097
-
- 26 Mar, 2021 1 commit
-
-
Taylor Cramer authored
There was a not-insignificant amount of code involved in providing this intrinsic. However, it isn't being used at all, in particular because it isn't possible to use in production (where multi-layered aggregation is a requirement). Instances of federated_reduce that use an associative binary accumulate operator can be easily transitioned to federated_aggregate, as was already done in the _federated_reduce_with_func helper in federated_aggregations.py. PiperOrigin-RevId: 365091411
-
- 19 Mar, 2021 1 commit
-
-
Taylor Cramer authored
and clarify that it supports more than just tf.Tensor leaf values. PiperOrigin-RevId: 363722140
-
- 16 Mar, 2021 1 commit
-
-
Taylor Cramer authored
PiperOrigin-RevId: 362566458
-
- 11 Mar, 2021 1 commit
-
-
Taylor Cramer authored
This function allows users to create values of a given tensor type structure, wrapping correctly in the desired Python container. This can be used to, for example, create a structure of zeroes for a given TFF type. PiperOrigin-RevId: 362177848
-
- 18 Dec, 2020 1 commit
-
-
Michael Reneer authored
PiperOrigin-RevId: 348084727
-
- 26 Nov, 2020 1 commit
-
-
Michael Reneer authored
PiperOrigin-RevId: 344310585
-
- 13 Nov, 2020 1 commit
-
-
Michael Reneer authored
PiperOrigin-RevId: 342128507
-
- 29 Sep, 2020 1 commit
-
-
Taylor Cramer authored
`tff.type_at_server` and `tff.type_at_clients` are a proposed solution to the ergonomic issues of `tff.FederatedType(..., tff.CLIENTS)` and `tff.FederatedType(..., tff.SERVER)`. PiperOrigin-RevId: 334260423
-
- 15 Sep, 2020 1 commit
-
-
Taylor Cramer authored
PiperOrigin-RevId: 331651419
-
- 12 Sep, 2020 1 commit
-
-
Taylor Cramer authored
This was requested in order to ensure that TFF computations return the correct type. PiperOrigin-RevId: 331248988
-
- 25 Aug, 2020 1 commit
-
-
Zachary Garrett authored
PiperOrigin-RevId: 328146354
-
- 15 Aug, 2020 1 commit
-
-
Michael Reneer authored
PiperOrigin-RevId: 326773993
-
- 13 Aug, 2020 1 commit
-
-
Michael Reneer authored
* Removed duplicate symbols. * Moved initializing a default execution context to the top level package. * Removed the circular Python import guards. PiperOrigin-RevId: 326065490
-
- 25 Jul, 2020 1 commit
-
-
Taylor Cramer authored
PiperOrigin-RevId: 323066096
-
- 22 Jul, 2020 1 commit
-
-
Taylor Cramer authored
This change moves and renames `AnonymousTuple` and its `Type`-based brethren. It re-exports the new types under the old names to allow for a more gradual transition to the new API. PiperOrigin-RevId: 322477504
-
- 28 May, 2020 1 commit
-
-
Michael Reneer authored
PiperOrigin-RevId: 313409513
-
- 14 Apr, 2020 1 commit
-
-
Michael Reneer authored
Added a new `tensorflow_docs` public filter and removed the `_allowed_symbols` variables from the TFF packages. PiperOrigin-RevId: 306446724
-
- 09 Apr, 2020 1 commit
-
-
Michael Reneer authored
PiperOrigin-RevId: 305688076
-
- 07 Apr, 2020 1 commit
-
-
Michael Reneer authored
This package contains functions and utilities that can make testing usage of TFF easier or more convenient and parallels the `tf.test` package. PiperOrigin-RevId: 305108997
-
- 19 Feb, 2020 1 commit
-
-
Michael Reneer authored
PiperOrigin-RevId: 295827969
-
- 13 Feb, 2020 1 commit
-
-
Michael Reneer authored
* Moved class and tests to `templates` package. * Renamed usage of `computation_utils.IterativeProcess` in TFF to the new module. PiperOrigin-RevId: 294680342
-
- 08 Feb, 2020 2 commits
-
-
Michael Reneer authored
PiperOrigin-RevId: 293915901
-
Taylor Cramer authored
This intrinsic is similar to federated_value, but accepts a no-argument lambda rather than an unplaced value. This will clarify the behavior of the intrinsic (eval on all clients separately rather than eval and then broadcast), and unblocks the effort to ban unplaced values. PiperOrigin-RevId: 293898477
-
- 23 Jan, 2020 1 commit
-
-
Michael Reneer authored
This change is part one of three: 1. Add `secure_sum` intrinsic to TFF. 2. Update transformations to support the `secure_sum` intrinsic. 3. Update canonical form to support the `secure_sum` intrinsic. Here is an example using the API: ```python @computations.federated_computation def init_fn(): """The `init` function for `computation_utils.IterativeProcess`.""" return intrinsics.federated_value([0, 0], placements.SERVER) @computations.tf_computation(tf.int32, tf.int32], tf.int32]]) def work(client_data, client_input): del client_data # Unused del client_input # Unused return [1, 1] @computations.federated_computation([ computation_types.FederatedType([tf.int32, tf.int32], placements.SERVER), computation_types.FederatedType(tf.int32, placements.CLIENTS), ]) def next_fn(server_state, client_data): """The `next` function for `computation_utils.IterativeProcess`.""" client_input = intrinsics.federated_broadcast(server_state) c3 = intrinsics.federated_zip([client_data, client_input]) client_updates = intrinsics.federated_map(work, c3) federated_update = intrinsics.federated_sum(client_updates[0]) secure_update = intrinsics.secure_sum(client_updates[1], 8) new_server_state = intrinsics.federated_zip([federated_update, secure_update]) server_output = intrinsics.federated_value([], placements.SERVER) return new_server_state, server_output ip = computation_utils.IterativeProcess(init_fn, next_fn) ``` PiperOrigin-RevId: 290988239
-
- 10 Jan, 2020 1 commit
-
-
Taylor Cramer authored
PiperOrigin-RevId: 288970729
-
- 31 Dec, 2019 1 commit
-
-
Michael Reneer authored
PiperOrigin-RevId: 287599572
-
- 21 Nov, 2019 1 commit
-
-
A. Unique TensorFlower authored
PiperOrigin-RevId: 281648811
-