Skip to content

Releases: google-parfait/tensorflow-federated

TensorFlow Federated 0.38.0

17 Oct 19:55
Compare
Choose a tag to compare
Pre-release

Release 0.38.0

Major Features and Improvements

  • Added tff.learning.models.FunctionalModel support to
    tff.learning.algorithms.build_mime_lite.
  • Updated tensorflow-privacy to version 0.8.6.
  • Added an abstract interface describing an asynchronous context
  • Removed references to tff.framework.Context.
  • Added tff.simulation.datasets.gldv2.get_synthetic.
  • Added prefetching data source in tff.program.PrefetchingDataSource.

Breaking Changes

  • Deleted deprecated
    tff.learning.framework.build_encoded_broadcast_process_from_model.
  • Deprecated tff.learning.ModelWeights and alias
    tff.learning.framework.ModelWeights, has now moved to
    tff.learning.models.ModelWeights. Code should be updated before the next
    release.

Bug Fixes

  • Fixed a bug with variable creation order of metrics in
    tff.learning.models.functional_model_from_keras.
  • Improved tff.tf_computation tracing to also trace functools.partial
    objects.

Known Bugs

  • Colab compatibility: TFF requires Python 3.9 while Colab runtime uses Python
    3.7.

TensorFlow Federated 0.37.0

04 Oct 17:52
Compare
Choose a tag to compare
Pre-release

Release 0.37.0

Major Features and Improvements

  • Added support for Python 3.10.
  • Improved support for numpy values in the tff.program API.
  • Increased dataset serialization size limit to 100MB.
  • Added a new method tff.learning.ModelWeights.convert_variables_to_arrays.
  • Added new metrics aggregation factories under tff.learning.metrics.
  • Parallelized aggregation in tff.framework.ComposingExecutorFactory.

Breaking Changes

  • Updated to use jax and jaxlib version 0.3.14.
  • Renamed tff.program.CoroValueReference to
    tff.program.AwaitableValueReference to reflect the relaxed contract.

Bug Fixes

  • Improved documentation for tff.simulation.build_uniform_sampling_fn,
    tff.learning.robust_aggregator,
    tff.aggregators.PrivateQuantileEstimationProcess.
  • Fixed documentation bug for tutorial “High-performance Simulation with
    Kubernetes”.
  • Fixed bug where momentum hyperparameters were added to SGDM optimizer when
    momentum was set to 0.
  • Removed assertion that preprocessed datasets in a
    tff.simulation.baselines.BaselineTask have the same element structure.
  • Fixed a memory leak when moving numpy arrays across the Python and C++
    boundary in the C++ executor.
  • Fixed bug in the federated program API when using multiple release managers
    to release the same value.

Thanks to our Contributors

This release contains contributions from many people at Google, as well as:
Madhava Jay, nbishdev@

TensorFlow Federated 0.36.0

16 Sep 18:47
Compare
Choose a tag to compare
Pre-release

Release 0.36.0

Major Features and Improvements

  • Added support for tff.learning.models.FunctionalModel to
    tff.learning.algorithms.build_fed_sgd and
    tff.learning.algorithms.build_fed_prox.
  • Increased the gRPC message limit from 1 GB to 2 GB.
  • Added hyperparameter getters/setters to various components in tff.learning.

Breaking Changes

  • Updated tensorflow to version 2.10.

Bug Fixes

  • Improved documentation for
    tff.analytics.heavy_hitters.iblt.build_iblt_computation().
  • Fixed incorrect docstring of tff.federated_select.
  • Fixed typo in federated program example.

TensorFlow Federated 0.35.0

14 Sep 18:16
Compare
Choose a tag to compare
Pre-release

Release 0.35.0

Major Features and Improvements

  • Added get/set_hparams methods to tff.learning.templates.ClientWorkProcess.
  • Added tff.learning.algorithms.build_mime_lite_with_optimizer_schedule.
  • Updated tensorflow-privacy to version 0.8.5.
  • Added tff.learning.entropy_compression_aggregator.
  • Added tff.aggregators.EliasGammaEncodedSumFactory.
  • Added tff.program.ClientIdDataSource and
    tff.program.ClientIdDataSourceIterator, for working with a data source of
    ids of federated clients.

Breaking Changes

  • Removed prototype IREE backend.
  • Added new dependency on TensorFlow Compression.

Bug Fixes

  • Fixed implementation of the loading_remote_data tutorial.
  • Corrected the docstring of
    tff.simulation.datasets.stackoverflow.get_synthetic.

Known Bugs

  • TFF's Python 3.9 typing conflicts with Colab's Python 3.7 runtime.

TensorFlow Federated 0.34.0

25 Aug 15:26
Compare
Choose a tag to compare
Pre-release

Release 0.34.0

Major Features and Improvements

  • Updated to use Bazel version 5.3.0.
  • Updated the conventions used to specify the version of a Python dependency,
    see https://github.com/tensorflow/federated/blob/main/requirements.txt for
    more information.
  • Updated the setup.py to explicitly fail to pip install in Python 3.10.
    This has always been failing at runtime, but now explicitly fails to install
    using pip.
  • Refreshed loading_remote_data notebook content and added content for
    FederatedDataSource.
  • Added a TFF type_signature attribute to objects of type MapReduceForm.
  • Added a series of slides to the GitHub repo (so not part of the PIP package) which detail a technical
    deep dive into TFF.

Breaking Changes

  • Bumped tf-privacy version to 0.8.4.
  • Bumped tf-model-optimization version to 0.8.3.
  • Removed initialize from MapReduceForm.
  • SequenceType now automatically casts any StructWithPythonType that
    contains a list to a tuple for tf.data compatibility.
  • Unified the model_fn and model parameters of
    tff.learning.algorithms.build_weighted_fed_avg.
  • MapReduceForm now takes a type_signature argument in its constructor,
    and no longer takes an initialize argument.
  • MapReduceForm no longer contains an initialize attribute.

Bug Fixes

  • Relaxed overly strict type equivalence check to assignability in TFF-TF code
    generation.

TensorFlow Federated 0.33.0

08 Aug 19:40
Compare
Choose a tag to compare
Pre-release

Release 0.33.0

Major Features and Improvements

  • Extend tff.analytics.heavy_hitters.iblt with create_chunker API for
    encoding non-Unicode strings.
  • Extend tff.aggregators.DifferentiallyPrivateFactory.tree_aggregation with
    an optional record_aggregation_factory argument.

Breaking Changes

  • Replaced ModularClippingSumFactory with SecureModularSumFactory in
    tff.analytics.build_hierarchical_histogram_process.

Known Bugs

  • TFF's python 3.9 typing conflicts with Colab's Python 3.7 support.

TensorFlow Federated 0.32.0

01 Aug 16:22
Compare
Choose a tag to compare
Pre-release

Release 0.32.0

Major Features and Improvements

  • Add a MimeLite implementation that allows from optimizer learning rate
    scheduling in
    tff.learning.algorithms.build_mime_lite_with_optimizer_schedule.

Breaking Changes

  • None

Bug Fixes

  • None

Known Bugs

  • TFF's python 3.9 typing conflicts with Colab's Python 3.7 support.

TensorFlow Federated 0.31.0

27 Jul 22:41
Compare
Choose a tag to compare
Pre-release

Release 0.31.0

Major Features and Improvements

  • Added ReleaseManagers to make authoring program logic more convenient.
  • Updated TFFs attrs dependency to version 21.4.0.
  • Update TFFs tensorflow-privacy dependency to version 0.8.1.

Breaking Changes

  • Changed tff.learning.BatchOutput from an attrs class to a namedtuple.
  • Removed unused tff.learning.framework.parameter_count_from_model API.

TensorFlow Federated 0.30.0

19 Jul 18:35
Compare
Choose a tag to compare
Pre-release

Release 0.30.0

Major Features and Improvements

  • Add tests for namedtuples in the tff.program package.
  • Add num_subrounds parameter to the mergeable context, allowing callers to
    optionally sequentialize subrounds.
  • Add metrics support to tff.learning.models.FunctionalModel, including
    updates to the helper function create_functional_metric_fns and the
    downstream caller tff.learning.algorithms.build_weighted_fed_avg.

Bug Fixes

  • Fix typo in the types constructed for testing the tff.program package.
  • Fix some program example typos.
  • Fix tests that don't seem to be running under the CI.
  • Fix naming bug for Python mergeable execution.
  • Ensure exceptions raised from remote executor stub implement gRPC error
    interface.
  • Update tff.structure.Struct integration with JAX pytrees to not flatten
    the entire structure.
  • Use Python 3.7 compatible type annotations until Colab updates to Python
    3.9.

TensorFlow Federated 0.29.0

07 Jul 16:52
Compare
Choose a tag to compare
Pre-release

Release 0.29.0

Major Features and Improvements

  • Update the MemoryReleaseManager to save type_signature when releasing
    values.
  • Add a type_signature parameter to the ReleaseManager.release method.
  • Unify retryability logic between TFF-C++ and TFF-Python.
  • Update the TFF contributions and collaboration links to point to the Discord
    server.

Breaking Changes

  • Move Python executor stacks file to python_executor_stacks.py in
    executor_stacks directory.

Bug Fixes

  • Ensure that dataset deserialization will return ragged and sparse tensors,
    as needed according to the TFF type of the dataset.
  • Make metric_finalizers use metric constructors if available.