Skip to content

Releases: google-parfait/tensorflow-federated

TensorFlow Federated 0.68.0

09 Jan 02:42
Compare
Choose a tag to compare
Pre-release

Release 0.68.0

Major Features and Improvements

  • Added tff.types.tensorflow_to_type function to convert structures
    containing tensorflow type specs into a tff.Type.
  • Deprecated tff.types.infer_unplaced_type.
  • Updated tff.types.ArrayShape to be defined as a Sequence not an
    Iterable, this is because the len of an tff.types.ArrayShape is used
    for comparison.
  • Deprecated the type_signature parameter for the
    tff.program.ReleaseManager.release method.

Breaking Changes

  • Removed the implementation of tff.Value.__add__.
  • Removed the deprecated tff.Type.check_*() functions, use isinstance
    instead.
  • Removed tff.types.at_clients and tff.types.at_server functions, use the
    tff.FederatedType constructor instead.
  • Removed support for handling tf.data.DatasetSpec, tf.RaggedTensorSpec,
    and tf.SparseTensorSpec using tff.to_type, use
    tff.types.tensorflow_to_type instead.
  • Removed support for handling tf.RaggedTensor and tf.SparseTensor using
    infer_type.

TensorFlow Federated 0.67.0

15 Dec 22:00
Compare
Choose a tag to compare
Pre-release

Release 0.67.0

Major Features and Improvements

  • Updated the representation of a tff.TensorType.dtype to be a np.dtype
    instead of tf.dtypes.Dtype.
  • Added tff.program.DelayedReleaseManager.

Breaking Changes

  • Removed check_allowed_ops from the framework package.
  • Removed check_disallowed_ops from the framework package.
  • Removed replace_intrinsics_with_bodies from the framework package.
  • Removed get_session_token from the framework package.
  • Added a workspace dependency on pybind11_bazel.
  • Removed type_from_tensors from the framework package.
  • Updated the version of rules_python to 0.23.0.

Bug Fixes

  • Temporary pin googleapis-common-protos to version 1.61.0 to work around
    an issue with a transitive dependency.

TensorFlow Federated 0.66.0

30 Nov 15:46
Compare
Choose a tag to compare
Pre-release

Release 0.66.0

Breaking Changes

  • Removed the capability to pass a tf.TensorShape as the shape of a
    tff.TensorType.

Bug Fixes

  • Correctly materialize SERVER placed values out of the C++ execution stack
    when using StreamingRemoteExecutor instead of returning an error about
    placement not found.

TensorFlow Federated 0.65.0

08 Nov 17:41
Compare
Choose a tag to compare
Pre-release

Release 0.65.0

Major Features and Improvements

  • Update the representation of a tff.TensorType.shape to be a
    tff.types.ArrayShape instead of tf.TensorShape.

  • Updated type_to_py_container``to be able to handletff.SequenceTypes` with
    an unknown Python type.

Breaking Changes

  • Moved tff.structure_from_tensor_type_tree to
    tff.types.structure_from_tensor_type_tree.
  • Remove the capability to pass an int as the shape of a tff.TensorType.

TensorFlow Federated 0.64.0

25 Oct 21:03
Compare
Choose a tag to compare
Pre-release

Release 0.64.0

Major Features and Improvements

  • Updated the TFF project and the Python package to be compatible with Python
    3.11.
  • Updated train_process to train_process_factory in vizier program logic
    to support multiple trials in parallel.
  • Added support for using non-OrderedDict mapping types.

Breaking Changes

  • Updated the version of grpc to v1.59.1.
  • Updated the version of bazel to 6.1.0.
  • Updated the version of tensorflow to 2.14.0.
  • Updated the version of numpy to ~=1.25.
  • Updated the version of com_google_googletest to 1.12.1.

Bug Fixes

  • Fixed import path for Vizier in federated program example.
  • Fixed serialization of TenshorShape in error message to be human readable.
  • Fixed bug in tff.program.FileProgramStateManager removing old program
    state.

TensorFlow Federated 0.63.0

06 Oct 20:49
Compare
Choose a tag to compare
Pre-release

Release 0.63.0

Major Features and Improvements

  • Added tff.federated_min and tff.federated_max intrinsics.
  • Added a get_value() method to tff.program.SavedModelFileReleaseManager, for retrieving values that were previously released.
  • Added tff.program.PeriodicReleaseManager to release values at regular intervals.
  • Learning program logic now saves next evaluation time so that it can be loaded upon computation restarts.
  • DistributeAggregateForm now skips normalizing the all_equal bit.
  • Added parallelism to Vizier program logic.
  • Enabled building protos with certain Bazel versions.

Breaking Changes

  • Updated the version of attrs to 23.1.
  • Updated the version of cachetools to ~=5.3.
  • Updated the version of dp-accounting to 0.4.3.
  • Updated the version of google-vizier to 0.1.11.
  • Updated the version of jax to 0.4.14.
  • Updated the version of portpicker to ~=1.6.
  • Updated the version of tensorflow to 2.13.0.
  • Updated the version of tensorflow-model-optimization to 0.7.5.
  • Updated the version of tensorflow-privacy to 0.8.11.
  • Updated the version of typing-extensions to ~=4.5.0.
  • Increased TF_CUDA_VERSION to 12.
  • Removed the tff.program.Capabilities enum from the iterator.
  • Deleted Python executors.
  • Removed the deprecated is_{foo} functions from tff.Types. Users should use isinstance checks instead.
  • Deleted go-related BUILD targets for TFF proto files.

Bug Fixes

  • Removed non-existent GCP doc from TFF guides.
  • Cleaned up exceptions in the tff.program package for consistency and clarity.
  • Fixed various pytype errors.
  • Fixed various undefined-variable lint errors.
  • Fixed a UnicodeDecodeError in the FedRecon tutorial.
  • Fixed Python 3.11 related errors.

TensorFlow Federated 0.62.0

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

Release 0.62.0

Breaking Changes

  • Removed context argument from
    tff.learning.algorithms.build_personalization_eval_computation. Now a
    personalization function only takes a model, a train dataset, and a test
    dataset as arguments.

Bug Fixes

  • Fix a rare infinite loop issue caused by very small float values when using
    tff.learning.ddp_secure_aggregator.

TensorFlow Federated 0.61.0

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

Release 0.61.0

Major Features and Improvements

  • Updated the type annotation for the dtype parameter to tff.TensorType.
  • Added adaptive tuning function to ThresholdSampling class.
  • Added
    tff.learning.models.ReconstructionModel.from_keras_model_and_variables,
    which provides a way to get a ReconstructionModel from a Keras model and
    lists of global and local trainable/non_trainable variables.
  • Switched tff.learning.algorithms.build_fed_recon_eval to use a stateful
    metrics aggregator.

Breaking Changes

  • Removed tff.learning.models.ReconstructionModel.from_keras_model, which
    has been replaced by
    tff.learning.models.ReconstructionModel.from_keras_model_and_layers.
  • Removed the following functions from the py_typecheck module: check_len,
    check_callable, is_dataclass,is_attrs, check_subclass and
    check_not_none. They are unused or can be replaced by Python type
    annotations.

Bug Fixes

  • Fixed a small bug in the TFF SGDM optimizer, to only track momentum as a
    hparam if it is both specified and nonzero.

TensorFlow Federated 0.60.0

30 Jun 22:48
Compare
Choose a tag to compare
Pre-release

Release 0.60.0

Major Features and Improvements

  • DTensor TF executor is now integrated with the default TFF C++ worker.
  • Added federated program documentation and guidelines.
  • Removed the pytype dependency from TFF.
  • tff.learning.algorithms.build_fed_recon_eval now supports TFF optimizers.

Breaking Changes

  • Updated tff.types.deserialize_type to not accept/return None.
  • Removed the tff.framework.ComputationBuildingBlock.is_foo methods.
  • Renamed tff.learning.algorithms.build_personalization_eval to
    tff.learning.algorithms.build_personalization_eval_computation
  • tff.learning.models.ReconstructionModel.from_keras_model will now check
    that global and local variables are disjoint, raise ValueError if they are
    not.

Bug Fixes

  • Fixed tff.learning.models.ReconstructionModel.has_only_global_variables
    (it was returning incorrect value).

TensorFlow Federated 0.59.0

05 Jun 23:37
Compare
Choose a tag to compare
Pre-release

Release 0.59.0

Major Features and Improvements

  • Removed compression for worker_binary.
  • Allowed tensor and numpy float-like objects in optimizer hyperparameters.
  • Improved API/filtering logic in FilteringReleaseManager.

Breaking Changes

  • Renamed build_personalization_eval to
    build_personalization_eval_computation.
  • Updated tff.to_type implementation and type annotation to not
    accept/return None.

Bug Fixes

  • Fixed and documented pytype errors in the program package.
  • Fixed bug in how tff.program.NativeFederatedContext handles arguments of
    various types.