Releases: google-parfait/tensorflow-federated
Releases · google-parfait/tensorflow-federated
TensorFlow Federated 0.38.0
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 version0.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 tracefunctools.partial
objects.
Known Bugs
- Colab compatibility: TFF requires Python 3.9 while Colab runtime uses Python
3.7.
TensorFlow Federated 0.37.0
Release 0.37.0
Major Features and Improvements
- Added support for Python 3.10.
- Improved support for
numpy
values in thetff.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
andjaxlib
version0.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
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 version2.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
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 version0.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
Release 0.34.0
Major Features and Improvements
- Updated to use
Bazel
version5.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 topip install
in Python 3.10.
This has always been failing at runtime, but now explicitly fails to install
usingpip
. - Refreshed loading_remote_data notebook content and added content for
FederatedDataSource
. - Added a TFF
type_signature
attribute to objects of typeMapReduceForm
. - 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
fromMapReduceForm
. SequenceType
now automatically casts anyStructWithPythonType
that
contains alist
to atuple
fortf.data
compatibility.- Unified the
model_fn
andmodel
parameters of
tff.learning.algorithms.build_weighted_fed_avg
. MapReduceForm
now takes atype_signature
argument in its constructor,
and no longer takes aninitialize
argument.MapReduceForm
no longer contains aninitialize
attribute.
Bug Fixes
- Relaxed overly strict type equivalence check to assignability in TFF-TF code
generation.
TensorFlow Federated 0.33.0
Release 0.33.0
Major Features and Improvements
- Extend
tff.analytics.heavy_hitters.iblt
withcreate_chunker
API for
encoding non-Unicode strings. - Extend
tff.aggregators.DifferentiallyPrivateFactory.tree_aggregation
with
an optionalrecord_aggregation_factory
argument.
Breaking Changes
- Replaced
ModularClippingSumFactory
withSecureModularSumFactory
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
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
Release 0.31.0
Major Features and Improvements
- Added
ReleaseManager
s to make authoring program logic more convenient. - Updated TFFs
attrs
dependency to version21.4.0
. - Update TFFs
tensorflow-privacy
dependency to version0.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
Release 0.30.0
Major Features and Improvements
- Add tests for
namedtuple
s in thetff.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 functioncreate_functional_metric_fns
and the
downstream callertff.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
Release 0.29.0
Major Features and Improvements
- Update the
MemoryReleaseManager
to savetype_signature
when releasing
values. - Add a
type_signature
parameter to theReleaseManager.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.