Skip to content

Releases: google-parfait/tensorflow-federated

TensorFlow Federated 0.58.0

18 May 19:04
Compare
Choose a tag to compare
Pre-release

Release 0.58.0

Major Features and Improvements

  • Updated algorithms built from tff.learning.models.FunctionalModel to allow
    nested outputs.
  • Added the PrefetchingDataSource back to the tff.program API now that the
    flakiness has been fixed.

Bug Fixes

  • Changed return type of
    tff.simulation.compose_dataset_computation_with_learning_process to be a
    tff.learning.templates.LearningProcess.
  • Fixed flaky tests in prefetching_data_source_test.
  • Fixed type annotations and lint errors.
  • Cleaned up error messages and typing information in
    tff.learning.optimizers.

TensorFlow Federated 0.57.0

09 May 15:05
Compare
Choose a tag to compare
Pre-release

Release 0.57.0

Major Features and Improvements

  • Allow functional models to return a structure.

Breaking Changes

  • Removed support for handling attrs as containers in the tff.program API.
  • Migrated the personalization_eval module to the algorithms package.
  • Deleted the tff.learning.build_local_evaluation API.
  • Migrated tff.learning.reconstruction to the tff.learning.algorithms package.
  • Updated to dm-tree version 0.1.8.
  • Updated to dp-accounting version 0.4.1.
  • Updated to tensorflow-privacy version 0.8.9.

TensorFlow Federated 0.56.0

20 Apr 16:35
Compare
Choose a tag to compare
Pre-release

Release 0.56.0

Major Features and Improvements

  • Added Vizier backed tuning program logic to tff.learning.
  • Updated the tff.learning.programs.EvaluationManager to clean up states
    after recording the evaluation is completed.

Breaking Changes

  • Removed deprecated tff.learning.framework.ServerState symbol.

TensorFlow Federated 0.55.0

11 Apr 23:31
Compare
Choose a tag to compare
Pre-release

Release 0.55.0

Major Features and Improvements

  • Removed nest_asyncio dependency from tutorials.
  • Added a new
    aggregatorrtff.aggregators.DifferentiallyPrivateFactory.tree_adaptive for
    combining DP-FTRL (https://arxiv.org/abs/2103.00039) and adaptive clipping
    (https://arxiv.org/abs/1905.03871).
  • Updated tff.learning.programs.EvaluationManager to set the evaluation
    deadline from the start time.

Breaking Changes

  • Python runtime deleted; C++ runtime covers all known use-cases.

Bug Fixes

  • Fixed a bug attempting to push tf.data.Dataset iterator ops onto GPUs.

TensorFlow Federated 0.54.0

04 Apr 17:22
Compare
Choose a tag to compare
Pre-release

Release 0.54.0

Major Features and Improvements

  • Added attributes to tff.learning.programs.EvaluationManager, this enables
    constructing new EvaluationManagers from existing ones.
  • Added Subsample Process abstract class and the implementation of Threshold
    Sampling Process Remove introducing dependency on relayout op for control
    edges.
  • Replaced usage of attrs in tff.aggregators with typing.NamedTuple.
  • Removed introducing dependency on relayout op for control edges.

Breaking Changes

  • Removed run_server and server_context from the tff.simulation API.
  • Removed the following symbols from the tff.framework API:
    • tff.framework.local_executor_factory
    • tff.framework.DataBackend
    • tff.framework.DataExecutor
    • tff.framework.EagerTFExecutor

Bug Fixes

  • Removed use of deprecated tff.learning symbols, and clear cell image
    outputs.

TensorFlow Federated 0.53.0

28 Mar 01:28
Compare
Choose a tag to compare
Pre-release

Release 0.53.0

Major Features and Improvements

  • Updated TF version to 2.12.0.
  • Relaxed runtime type checks on tff.learning.templates.LearningProcess to allow non-sequence CLIENTS arguments.
  • tff.simulation.compose_dataset_computation_with_learning_process now returns a tff.learning.templates.LearningProcess.
  • Updated the tff.program.FederatedDataSourceIterators so that they can be serialized.

Breaking Changes

  • Deleted the forward_pass attribute from the FunctionalModel interface.
  • Removed from_keras_model, MetricsFinalizersType, BatchOutput, Model, and ModelWeights symbols from the tff.learning package. Users should instead use the tff.learning.models package for these symbols.
  • Removed deprecated tff.learning.federated_aggregate_keras_metric function.
  • Removed implicit attribute forwarding on tff.simulation.compose_dataset_computation_with_learning_process.
  • Removed deprecated tff.framework.remote_executor_factory_from_stubs.
  • Removed deprecated tff.backends.xla APIs.
  • Renamed the tff.backends.test APIs to: tff.backends.test.(create|set)_(sync|async)_test_cpp_execution_context.

TensorFlow Federated 0.52.0

20 Mar 19:49
Compare
Choose a tag to compare
Pre-release

Release 0.52.0

Major Features and Improvements

  • Exposed tff.backends.mapreduce.consolidate_and_extract_local_processing as
    public API.
  • Updated the federated program API to be able to handle tff.Serializable
    objects.

Breaking Changes

  • Deprecated handling attrs classes as containers in the tff.program API.
  • Updated tff.learning.algorithms implementations to use
    tff.learning.models.FunctionalModel.loss instead of
    FunctionalModel.forward_pass.

Bug Fixes

  • Avoid using sys.stdout and sys.stderr in subprocess.Popen when
    executing inside an IPython context.
  • Added a SequenceExecutor to the C++ execution stack to handle sequence_*
    intrinsics.

TensorFlow Federated 0.51.0

13 Mar 17:00
Compare
Choose a tag to compare
Pre-release

Release 0.51.0

Major Features and Improvements

  • Enabled, improved, and fixed Python type annotations in some modules.
  • Added the interface of loss_fn to tff.learning.models.FunctionalModel,
    along with serialization and deserialization methods.
  • Updated the composing executor to forward the type field of Intrinsic
    protos that are sent to child executors.
  • Added an executor binding for DTensor based executor.

Breaking Changes

  • Deprecated tff.framework.DataBackend. Python execution is deprecated
    instead use CPP Execution.

Bug Fixes

  • Fixed the formulation of the JIT constructed mapped selection computation
    that is sent to the remote machine in streaming mode.
  • Fixed the usage of np.bytes_ types that incorrectly truncate byte string
    with null terminator.

TensorFlow Federated 0.50.0

23 Feb 18:16
Compare
Choose a tag to compare
Pre-release

Release 0.50.0

Major Features and Improvements

  • Added client learning rate measurements to
    tff.learning.algorithms.build_weighted_fed_avg_with_optimizer_schedule
  • Added support for streaming federated structure values to the C++
    RemoteExecutor.
  • Added a C++ executor for executing TF graphs using TF2 DTensor APIs when
    layout information is specified for input parameters or variables in the
    graph.

Breaking Changes

  • Deprecated the following API, Python execution is deprecated instead use CPP
    execution:
    • tff.framework.local_executor_factory
    • tff.framework.remote_executor_factory_from_stubs
    • tff.framework.DataExecutor
    • tff.framework.EagerTFExecutor
  • Removed the following API, Python execution is deprecated instead use CPP
    execution:
    • tff.backends.native.create_local_python_execution_context
    • `tff.backends.native.create_remote_python_execution_context
    • tff.framework.remote_executor_factory
  • Remove the executors_errors module from the tff.framework API, use
    tff.framework.RetryableError instead.

Bug Fixes

  • Fixed potential lifetime issue in C++ RemoteExecutor
  • Enabled and fixed python type annotations in many packages.
  • Fixed one-off error in evaluation criteria in training program logic.

TensorFlow Federated 0.49.0

14 Feb 16:21
Compare
Choose a tag to compare
Pre-release

Release 0.49.0

Major Features and Improvements

  • Created the Baselines API of the GLDv2 (landmark) dataset for simulation,
    with a GLDv2 preprocessing function, a GLDv2 tasks function, and a Google
    mirror of the GLDv2 baselines tasks.

Breaking Changes

  • Temporarily removed tff.program.PrefetchingDataSource, the
    PrefetchingDataSourceIterator tests are flaky and it's not immediately clear
    if this is due to the implementation of the PrefetchingDataSourceIterator or
    due to a bug in the test.
  • Deprecated the following API, Python execution is deprecated instead use CPP
    execution:
    • tff.backends.native.create_local_python_execution_context
    • tff.backends.native.create_remote_python_execution_context
    • tff.backends.native.create_remote_async_python_execution_context
    • tff.backends.native.set_remote_async_python_execution_context
  • Removed the following API, Python execution is deprecated instead use CPP
    execution:
    • tff.backends.native.set_local_python_execution_context
    • tff.backends.native.set_remote_python_execution_context
    • tff.frameowrk.FederatingExecutor
    • tff.framework.ComposingExecutorFactory
    • tff.framework.ExecutorValue
    • tff.framework.Executor
    • tff.framework.FederatedComposingStrategy
    • tff.framework.FederatedResolvingStrategy
    • tff.framework.FederatingStrategy
    • tff.framework.ReconstructOnChangeExecutorFactory
    • tff.framework.ReferenceResolvingExecutor
    • tff.framework.RemoteExecutor
    • tff.framework.ResourceManagingExecutorFactory
    • tff.framework.ThreadDelegatingExecutor
    • tff.framework.TransformingExecutor
    • tff.framework.UnplacedExecutorFactory
  • Removed duplicate API from tff.framework, instead use:
    • tff.types.type_from_tensors
    • tff.types.type_to_tf_tensor_specs
    • tff.types.deserialize_type
    • tff.types.serialize_type
  • Renamed tff.learning.Model to tff.learning.models.VariableModel.
  • Renamed the
    cpp_execution_context.(create|set)_local_async_cpp_execution_context
    function to match the name of
    execution_context.(create|set)_(sync|async)_local_cpp_execution_context.

Bug Fixes

  • Fixed bug in FLAIR download URLs.
  • Enabled and fixed python type annotations in many packages.