This project is mirrored from https://github.com/tensorflow/federated. Pull mirroring failed .
Last successful update .
  1. 31 Jan, 2023 2 commits
  2. 28 Jan, 2023 2 commits
  3. 27 Jan, 2023 1 commit
  4. 26 Jan, 2023 4 commits
  5. 25 Jan, 2023 9 commits
  6. 24 Jan, 2023 11 commits
    • Michael Reneer's avatar
      Enabled and fixed python type annotations in some modules in the `executors` package. · 34a03957
      Michael Reneer authored
      This revealed two Python typing-related issues:
      1. Every subclass of `executor_base.Executor` was using a property on the corresponding subclass of `executor_value_base.ExecutorValue` without having access to that property. This was fixed by:
      2. The methods on the subclasses of `federating_executor.FederatingStrategy` (`FederatedComposingStrategy` and `FederatedResolvingStrategy`) were annotated to return types specific to that subclass. This return type conflicted with the return types of the shared implementations defined in `executor_utils`.
      3. The type annotation of `target_executors` parameter of `FederatedResolvingStrategy` was incorrect.
      
      * Enabled pytype in the following modules:
          * `federated_composing_strategy`
          * `federated_resolving_strategy`
          * `federating_executor`
          * `reference_resolving_executor`
          * `remote_executor`
          * `thread_delegating_executor`
          * `value_serialization`
      
      To fix issue #1:
      
      * Promoted the `reference` property from the subclasses of `executor_value_base.ExecutorValue` to `executor_value_base.ExecutorValue`.
      * Renamed usage of this API to be consistent.
      
      To fix issue #2:
      
      * Updated the methods on the subclasses of `federating_executor.FederatingStrategy` (`FederatedComposingStrategy` and `FederatedResolvingStrategy`) to accept and return `executor_value_base.ExecutorValue` types.
      
      Note: That this does make the return types more generic, but I believe this is the intended interface. An alternative fix could be to update the `executor_utils` function to take and return `TypeVar`'s (i.e. generic functions). However, I don't think this is the intended interface.
      
      To fix issue #3:
      
      * Updated the type annotation of the `target_executors` parameter to `dict[placements.PlacementLiteral, Union[list[executor_base.Executor], executor_base.Executor]]`.
      
      PiperOrigin-RevId: 504114859
      34a03957
    • Shanshan Wu's avatar
      Increment the version and add release notes. · 085e5d86
      Shanshan Wu authored
      PiperOrigin-RevId: 504091659
      085e5d86
    • Michael Reneer's avatar
      Enable and fix some python type annotations in the `compiler` package. · 67434204
      Michael Reneer authored
      PiperOrigin-RevId: 504081415
      67434204
    • Michael Reneer's avatar
      Fix `line-too-long` lint errors in the `compiler` package. · 0e0c208d
      Michael Reneer authored
      PiperOrigin-RevId: 504069777
      0e0c208d
    • Zachary Garrett's avatar
      Prepare for adding the C++ XLa execution context to the public API. · ca77b4a5
      Zachary Garrett authored
      The C++ XLA executor does yet handle `federated_sum` and `federated_mean` intrinsics or unplaced literal values, so this also refactors tests to use work arounds:
      
      - Implement all aggregations in terms of `federated_aggregate` with XLA computations.
      - Wrap all literals in no-arg XLA computations that are immediately called.
      
      PiperOrigin-RevId: 504046551
      ca77b4a5
    • A. Unique TensorFlower's avatar
      Add helper function for upcoming divisive split logic. · 36792409
      A. Unique TensorFlower authored
      PiperOrigin-RevId: 504015530
      36792409
    • Michael Reneer's avatar
      Remove the `compiler_fn` parameter from the high level `foo_mergeable_execution_context` functions. · 54388d7e
      Michael Reneer authored
      These functions are supposed to be high level convenience functions. If you need to change the executor or compiler of this contexts, you are probably a "power user" and should manually construct an execution context for your purpose.
      
      PiperOrigin-RevId: 504015371
      54388d7e
    • Zachary Garrett's avatar
      Extend JAX/XLA serialization to preserve the Python containers as additional... · fd72a2cc
      Zachary Garrett authored
      Extend JAX/XLA serialization to preserve the Python containers as additional annotations on structure types.
      
      PiperOrigin-RevId: 504012748
      fd72a2cc
    • Zachary Garrett's avatar
      Register the `_XlaSerializerStructArg` class with `jax.tree_util`. · 6ec1aca6
      Zachary Garrett authored
      Even though the baseclass `Struct` is registered, this does not appear to be
      inherited by subclasses. This is required to flatten structured arguments during jax serialization,
      otherwise flatten stops when it encounters a `_XlaSerializerStructArg` typed value, when it should flatten to lists of `_XlaSerializerTensorArg`s.
      
      PiperOrigin-RevId: 504003136
      6ec1aca6
    • Michael Reneer's avatar
      Align the context types allowed by the `tff.program.NativeFederatedContext`... · b4ecb8d4
      Michael Reneer authored
      Align the context types allowed by the `tff.program.NativeFederatedContext` and the `tff.program.PrefetchingDataSource`.
      
      PiperOrigin-RevId: 504002913
      b4ecb8d4
    • Zachary Garrett's avatar
      Add support for sequence intrinsics to the C++ XLA execution context. · 085cafec
      Zachary Garrett authored
      Adds a ReferenceResolvingExecutor after the SequenceExecutor to resolve lambdas
      inside sequence intrinsics. This uncovers a bug in the FederatingExecutor where
      non-federated intrinsics raise an error and fail computation when they should
      be forwarded to the unplaced child executor.
      
      PiperOrigin-RevId: 503993984
      085cafec
  7. 21 Jan, 2023 1 commit
  8. 20 Jan, 2023 2 commits
  9. 19 Jan, 2023 6 commits
  10. 18 Jan, 2023 2 commits