This project is mirrored from https://github.com/tensorflow/federated. Pull mirroring failed .
Last successful update .
  1. 05 Nov, 2020 1 commit
    • Michael Reneer's avatar
      Fix PY 3.8 warning about using ABCs from `collections`. · c40e3083
      Michael Reneer authored
      Do not use or import the ABCs from `collections`, this is deprecated since Python 3.3, and in 3.9 it will stop working. These ABCs have moved to 'collections.abc' and should be used from this package.
      
      PiperOrigin-RevId: 340678321
      c40e3083
  2. 20 Oct, 2020 1 commit
    • Zachary Garrett's avatar
      Stop creating additional python functions wrapped in `tf.function` decorators. · 0e7c33dc
      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
      0e7c33dc
  3. 14 Oct, 2020 1 commit
  4. 07 Oct, 2020 1 commit
  5. 24 Sep, 2020 1 commit
  6. 04 Sep, 2020 1 commit
    • Zachary Garrett's avatar
      Introduce a standard output type for MeasuredProcess. · 5240d1db
      Zachary Garrett authored
      Otherwise writers can potentially chose key lookup (e.g. OrderedDict) or
      attribute lookup (attr.s, namedtuple) objects that both adhere to the TFF type
      specification but must be handled different by library writers.
      
      PiperOrigin-RevId: 329962347
      5240d1db
  7. 05 Aug, 2020 1 commit
  8. 25 Jul, 2020 1 commit
  9. 18 Jul, 2020 1 commit
    • Taylor Cramer's avatar
      Propagate container_type and include it in type equality checks. · 4ed574ab
      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
      4ed574ab
  10. 16 Jul, 2020 1 commit
  11. 25 Jun, 2020 1 commit
  12. 24 Jun, 2020 1 commit
    • Zachary Garrett's avatar
      Update `build_federated_averaging_process` and `build_federated_sgd_process`... · 380bace9
      Zachary Garrett authored
      Update `build_federated_averaging_process` and `build_federated_sgd_process` to return the full metrics suite.
      
      After this change, users of `tff.learning.build_federated_averaging_process`
      (and the FedSGD version) will receives a named tuple of three groups of metrics: broadcast, train, and aggregation.
      
      - `train` are the same metrics that were previously returned.
      - `broadcast` and `aggregation` are metrics for the broadcast and aggregatin
        process respectively. For example, an aggregation process might report
        metrics about the client updates and the aggregated update (e.g. the global
        norms).
      
      Previously these methods only extracted the training metrics to retain
      historical behavior. This change updates the methods and callsites to return
      the full metrics set (including those from the broadcast and aggregation
      processes).
      
      PiperOrigin-RevId: 317888544
      380bace9
  13. 19 Jun, 2020 1 commit
    • Zachary Garrett's avatar
      Extend the interface of `model_delta_optimizer_process` to accept the new... · cfe9d3e3
      Zachary Garrett authored
      Extend the interface of `model_delta_optimizer_process` to accept the new `tff.templates.MeasuredProcess` for broadcast and aggregate functions.
      
      Changes to `model_delta_optimizer_process`:
      - Wrap the previous `StatefulFn` arguments in `tff.templates.MeasuredProcess`
        and only use `MeasuredProcess` internally.
      - Change the metrics out put to be a namespace separated metrics concatenation:
        `train`, `broadcast` and `aggregation`.
      
      Changes to dependents on `model_delta_optimizer_process`:
      -  Change `bulid_federated_averaging_process` and `build_federated_sgd_process`
         to only output the `train` metrics to retain current behavior.
      -  Update clipping mean to zip its state on return. Future CLs will convert
         this to a `MeasuredProcess`.
      -  Remove default specification of broadcast in robust_federated_aggregation
         reserach.
      
      PiperOrigin-RevId: 317305758
      cfe9d3e3
  14. 09 Jun, 2020 1 commit
  15. 05 Jun, 2020 1 commit
  16. 28 May, 2020 1 commit
  17. 14 Apr, 2020 1 commit
  18. 14 Feb, 2020 1 commit
  19. 11 Feb, 2020 1 commit
  20. 05 Feb, 2020 1 commit
  21. 04 Feb, 2020 1 commit
  22. 03 Jan, 2020 1 commit
  23. 31 Dec, 2019 2 commits
  24. 17 Dec, 2019 1 commit
  25. 12 Dec, 2019 2 commits
    • A. Unique TensorFlower's avatar
      Automated rollback of commit 13c5a443 · 0fb8880a
      A. Unique TensorFlower authored
      PiperOrigin-RevId: 285116495
      0fb8880a
    • Zachary Garrett's avatar
      Don't rely on variable names for type signatures, as TF may invoke some · 13c5a443
      Zachary Garrett authored
      de-duplication strategy in non-eager mode.
      
      TF, under certain circumstances, prepends `_#` numbers to variables with the
      same name. This appears to happen in non-eager mode and in some occasions with
      Keras. TFF previously used these names for the type signature, which would
      cause problems when the same model was created more than once in the same graph
      context.
      
      Instead, rely on the ordering of the sequence of variables contained in the
      model and use the unnamed structure for types.
      
      PiperOrigin-RevId: 285032395
      13c5a443
  26. 26 Nov, 2019 1 commit
  27. 21 Nov, 2019 1 commit
  28. 16 Nov, 2019 2 commits
  29. 13 Nov, 2019 1 commit
  30. 29 Oct, 2019 1 commit
  31. 14 Jun, 2019 1 commit
  32. 12 Jun, 2019 1 commit
  33. 11 Jun, 2019 1 commit
  34. 25 May, 2019 1 commit
  35. 24 May, 2019 1 commit
  36. 14 May, 2019 1 commit
  37. 02 May, 2019 1 commit