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 .
- Jul 24, 2020
-
-
Taylor Cramer authored
Also migrates a handful of usage sites as necessary, and moves all users of `is_tuple` and co. to `is_struct`. PiperOrigin-RevId: 322865881
-
Michael Reneer authored
PiperOrigin-RevId: 322852416
-
- Jul 23, 2020
-
-
Keith Rush authored
PiperOrigin-RevId: 322718869
-
Zachary Garrett authored
- Migrate the train dataset preprocessing function into the iterative process, rather than part of dataset building the client data function. This is necessary to enable serialization of datasets for sending to remote workers. PiperOrigin-RevId: 322691112
-
Keith Rush authored
Additionally, introduces a simple ABC that FederatedComputationContext subclasses, to expose interface encoding attributes previously added to FederatedComputationContext. PiperOrigin-RevId: 322690886
-
Keith Rush authored
In particular, ensures computations never mask names from their parent scopes which are referenced in their bodies. PiperOrigin-RevId: 322683747
-
A. Unique TensorFlower authored
PiperOrigin-RevId: 322676927
-
Galen Andrew authored
PiperOrigin-RevId: 322649697
-
Michael Reneer authored
PiperOrigin-RevId: 322623726
-
Keith Rush authored
This should allow us to actually guarantee transformation to call-dominant form succeeds, that we can simply rely on intrinsic pattern-matching to pull called intrinsics out to the top-level let statement. PiperOrigin-RevId: 322601696
-
- Jul 22, 2020
-
-
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
-
Michael Reneer authored
PiperOrigin-RevId: 322458614
-
A. Unique TensorFlower authored
The dataset returns only a single element and cannot be unpacked. PiperOrigin-RevId: 322454423
-
Karan Singhal authored
This will require changing both the model and the model wrapper. PiperOrigin-RevId: 322443809
-
Keith Rush authored
PiperOrigin-RevId: 322436602
-
Galen Andrew authored
PiperOrigin-RevId: 322430991
-
Zachary Garrett authored
Update Text Generation tutorial to reflect changes in preservation of Python containers across all of TFF. Additionally: - Use more efficient concatenated dataset construction. - Reduce memory usage by using only two clients and a smaller shuffle buffer in the example. PiperOrigin-RevId: 322426556
-
Michael Reneer authored
PiperOrigin-RevId: 322423598
-
Zachary Charles authored
PiperOrigin-RevId: 322416866
-
Taylor Cramer authored
PiperOrigin-RevId: 322412852
-
Keith Rush authored
PiperOrigin-RevId: 322407034
-
Keith Rush authored
This change introduces a transformation which guarantees that any instances of a `Call` building block in its return value are either to a concrete function, or a call to a function accepted as a parameter to an uncalled function. By setting up this invariant, complexity in other transformations can be significantly reduced. PiperOrigin-RevId: 322402665
-
Zachary Garrett authored
`tf.data.Dataset` cannot yield `AnonymousTuple`, so it must have been constructed by TFF with an appropriate Python container already, so we don't need to do anything. PiperOrigin-RevId: 322402388
-
Zachary Charles authored
PiperOrigin-RevId: 322400322
-
Keith Rush authored
Binds references to remaining call construction sites in `ValueImpl`, cleans up tests depending on old behavior. PiperOrigin-RevId: 322394328
-
Scott Wegner authored
Fix error-checking logic for `get_canonical_form_for_iterative_process()` for `IterativeProcess`'s with no aggregation. The logic was previously failing for this case, but with a harder to grok error message. The previous logic had a slight bug in the branching logic, such that we would never hit the explicit `ValueError` in the final `else:` block. The tests were also incorrectly passing because they hit a different validation check: ``` ValueError: Expected an AST containing an intrinsic with the uri: federated_secure_sum, found none. ``` PiperOrigin-RevId: 322385240
-
Zachary Charles authored
PiperOrigin-RevId: 322377616
-
- Jul 21, 2020
-
-
Zachary Garrett authored
Also while were here, update to some more modern TFF coding practices: - Use `tff.learning.framework.ModelWeights` instead of a custom type. - Delete `from_tff_result` conversion helper, it is no longer needed. - Remove unused test helper methods. - Replace numpy dependency with TF ops. PiperOrigin-RevId: 322359152
-
Zachary Charles authored
PiperOrigin-RevId: 322264433
-
Galen Andrew authored
PiperOrigin-RevId: 322257637
-
Zachary Charles authored
PiperOrigin-RevId: 322256044
-
Zachary Charles authored
PiperOrigin-RevId: 322249517
-
Keith Rush authored
This is a pattern we have used frequently (e.g. in ReferenceResolvingExecutor's evaluate method) to persist more information in traces. Currently a little difficult to narrow down hotspots in serialization code. Additionally adds PyType annotations and cleans up the contracts a little bit, easier with this new factorization. PiperOrigin-RevId: 322246977
-
Zachary Garrett authored
This will preserve the returned container value, making it usable with utilities such as `tf.nest`. PiperOrigin-RevId: 322236441
-
Taylor Cramer authored
- Remove use of `tff.NamedTupleType` and use Python containers and avoid exposing AnonymousTuple. - Add handling of `tff.SequenceType` to type conversion code. - Change ReferenceExecutor to convert values unconditionally. PiperOrigin-RevId: 322232543
-
Zachary Garrett authored
PiperOrigin-RevId: 322178848
-
- Jul 18, 2020
-
-
Taylor Cramer authored
Previously, NamedTupleTypeWithPyContainerType was often lost and turned into a NamedTupleType without the container. This resulted in users being given AnonymousTuples when a more specific container should have been returned. This change fixes a large number of sites where container types were lost, and adjusts usage sites as appropriate, including the removal of `from_tff_result` functions. This change also makes the `__eq__` function for `NamedTupleTypeWithPyContainerType` require equivalent container types, rather than just equivalent field structure. Call sites that wished to compare only field structure are adjusted to use `Type.{is, check}_equivalent_to`. PiperOrigin-RevId: 321883012
-
Weikang Song authored
PiperOrigin-RevId: 321852405
-
Zachary Garrett authored
stackoverflow so it can be passed to the iterative process. Make shuffling conidition on the buffer size. PiperOrigin-RevId: 321846124
-
Zachary Garrett authored
Extend iterative process builder and the LR scheduling iterative process to accept an optional"datasset preprocessing computation. This allows for pushing the dataset preprocessing methods down to the client executors, which is required for multimachine simulations since stateful datasets (e.g. datasets which suffling) cannot be serialized. PiperOrigin-RevId: 321835968
-