tensorflow-federated

An open-source framework for machine learning and other computations on decentralized data.

APACHE-2.0 License

Downloads
28.6K
Stars
2.3K
Committers
118

Bot releases are hidden (Show)

tensorflow-federated - TensorFlow Federated 0.80.0

Published by amlanchakoty 4 months ago

Release 0.80.0

Breaking Changes

  • Move the tools package to the root of the repository.
  • Updated bazel to version 6.5.0.
  • Updated rules_python to version 0.31.0.
  • Deleted deprecated tff.learning.build_federated_evaluation, which was superseded by tff.learning.algorithms.build_fed_eval.
tensorflow-federated - TensorFlow Federated 0.79.0

Published by huili0140 5 months ago

Release 0.79.0

  • Enable support for models with non-trainable variables in
    tff.learning.models.functional_model_from_keras.

Breaking Changes

tensorflow-federated - TensorFlow Federated 0.78.0

Published by nicolemitchell 5 months ago

Major Features and Improvements

Breaking Changes

  • Updated rules_license to version 0.0.8.
  • Removed elias_gamma_encode module.
  • Removed tensorflow_compression dependency.
tensorflow-federated - TensorFlow Federated 0.77.0

Published by huili0140 6 months ago

Release 0.77.0

Major Features and Improvements

  • Added an implementation of __eq__() on building blocks.

Bug Fixes

  • Fix #4588: Target Haswell CPU architectures (-march=haswell) instead of
    whatever is native to the build infrastructure to ensure that binaries in
    the pip package and executable on Colab CPU runtimes.
tensorflow-federated - TensorFlow Federated 0.76.0

Published by amlanchakoty 6 months ago

Release 0.76.0

Major Features and Improvements

  • Added a Literal to the TFF language, part 2. This change updates the
    tracing and execution portions of TFF to begin using the Literal.
  • Added an implementation of the Adafactor optimizer to
    tff.learning.optimizers.build_adafactor
  • Added a new field, content, to the Data proto.

Breaking Changes

  • Removed the check_foo() methods on building blocks.
  • Removed tff.data, this symbol is not used.

Bug Fixes

  • Fix a bug where the pip package default executor stack cannot execute
    computations that have Lambdas under sequence_* intrinsics.
tensorflow-federated - TensorFlow Federated 0.75.0

Published by nicolemitchell 7 months ago

Release 0.75.0

Major Features and Improvements

  • Updated the type annotation for MaterializedValue to include the Python
    scalar types in addition to the numpy scalar types.
  • Added a Literal to the TFF language, part 1.
  • Added Literal to the framework package.
  • Extended
    tff.learning.algorithms.build_weighted_fed_avg_with_optimizer_schedule to
    support tff.learning.models.FunctionalModel.

Breaking Changes

  • Deleted the tff.learning.framework namespace⚰️.

Bug Fixes

  • Fixed logic for determining if a value can be cast to a specific dtype.
  • Fixed a bug where repeated calls to
    FilePerUserClientData.create_tf_dataset_for_client could blow up memory
    usage
tensorflow-federated - TensorFlow Federated 0.74.0

Published by amlanchakoty 7 months ago

Release 0.74.0

Major Features and Improvements

  • Make some of the C++ executor APIs public visibility for downstream repos.
  • Moved the DataType protobuf object into its own module. Moving the
    DataType object into its own module allows DataType to be used outside
    of a Computation more easily and prevents a circular dependency between
    Computation and Array which both require a DataType.
  • Updated build_apply_optimizer_finalizer to allow custom reject update
    function.
  • Relaxed the type requirement of the attributes of ModelWeights to allow
    assigning list or tuples of matching values to other sequence types on
    tf.keras.Model instances.
  • Improved the errors raised by JAX computations for various types.
  • Updated tutorials to use recommended tff.learning APIs.

Breaking Changes

  • Removed the runtime-agnostic support for tf.RaggedTensor and
    tf.SparseTensor.

Full Changelog: https://github.com/tensorflow/federated/compare/v0.73.0...v0.74.0

tensorflow-federated - TensorFlow Federated 0.73.0

Published by ZacharyGarrett 7 months ago

Release 0.73.0

Major Features and Improvements

  • Make some of the C++ executor APIs public visibility for downstream repos.
  • tff.learning.algorithms.build_fed_kmeans supports floating point weights,
    enabling compatibility with tff.aggregators using differential privacy.
  • Added two new metrics aggregators:
    tff.learning.metrics.finalize_then_sample and
    tff.learning.metrics.FinalizeThenSampleFactory.

Breaking Changes

  • Remove the ability to return SequenceType from tff.federated_computation
    decorated callables.

Bug Fixes

  • tff.learning algorithms now correctly do not include metrics for clients
    that had zero weight due to model updates containing non-finite values.
    Previously the update was rejected, but the metrics still aggregated.
tensorflow-federated - TensorFlow Federated 0.72.0

Published by huili0140 8 months ago

Release 0.72.0

Major Features and Improvements

  • Added an async XLA runtime under tff.backends.xla.

Breaking Changes

  • Updated tensorflow-privacy version to 0.9.0.
  • Removed the deprecated type_signature parameter from the tff.program.ReleaseManager.release method.
tensorflow-federated - TensorFlow Federated 0.71.0

Published by nicolemitchell 8 months ago

Release 0.71.0

Major Features and Improvements

  • Added new environment-specific packages to TFF.
tensorflow-federated - TensorFlow Federated 0.70.0

Published by zcharles8 9 months ago

Breaking Changes

  • Temporarily disable tff.program.PrefetchingDataSource due to flakiness
    from a lack of determinism.
  • Removed support for invoking infer_type with TensorFlow values.
  • Removed deprecated tff.aggregators.federated_(min|max)symbols, please use
    tff.federated_(min|max) instead.
  • Removed support for creating a tff.TensorType using a tf.dtypes.DType.
  • Removed tff.check_return_type.

Bug Fixes

  • Declared OwnedValueId::INVALID_ID as a static constexpr.
tensorflow-federated - TensorFlow Federated 0.69.0

Published by chloekiddon 9 months ago

Release 0.69.0

Major Features and Improvements

  • The local_unfinalized_metrics_type argument to
    tff.learning.metrics.(secure_)sum_then_finalize is now optional (and is not
    actually used). It will be removed in a future release.

Breaking Changes

  • tff.learning.metrics.(secure_)sum_then_finalize now return polymorphic
    computations. They can still be passed into algorithm builders (e.g.
    tff.learning.algorithms.build_weighted_fed_avg) but to be called directly
    they must first be traced with explicit types.
  • Removed support for handling tf.TensorSpec using to_type, use
    tensorflow_to_type instead.
  • Removed support for calling tff.TensorType using a tf.dtypes.DType.
tensorflow-federated - TensorFlow Federated 0.68.0

Published by michaelreneer 9 months ago

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 - TensorFlow Federated 0.67.0

Published by huili0140 10 months ago

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 - TensorFlow Federated 0.66.0

Published by nicolemitchell 11 months ago

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 - TensorFlow Federated 0.65.0

Published by michaelreneer 12 months ago

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 - TensorFlow Federated 0.64.0

Published by huili0140 12 months ago

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 - TensorFlow Federated 0.63.0

Published by zcharles8 about 1 year ago

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 - TensorFlow Federated 0.62.0

Published by ZacharyGarrett about 1 year ago

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 - TensorFlow Federated 0.61.0

Published by xiaoyux11 over 1 year ago

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.