Recent Releases of tensorflow-federated
tensorflow-federated - TensorFlow Federated 0.89.0
Release 0.89.0
Added
-
tff.StructType.items(), this API makes it easier to iterate overtff.StrucTypewithout having to deal with hard to discover and usetff.structure.*APIs. - The abstract class
DPTensorAggregatorand the childDPQuantileAggregator(along with the factory class).DPQuantileAggregatoris currently a skeleton; future CLs will implement the member functions. -
DPQuantileAggregator::AggregateTensorsperforms either apush_backor reservoir sampling, depending on size of memberbuffer_. The reservoir sampling functionality is performed by::InsertWithReservoirSampling. -
DPQuantileAggregator::MergeWithcopies as much data over from the other aggregator'sbuffer_until capacity is hit, then performs reservoir sampling. -
tff.program.ComputationArg, which is helpful when creating a federated platform.
Removed
-
tff.types.tensorflow_to_type, this function is no longer used.
- Python
Published by github-actions[bot] over 1 year ago
tensorflow-federated - TensorFlow Federated 0.88.0
Release 0.88.0
Added
-
tff.tensorflow.to_type. - Added
pack_args_into_structandunpack_args_from_structto the public API underframework.
Deprecated
-
tff.types.tensorflow_to_type, usetff.tensorflow.to_typeinstead.
Changed
- Updated to use an environment-agnostic way to represent a sequence of data.
- Updated JAX computations and contexts to be able to handle sequence types.
- Moved
tff.types.structure_from_tensor_type_treeandtff.types.type_to_tf_tensor_specsto thetff.tensorflowpackage.
Removed
-
tff.framework.merge_cardinalities -
tff.framework.CardinalityCarrying -
tff.framework.CardinalityFreeDataDescriptor -
tff.framework.CreateDataDescriptor -
tff.framework.DataDescriptor -
tff.framework.Ingestable
- Python
Published by github-actions[bot] over 1 year ago
tensorflow-federated - TensorFlow Federated 0.87.0
Release 0.87.0
Added
- Added an implementation of AdamW to
tff.learning.optimizers.
Changed
- Support
Nonegradients intff.learning.optimizers. This mimics the behavior oftf.keras.optimizers- gradients that areNonewill be skipped, and their corresponding optimizer output (e.g. momentum and weights) will not be updated. - The behavior of
DPGroupingFederatedSum::Clamp: it now sets negatives to 0. Associated test code has been updated. Reason: sensitivity calculation for DP noise was calibrated for non-negative values. - Change tutorials to use
tff.learning.optimizersin conjunction withtff.learningcomputations. -
tff.simulation.datasets.TestClientDataonly accepts dictionaries whose leaf nodes are nottf.Tensors.
Fixed
- A bug where
tff.learning.optimizers.build_adafactorwould update its step counter twice upon every invocation of.next(). - A bug where tensor learning rates for
tff.learning.optimizers.build_sgdmwould fail with mixed dtype gradients. - A bug where different optimizers had different behavior on empty weights structures. TFF optimizers now consistently accept and function as no-ops on empty weight structures.
- A bug where
tff.simulation.datasets.TestClientData.dataset_computationyielded datasets of indeterminate shape.
Removed
-
tff.jax_computation, usetff.jax.computationinstead. -
tff.profiler, this API is not used. - Removed various stale tutorials.
- Removed
structurefromtff.program.SavedModelFileReleaseManager'sget_valuemethod parameters. - Removed support for
tf.keras.optimizersintff.learning.
- Python
Published by github-actions[bot] almost 2 years ago
tensorflow-federated - TensorFlow Federated 0.86.0
Release 0.86.0
Added
-
tff.tensorflow.transform_argsandtff.tensorflow.transform_result, these functions are intended to be used when instantiating and execution context in a TensorFlow environment.
Changed
- Replaced the
tensoron theValueprotobuf with anarrayfield and updated the serialization logic to use this new field.
- Python
Published by github-actions[bot] almost 2 years ago
tensorflow-federated - TensorFlow Federated 0.85.0
Release 0.85.0
Added
- The
dp_noise_mechanismsheader and source files: contains functions that generatedifferential_privacy::LaplaceMechanismordifferential_privacy::GaussianMechanism, based upon privacy parameters and norm bounds. Each of these functions return aDPHistogramBundlestruct, which contains the mechanism, the threshold needed for DP open-domain histograms, and a boolean indicating whether Laplace noise was used. - Added some TFF executor classes to the public API (CPPExecutorFactory, ResourceManagingExecutorFactory, RemoteExecutor, RemoteExecutorGrpcStub).
- Added support for
bfloat16dtypes from theml_dtypespackage.
Fixed
- A bug where
tf.stringwas mistakenly allowed as a dtype totff.types.TensorType. This now must benp.str_.
Changed
-
tff.Computationandtff.framework.ConcreteComputationto be able to transform the arguments to the computation and result of the computation. -
DPClosedDomainHistogram::ReportandDPOpenDomainHistogram::Report: they both use theDPHistogramBundlesproduced by theCreateDPHistogramBundlefunction indp_noise_mechanisms. -
DPGroupByFactory::CreateInternal: whendeltais not provided, check if the right norm bounds are provided to compute L1 sensitivity (for the Laplace mech). - CreateRemoteExecutorStack now allows the composing executor to be specified and assigns client values to leaf executors such that all leaf executors receive the same number of clients, except for potentially the last leaf executor, which may receive fewer clients.
- Allow
tff.learning.programs.train_modelto accept ashould_discard_roundfunction to decide whether a round should be discarded and retried.
Removed
-
tff.structure.to_container_recursive, this should not be used externally.
- Python
Published by github-actions[bot] almost 2 years ago
tensorflow-federated - TensorFlow Federated 0.84.0
Release 0.84.0
Added
- Added some TFF executor classes to the public API (
ComposingExecutor,ExecutorTestBase,MockExecutor,ThreadPool). - Added some compiler transformation helper functions to the public API
(
replace_intrinsics_with_bodies,unique_name_generator,transform_preorder,to_call_dominant). - Added a method to get the number of checkpoints aggregated to the CheckpointAggregator API.
- The function
DPClosedDomainHistogram::IncrementDomainIndices. It allows calling code to iterate through the domain of composite keys (in a do-while loop).
Changed
- Fixed a bug in
tff.jax.computationthat raised an error when the computation had unused arguments. - Fixed a bug when using
tff.backends.xlaexecution stack that raised errors when single element structures were returned fromtff.jax.computationwrapped methods. - Modified the model output release frequency to every 10 rounds and the final
round in
tff.learning.programs.train_model. - Loosened the
kEpsilonThresholdconstant and updated the tests ofDPOpenDomainHistogramaccordingly. - The behavior of
DPClosedDomainHistogram::Report(): it now produces an aggregate for each possible combinations of keys. Those composite keys thatGroupByAggregatordid not already assign an aggregate to are assigned 0. Future CL will add noise. - Modified
tff.learning.algorithms.build_weighted_fed_avgto generate different training graphs whenuse_experimental_simulation_loop=Trueandmodel_fnis of typetff.learning.models.FunctionalModel.
- Python
Published by github-actions[bot] almost 2 years ago
tensorflow-federated - TensorFlow Federated 0.83.0
Release 0.83.0
Changed
- The
tff.learning.programs.train_modelprogram logic to save a deep copy of the data source iterator within the program state. - The file-backed native program components to not flatten and unflatten values.
Removed
- Unused functions from
tensorflow_utils. - Serializing raw
tf.Tensorvalues to theValueprotobuf. - Partial support for
dataclasses.
- Python
Published by github-actions[bot] almost 2 years ago
tensorflow-federated - TensorFlow Federated 0.82.0
Release 0.82.0
Added
- Add a serialized raw array content field to the Array proto.
- A function to
DPCompositeKeyCombinerthat allows retrieval of an ordinal. Intended for use by the closed-domain DP histogram aggregation core. - Constants for invalid ordinals and default
l0_bound_.
Changed
- How
DPCompositeKeyCombinerhandles invalidl0_bound_values. - The default
l0_bound_value inDPCompositeKeyCombinerto new constant. - Organization of DP histogram code. Previously, open-domain histogram class +
factory class lived side-by-side in
dp_group_by_aggregator.h/cc. Now split intodp_open_domain_histogram.h/ccanddp_group_by_factory.h/cc, which will ease future addition of code for closed-domain histogram. - Moved
tff.federated_secure_modular_sumto the mapreduce backend, usetff.backends.mapreduce.federated_secure_modular_suminstead.
- Python
Published by github-actions[bot] almost 2 years ago
tensorflow-federated - TensorFlow Federated 0.81.0
Release 0.81.0
Added
- A helper function to get a vector of strings for the elements of a tensor in order to aid in formatting.
- A field
string_valto thetensorproto to allow representing string values explicitly.
Changed
- The format of the release notes (i.e.,
RELEASE.md) to be based on https://keepachangelog.com/en/1.1.0/. - Moved constraint on
linfinity_boundfromDPGroupingFederatedSumFactorytoDPGroupByFactory, because closed-domain histogram algorithm will useDPGroupingFederatedSumbut not demand a positivelinfinity_bound.
Removed
- The dependency on
semantic-version. - The
tff.async_utilspackage, useasyncioinstead.
- Python
Published by github-actions[bot] about 2 years ago
tensorflow-federated - TensorFlow Federated 0.80.0
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.buildfederatedevaluation, which was superseded by tff.learning.algorithms.buildfedeval.
- Python
Published by amlanchakoty about 2 years ago
tensorflow-federated - TensorFlow Federated 0.79.0
Release 0.79.0
- Enable support for models with non-trainable variables in
tff.learning.models.functional_model_from_keras.
Breaking Changes
- Updated
com_github_grpc_grpcto version1.50.0. - Moved the TFF repository from https://github.com/tensorflow/federated to https://github.com/google-parfait/tensorflow-federated.
- Python
Published by huili0140 about 2 years ago
tensorflow-federated - TensorFlow Federated 0.78.0
Major Features and Improvements
- Moved aggregation from https://github.com/google-parfait/federated-compute to TFF to consolidate the federated language and remove circular dependencies.
Breaking Changes
- Updated
rules_licenseto version0.0.8. - Removed
elias_gamma_encodemodule. - Removed
tensorflow_compressiondependency.
- Python
Published by nicolemitchell about 2 years ago
tensorflow-federated - TensorFlow Federated 0.77.0
Release 0.77.0
Major Features and Improvements
- Added an implementation of
__eq__()onbuilding 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.
- Python
Published by huili0140 about 2 years ago
tensorflow-federated - TensorFlow Federated 0.76.0
Release 0.76.0
Major Features and Improvements
- Added a
Literalto the TFF language, part 2. This change updates the tracing and execution portions of TFF to begin using theLiteral. - Added an implementation of the Adafactor optimizer to
tff.learning.optimizers.build_adafactor - Added a new field,
content, to theDataproto.
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 undersequence_*intrinsics.
- Python
Published by amlanchakoty about 2 years ago
tensorflow-federated - TensorFlow Federated 0.75.0
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
Literalto the TFF language, part 1. - Added
Literalto the framework package. - Extended
tff.learning.algorithms.build_weighted_fed_avg_with_optimizer_scheduleto supporttff.learning.models.FunctionalModel.
Breaking Changes
- Deleted the
tff.learning.frameworknamespace⚰️.
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_clientcould blow up memory usage
- Python
Published by nicolemitchell about 2 years ago
tensorflow-federated - TensorFlow Federated 0.74.0
Release 0.74.0
Major Features and Improvements
- Make some of the C++ executor APIs public visibility for downstream repos.
- Moved the
DataTypeprotobuf object into its own module. Moving theDataTypeobject into its own module allowsDataTypeto be used outside of aComputationmore easily and prevents a circular dependency betweenComputationandArraywhich both require aDataType. - Updated
build_apply_optimizer_finalizerto allow custom reject update function. - Relaxed the type requirement of the attributes of
ModelWeightsto allow assigning list or tuples of matching values to other sequence types ontf.keras.Modelinstances. - Improved the errors raised by JAX computations for various types.
- Updated tutorials to use recommended
tff.learningAPIs.
Breaking Changes
- Removed the runtime-agnostic support for
tf.RaggedTensorandtf.SparseTensor.
Full Changelog: https://github.com/tensorflow/federated/compare/v0.73.0...v0.74.0
- Python
Published by amlanchakoty about 2 years ago
tensorflow-federated - TensorFlow Federated 0.73.0
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_kmeanssupports floating point weights, enabling compatibility withtff.aggregatorsusing differential privacy. - Added two new metrics aggregators:
tff.learning.metrics.finalize_then_sampleandtff.learning.metrics.FinalizeThenSampleFactory.
Breaking Changes
- Remove the ability to return
SequenceTypefromtff.federated_computationdecorated callables.
Bug Fixes
-
tff.learningalgorithms 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.
- Python
Published by ZacharyGarrett over 2 years ago
tensorflow-federated - TensorFlow Federated 0.72.0
Release 0.72.0
Major Features and Improvements
- Added an async XLA runtime under
tff.backends.xla.
Breaking Changes
- Updated
tensorflow-privacyversion to0.9.0. - Removed the deprecated
type_signatureparameter from thetff.program.ReleaseManager.releasemethod.
- Python
Published by huili0140 over 2 years ago
tensorflow-federated - TensorFlow Federated 0.71.0
Release 0.71.0
Major Features and Improvements
- Added new environment-specific packages to TFF.
- Python
Published by nicolemitchell over 2 years ago
tensorflow-federated - TensorFlow Federated 0.70.0
Breaking Changes
- Temporarily disable
tff.program.PrefetchingDataSourcedue to flakiness from a lack of determinism. - Removed support for invoking
infer_typewith TensorFlow values. - Removed deprecated
tff.aggregators.federated_(min|max)symbols, please usetff.federated_(min|max)instead. - Removed support for creating a
tff.TensorTypeusing atf.dtypes.DType. - Removed
tff.check_return_type.
Bug Fixes
- Declared
OwnedValueId::INVALID_IDas a static constexpr.
- Python
Published by zcharles8 over 2 years ago
tensorflow-federated - TensorFlow Federated 0.69.0
Release 0.69.0
Major Features and Improvements
- The
local_unfinalized_metrics_typeargument to tff.learning.metrics.(secure)sumthen_finalize is now optional (and is not actually used). It will be removed in a future release.
Breaking Changes
- tff.learning.metrics.(secure)sumthenfinalize now return polymorphic computations. They can still be passed into algorithm builders (e.g. tff.learning.algorithms.buildweightedfedavg) but to be called directly they must first be traced with explicit types.
- Removed support for handling
tf.TensorSpecusingto_type, usetensorflow_to_typeinstead. - Removed support for calling
tff.TensorTypeusing atf.dtypes.DType.
- Python
Published by chloekiddon over 2 years ago
tensorflow-federated - TensorFlow Federated 0.68.0
Release 0.68.0
Major Features and Improvements
- Added
tff.types.tensorflow_to_typefunction to convert structures containing tensorflow type specs into atff.Type. - Deprecated
tff.types.infer_unplaced_type. - Updated
tff.types.ArrayShapeto be defined as aSequencenot anIterable, this is because thelenof antff.types.ArrayShapeis used for comparison. - Deprecated the
type_signatureparameter for thetff.program.ReleaseManager.releasemethod.
Breaking Changes
- Removed the implementation of
tff.Value.__add__. - Removed the deprecated
tff.Type.check_*()functions, useisinstanceinstead. - Removed
tff.types.at_clientsandtff.types.at_serverfunctions, use thetff.FederatedTypeconstructor instead. - Removed support for handling
tf.data.DatasetSpec,tf.RaggedTensorSpec, andtf.SparseTensorSpecusingtff.to_type, usetff.types.tensorflow_to_typeinstead. - Removed support for handling
tf.RaggedTensorandtf.SparseTensorusinginfer_type.
- Python
Published by michaelreneer over 2 years ago
tensorflow-federated - TensorFlow Federated 0.67.0
Release 0.67.0
Major Features and Improvements
- Updated the representation of a tff.TensorType.dtype to be a
np.dtypeinstead oftf.dtypes.Dtype. - Added
tff.program.DelayedReleaseManager.
Breaking Changes
- Removed
check_allowed_opsfrom theframeworkpackage. - Removed
check_disallowed_opsfrom theframeworkpackage. - Removed
replace_intrinsics_with_bodiesfrom theframeworkpackage. - Removed
get_session_tokenfrom theframeworkpackage. - Added a workspace dependency on
pybind11_bazel. - Removed
type_from_tensorsfrom theframeworkpackage. - Updated the version of
rules_pythonto0.23.0.
Bug Fixes
- Temporary pin
googleapis-common-protosto version1.61.0to work around an issue with a transitive dependency.
- Python
Published by huili0140 over 2 years ago
tensorflow-federated - TensorFlow Federated 0.66.0
Release 0.66.0
Breaking Changes
- Removed the capability to pass a
tf.TensorShapeas the shape of atff.TensorType.
Bug Fixes
- Correctly materialize
SERVERplaced values out of the C++ execution stack when using StreamingRemoteExecutor instead of returning an error about placement not found.
- Python
Published by nicolemitchell over 2 years ago
tensorflow-federated - TensorFlow Federated 0.65.0
Release 0.65.0
Major Features and Improvements
Update the representation of a
tff.TensorType.shapeto be atff.types.ArrayShapeinstead oftf.TensorShape.Updated
type_to_py_containerto be able to handletff.SequenceTypes` with an unknown Python type.
Breaking Changes
- Moved
tff.structure_from_tensor_type_treetotff.types.structure_from_tensor_type_tree. - Remove the capability to pass an
intas the shape of atff.TensorType.
- Python
Published by michaelreneer over 2 years ago
tensorflow-federated - TensorFlow Federated 0.64.0
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_processtotrain_process_factoryin vizier program logic to support multiple trials in parallel. - Added support for using non-OrderedDict mapping types.
Breaking Changes
- Updated the version of
grpctov1.59.1. - Updated the version of
bazelto6.1.0. - Updated the version of
tensorflowto2.14.0. - Updated the version of
numpyto~=1.25. - Updated the version of
com_google_googletestto1.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.FileProgramStateManagerremoving old program state.
- Python
Published by huili0140 over 2 years ago
tensorflow-federated - TensorFlow Federated 0.63.0
Release 0.63.0
Major Features and Improvements
- Added
tff.federated_minandtff.federated_maxintrinsics. - Added a
get_value()method totff.program.SavedModelFileReleaseManager,for retrieving values that were previously released. - Added
tff.program.PeriodicReleaseManagerto release values at regular intervals. - Learning program logic now saves next evaluation time so that it can be loaded upon computation restarts.
DistributeAggregateFormnow 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
attrsto23.1. - Updated the version of
cachetoolsto~=5.3. - Updated the version of
dp-accountingto0.4.3. - Updated the version of
google-vizierto0.1.11. - Updated the version of
jaxto0.4.14. - Updated the version of
portpickerto~=1.6. - Updated the version of
tensorflowto2.13.0. - Updated the version of
tensorflow-model-optimizationto0.7.5. - Updated the version of
tensorflow-privacyto0.8.11. - Updated the version of
typing-extensionsto~=4.5.0. - Increased
TF_CUDA_VERSIONto12. - Removed the
tff.program.Capabilitiesenum from the iterator. - Deleted Python executors.
- Removed the deprecated
is_{foo}functions fromtff.Types. Users should useisinstancechecks 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.programpackage for consistency and clarity. - Fixed various pytype errors.
- Fixed various
undefined-variablelint errors. - Fixed a
UnicodeDecodeErrorin the FedRecon tutorial. - Fixed Python 3.11 related errors.
- Python
Published by zcharles8 over 2 years ago
tensorflow-federated - TensorFlow Federated 0.62.0
Release 0.62.0
Breaking Changes
- Removed
contextargument fromtff.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.
- Python
Published by ZacharyGarrett almost 3 years ago
tensorflow-federated - TensorFlow Federated 0.61.0
Release 0.61.0
Major Features and Improvements
- Updated the type annotation for the
dtypeparameter totff.TensorType. - Added adaptive tuning function to
ThresholdSamplingclass. - Added
tff.learning.models.ReconstructionModel.from_keras_model_and_variables, which provides a way to get aReconstructionModelfrom a Keras model and lists of global and local trainable/non_trainable variables. - Switched
tff.learning.algorithms.build_fed_recon_evalto use a stateful metrics aggregator.
Breaking Changes
- Removed
tff.learning.models.ReconstructionModel.from_keras_model, which has been replaced bytff.learning.models.ReconstructionModel.from_keras_model_and_layers. - Removed the following functions from the pytypecheck module: `checklen
,checkcallable,isdataclass,isattrs,checksubclassandchecknotnone`. 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.
- Python
Published by xiaoyux11 almost 3 years ago
tensorflow-federated - TensorFlow Federated 0.60.0
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
pytypedependency from TFF. -
tff.learning.algorithms.build_fed_recon_evalnow supports TFF optimizers.
Breaking Changes
- Updated
tff.types.deserialize_typeto not accept/returnNone. - Removed the
tff.framework.ComputationBuildingBlock.is_foomethods. - Renamed
tff.learning.algorithms.build_personalization_evaltotff.learning.algorithms.build_personalization_eval_computation -
tff.learning.models.ReconstructionModel.from_keras_modelwill 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).
- Python
Published by jkr26 almost 3 years ago
tensorflow-federated - TensorFlow Federated 0.59.0
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_evaltobuild_personalization_eval_computation. - Updated
tff.to_typeimplementation and type annotation to not accept/returnNone.
Bug Fixes
- Fixed and documented pytype errors in the
programpackage. - Fixed bug in how
tff.program.NativeFederatedContexthandles arguments of various types.
- Python
Published by xiaoyux11 about 3 years ago
tensorflow-federated - TensorFlow Federated 0.58.0
Release 0.58.0
Major Features and Improvements
- Updated algorithms built from
tff.learning.models.FunctionalModelto allow nested outputs. - Added the
PrefetchingDataSourceback to thetff.programAPI now that the flakiness has been fixed.
Bug Fixes
- Changed return type of
tff.simulation.compose_dataset_computation_with_learning_processto be atff.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.
- Python
Published by nicolemitchell about 3 years ago
tensorflow-federated - TensorFlow Federated 0.57.0
Release 0.57.0
Major Features and Improvements
- Allow functional models to return a structure.
Breaking Changes
- Removed support for handling
attrsas containers in thetff.programAPI. - Migrated the
personalization_evalmodule to the algorithms package. - Deleted the
tff.learning.build_local_evaluationAPI. - Migrated
tff.learning.reconstructionto thetff.learning.algorithmspackage. - Updated to
dm-treeversion0.1.8. - Updated to
dp-accountingversion0.4.1. - Updated to
tensorflow-privacyversion0.8.9.
- Python
Published by zcharles8 about 3 years ago
tensorflow-federated - TensorFlow Federated 0.56.0
Release 0.56.0
Major Features and Improvements
- Added Vizier backed tuning program logic to
tff.learning. - Updated the
tff.learning.programs.EvaluationManagerto clean up states after recording the evaluation is completed.
Breaking Changes
- Removed deprecated
tff.learning.framework.ServerStatesymbol.
- Python
Published by michaelreneer about 3 years ago
tensorflow-federated - TensorFlow Federated 0.55.0
Release 0.55.0
Major Features and Improvements
- Removed
nest_asynciodependency from tutorials. - Added a new
aggregatorr
tff.aggregators.DifferentiallyPrivateFactory.tree_adaptivefor combining DP-FTRL (https://arxiv.org/abs/2103.00039) and adaptive clipping (https://arxiv.org/abs/1905.03871). - Updated
tff.learning.programs.EvaluationManagerto 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.Datasetiterator ops onto GPUs.
- Python
Published by jkr26 about 3 years ago
tensorflow-federated - TensorFlow Federated 0.54.0
Release 0.54.0
Major Features and Improvements
- Added attributes to
tff.learning.programs.EvaluationManager, this enables constructing newEvaluationManagers 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
attrsintff.aggregatorswithtyping.NamedTuple. - Removed introducing dependency on relayout op for control edges.
Breaking Changes
- Removed
run_serverandserver_contextfrom thetff.simulationAPI. - Removed the following symbols from the
tff.frameworkAPI:-
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.
- Python
Published by xiaoyux11 about 3 years ago
tensorflow-federated - TensorFlow Federated 0.53.0
Release 0.53.0
Major Features and Improvements
- Updated TF version to 2.12.0.
- Relaxed runtime type checks on
tff.learning.templates.LearningProcessto allow non-sequence CLIENTS arguments. tff.simulation.compose_dataset_computation_with_learning_processnow returns atff.learning.templates.LearningProcess.- Updated the
tff.program.FederatedDataSourceIterators so that they can be serialized.
Breaking Changes
- Deleted the
forward_passattribute from theFunctionalModelinterface. - Removed
from_keras_model,MetricsFinalizersType,BatchOutput,Model, andModelWeightssymbols from thetff.learningpackage. Users should instead use thetff.learning.modelspackage for these symbols. - Removed deprecated
tff.learning.federated_aggregate_keras_metricfunction. - 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.xlaAPIs. - Renamed the
tff.backends.testAPIs to:tff.backends.test.(create|set)_(sync|async)_test_cpp_execution_context.
- Python
Published by huili0140 about 3 years ago
tensorflow-federated - TensorFlow Federated 0.52.0
Release 0.52.0
Major Features and Improvements
- Exposed
tff.backends.mapreduce.consolidate_and_extract_local_processingas public API. - Updated the federated program API to be able to handle
tff.Serializableobjects.
Breaking Changes
- Deprecated handling
attrsclasses as containers in thetff.programAPI. - Updated
tff.learning.algorithmsimplementations to usetff.learning.models.FunctionalModel.lossinstead ofFunctionalModel.forward_pass.
Bug Fixes
- Avoid using
sys.stdoutandsys.stderrinsubprocess.Popenwhen executing inside an IPython context. - Added a
SequenceExecutorto the C++ execution stack to handlesequence_*intrinsics.
- Python
Published by ZacharyGarrett about 3 years ago
tensorflow-federated - TensorFlow Federated 0.51.0
Release 0.51.0
Major Features and Improvements
- Enabled, improved, and fixed Python type annotations in some modules.
- Added the interface of
loss_fntotff.learning.models.FunctionalModel, along with serialization and deserialization methods. - Updated the composing executor to forward the
typefield ofIntrinsicprotos that are sent to child executors. - Added an executor binding for
DTensorbased 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.
- Python
Published by wushanshan over 3 years ago
tensorflow-federated - TensorFlow Federated 0.50.0
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.createremotepythonexecutioncontext
-
tff.framework.remote_executor_factory
-
- Remove the
executors_errorsmodule from thetff.frameworkAPI, usetff.framework.RetryableErrorinstead.
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.
- Python
Published by zcharles8 over 3 years ago
tensorflow-federated - TensorFlow Federated 0.49.0
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.Modeltotff.learning.models.VariableModel. - Renamed the
cpp_execution_context.(create|set)_local_async_cpp_execution_contextfunction to match the name ofexecution_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.
- Python
Published by michaelreneer over 3 years ago
tensorflow-federated - TensorFlow Federated 0.48.0
Release 0.48.0
Major Features and Improvements
- Implemented divisive split logic needed by DistributeAggregateForm, which is currently under development and will replace MapReduceForm and BroadcastForm in the future.
Breaking Changes
- Renamed the
cpp_execution_context.(create|set)_local_cpp_execution_contextfunction to match the name ofexecution_context.(create|set)_(sync|async)_local_cpp_execution_context. - Deleted the sizing Python execution context and executor.
- Deleted the thread debugging Python execution context and executor.
- Removed
ExecutorServicefrom the public API. - Deleted the local async python execution context.
Bug Fixes
- Enabled and fixed python type annotations in some modules in the
executors,types, andcorepackage.
- Python
Published by xiaoyux11 over 3 years ago
tensorflow-federated - TensorFlow Federated 0.47.0
Release 0.47.0
Major Features and Improvements
- Added a
LayoutMapmessage in the computation proto for TensorFlowDTensorbased execution.
Breaking Changes
- Removed the
compiler_fnparameter from the high level*_mergeable_execution_contextfunctions.
Bug Fixes
- Aligned the context types allowed by the
tff.program.NativeFederatedContextand thetff.program.PrefetchingDataSource. - Updated
build_functional_model_delta_updateto useReduceDatasetops to rely on MLIR Bridge for XLA compilation and TPU usage.
- Python
Published by wushanshan over 3 years ago
tensorflow-federated - TensorFlow Federated 0.46.0
Release 0.46.0
Major Features and Improvements
- Added parameter and implementation for C++ remote executor to stream the values in a structure across the gRPC interface.
- Added
tff.backends.native.desugar_and_transform_to_nativeto the public API. - Replaced
GroupNormimplementation with implementation from Keras. - Added
tff.simulations.datasets.flairAPIs for the FLAIR dataset.
Breaking Changes
- Removed file extension for
model_output_managerused intff.learning.programs
Bug Fixes
- Enabled and fixed python type annotations in some modules.
- Changed
tff.learning.algorithms.build_weighted_fed_proxparameter validation to allowproximal_strength = 0.0, matching the pydoc.
- Python
Published by ZacharyGarrett over 3 years ago
tensorflow-federated - TensorFlow Federated 0.45.0
Release 0.45.0
Major Features and Improvements
- Integrated the
CppToPythonExecutorBridgeinto theCPPExecutorFactory. - Changed Python Remote Executor to decompose and stream structures in Compute
and CreateValue when streamstructs is true. Added a bool parameter
stream_structstotff.backends.native.set_localhost_cpp_execution_context()API.
Breaking Changes
- Renamed
tff.backends.native.set_localhost_cpp_execution_context()tobackends.native.set_sync_local_cpp_execution_context(). - Renamed
tff.framework.ExecutionContexttotff.framework.SyncExecutionContextto be consistent withtff.framework.AsyncExecutionContext. - Removed the
SyncSerializeAndExecuteCPPContextandAsyncSerializeAndExecuteCPPContextclasses.
Bug Fixes
- Fixed usage of
typing.Genericin the learning package. - Enabled pytype analysis for some modules.
- Fixed lint and formatting issues for some modules.
- Python
Published by amlanchakoty over 3 years ago
tensorflow-federated - TensorFlow Federated 0.44.0
Release 0.44.0
Major Features and Improvements
- Improved the Python type annotations for
tff.programAPI. - Extended the metrics interface on FunctionalModel to accept the entire
BatchOutputstructure from the modelforward_pass(not just the predictions). - Introduced a DTensor Executor.
Bug Fixes
- Fixed async RuntimeWarning in the
tff.program.NativeFederatedContext.
- Python
Published by nicolemitchell over 3 years ago
tensorflow-federated - TensorFlow Federated 0.43.0
Release 0.43.0
Major Features and Improvements
- Improve serialization method to allow structures larger than 2 GiB (~500
million model parameters):
-
tff.learning.models.FunctionalModel -
tff.programs.FileProgramStateManager
-
Bug Fixes
- Fix a bug using
copy.deepcopyfor structures of awaitables (non-pickable) intff.learning.programs. - Fix a bug when resuming an evaluation in
tff.learning.programs.EvaluationManagerwhere the restarted evaluation would overwrite released metrics.
- Python
Published by hbmcmahan over 3 years ago
tensorflow-federated -
Release 0.42.0
Major Features and Improvements
- Reduced memory usage for entropy compression.
- Updated
com_google_protobufversion tov3.19.0. - Removed dependency on
six.
Breaking Changes
- Removed default value for the key parameter from the abstract base class
tff.program.ReleaseManager.
Bug Fixes
- Fixed a whitespace syntax issue with shutting down a process when using the localhost C++ execution context.
- Modified
tff.simulation.build_uniform_sampling_fnso that the output raises on non-integer inputs. - Only wait a subprocess instance if it is not None.
- Python
Published by nicolemitchell over 3 years ago
tensorflow-federated - TensorFlow Federated v0.41.0
Release 0.41.0
Major Features and Improvements
- TFF-C++ runtime now installed by default. Note that this release will have a significantly larger PIP package size.
- Introduce
tff.learning.programsfor federated program-logic using thetff.programAPIs. - Updated
tensorflowto version2.11.0. - Updated
tensorflow_compressionto version2.11.0. - Updated
bazel_skylibto version1.3.0.
- Python
Published by jkr26 over 3 years ago
tensorflow-federated - TensorFlow Federated 0.40.0
Release 0.40.0
Major Features and Improvements
- Skip model updates that are non-finite in
tff.learning.templates.build_apply_optimizer_finalizer.
Breaking Changes
- Removed deprecated APIs in
tff.learning.framework - Update the Python package scripts to use Python 3.10 by default.
- Remove module wildcard imports from init.py files in TFF.
- Update the Python package scripts to use Python 3.10 by default.
Bug Fixes
- Remove
functools.wrapswithintff.tf_computation. - Fix typo in iNaturalist dataset docstring.
- Python
Published by zcharles8 over 3 years ago
tensorflow-federated - TensorFlow Federated 0.39.0
Release 0.39.0
Major Features and Improvements
- Added
tff.learning.models.FunctionModelsupport to all methods intff.learning.algorithms. - Added support for
tf.data.DataSpectotff.types.infer_unplaced_type. - Use a
tensorflow::ThreadPoolfor parallelism inside the C++TensorFlowExecutor. - Introduced a new
tff.experimental_tf_fn_computationtracing decorator that usesFunctionDefinstead ofGraphDeftracing, providingtf.functionauto-control-dependencies. - Renamed
number_of_clientstonum_clientsin the federated program API. - Replaced the following API with composers API in
tff.learning.templates.-
tff.learning.framework.build_model_delta_optimizer_process -
tff.learning.framework.ClientDeltaFn
-
Bug Fixes
- Fixed a bug in the “Client-efficient large-model federated learning” tutorial to use the correct dense shape.
- Python
Published by michaelreneer over 3 years ago
tensorflow-federated - TensorFlow Federated 0.38.0
Release 0.38.0
Major Features and Improvements
- Added
tff.learning.models.FunctionalModelsupport totff.learning.algorithms.build_mime_lite. - Updated
tensorflow-privacyto 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.ModelWeightsand aliastff.learning.framework.ModelWeights, has now moved totff.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_computationtracing to also tracefunctools.partialobjects.
Known Bugs
- Colab compatibility: TFF requires Python 3.9 while Colab runtime uses Python 3.7.
- Python
Published by ZacharyGarrett over 3 years ago
tensorflow-federated - TensorFlow Federated 0.37.0
Release 0.37.0
Major Features and Improvements
- Added support for Python 3.10.
- Improved support for
numpyvalues in thetff.programAPI. - 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
jaxandjaxlibversion0.3.14. - Renamed
tff.program.CoroValueReferencetotff.program.AwaitableValueReferenceto 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.BaselineTaskhave 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@
- Python
Published by wushanshan over 3 years ago
tensorflow-federated - TensorFlow Federated 0.36.0
Release 0.36.0
Major Features and Improvements
- Added support for
tff.learning.models.FunctionalModeltotff.learning.algorithms.build_fed_sgdandtff.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
tensorflowto 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.
- Python
Published by michaelreneer almost 4 years ago
tensorflow-federated - 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-privacyto version0.8.5. - Added
tff.learning.entropy_compression_aggregator. - Added
tff.aggregators.EliasGammaEncodedSumFactory. - Added
tff.program.ClientIdDataSourceandtff.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_datatutorial. - 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.
- Python
Published by michaelreneer almost 4 years ago
tensorflow-federated - TensorFlow Federated 0.34.0
Release 0.34.0
Major Features and Improvements
- Updated to use
Bazelversion5.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.pyto explicitly fail topip installin Python 3.10. This has always been failing at runtime, but now explicitly fails to install usingpip. - Refreshed loadingremotedata notebook content and added content for
FederatedDataSource. - Added a TFF
type_signatureattribute 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
initializefromMapReduceForm. -
SequenceTypenow automatically casts anyStructWithPythonTypethat contains alistto atuplefortf.datacompatibility. - Unified the
model_fnandmodelparameters oftff.learning.algorithms.build_weighted_fed_avg. -
MapReduceFormnow takes atype_signatureargument in its constructor, and no longer takes aninitializeargument. -
MapReduceFormno longer contains aninitializeattribute.
Bug Fixes
- Relaxed overly strict type equivalence check to assignability in TFF-TF code generation.
- Python
Published by jkr26 almost 4 years ago
tensorflow-federated - TensorFlow Federated 0.33.0
Release 0.33.0
Major Features and Improvements
- Extend
tff.analytics.heavy_hitters.ibltwithcreate_chunkerAPI for encoding non-Unicode strings. - Extend
tff.aggregators.DifferentiallyPrivateFactory.tree_aggregationwith an optionalrecord_aggregation_factoryargument.
Breaking Changes
- Replaced
ModularClippingSumFactorywithSecureModularSumFactoryintff.analytics.build_hierarchical_histogram_process.
Known Bugs
- TFF's python 3.9 typing conflicts with Colab's Python 3.7 support.
- Python
Published by ZacharyGarrett almost 4 years ago
tensorflow-federated - 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.
- Python
Published by ZacharyGarrett almost 4 years ago
tensorflow-federated - TensorFlow Federated 0.31.0
Release 0.31.0
Major Features and Improvements
- Added
ReleaseManagers to make authoring program logic more convenient. - Updated TFFs
attrsdependency to version21.4.0. - Update TFFs
tensorflow-privacydependency to version0.8.1.
Breaking Changes
- Changed
tff.learning.BatchOutputfrom an attrs class to a namedtuple. - Removed unused
tff.learning.framework.parameter_count_from_modelAPI.
- Python
Published by hardik-vala almost 4 years ago
tensorflow-federated - TensorFlow Federated 0.30.0
Release 0.30.0
Major Features and Improvements
- Add tests for
namedtuples in thetff.programpackage. - Add
num_subroundsparameter 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_fnsand the downstream callertff.learning.algorithms.build_weighted_fed_avg.
Bug Fixes
- Fix typo in the types constructed for testing the
tff.programpackage. - 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.Structintegration with JAX pytrees to not flatten the entire structure. - Use Python 3.7 compatible type annotations until Colab updates to Python 3.9.
- Python
Published by wushanshan almost 4 years ago
tensorflow-federated - TensorFlow Federated 0.29.0
Release 0.29.0
Major Features and Improvements
- Update the
MemoryReleaseManagerto savetype_signaturewhen releasing values. - Add a
type_signatureparameter to theReleaseManager.releasemethod. - 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.pyinexecutor_stacksdirectory.
Bug Fixes
- Ensure that dataset deserialization will return ragged and sparse tensors, as needed according to the TFF type of the dataset.
- Make
metric_finalizersuse metric constructors if available.
- Python
Published by xiaoyux11 almost 4 years ago
tensorflow-federated - TensorFlow Federated 0.28.0
Release 0.28.0
Major Features and Improvements
- Updated tutorials to use
tff.learning.algorithmsAPI. - Asynchronous TFF execution contexts no longer assume a single global cardinality; they concurrently invoke any computation for which concurrency is requested.
Breaking Changes
- Removed
tff.learning.build_federated_averaging_process; users should migrate totff.learning.algorithms.build_weighted_fed_avg.
Bug Fixes
- Clarified semantics for TFF-C++ multimachine
Dispose,DisposeExecutor, and executor keying, to avoid raising exceptions and spamming logs in the course of normal operation. - Fixed unsigned integer overflow for TFF-C++
max_concurrent_computation_calls. - Normalizes on call-dominant form before attempting to compile to
MergeableCompForm, removing spurious failures on dependent-aggregation checking.
Known Bugs
- Serialization / deserialization of tf.data.Datasets yielding non-dense
tensors for multimachine runtime may encounter issues:
-
tff.framework.deserialize_valuemay fail to deserialize tf.data.Datasets yielding RaggedTensors or SparseTensors. -
tff.framework.serialize_valuemay fail to serialize tf.data.Datasets yielding SparseTensors.
-
- Python
Published by jkr26 almost 4 years ago
tensorflow-federated - TensorFlow Federated 0.27.0
Release 0.27.0
Major Features and Improvements
- New Colab notebook illustrating how to use
DataBackendto load remote datasets. - Added a CreateDataDescriptor helper function.
- Added a worker binary serving the TFF-C++ executor service.
Bug Fixes
- Fixed bug with intermediate aggregation and controller failures, causing hangs.
- Python
Published by hardik-vala about 4 years ago
tensorflow-federated - TensorFlow Federated 0.26.0
Release 0.26.0
Major Features and Improvements
- Updated TensorFlow to
2.9.1. - Update pybind11 to
2.9.2. - Re-enable cppfastprotos.
- Introduces container class to run coroutines in a dedicated thread, allowing TFF’s synchronous execution interfaces to be used in conjunction with other asyncio code.
- Use latest TFF version in Colab notebook links.
- Rename the helper functions that create test
MeasuredProcesses. - Add a compiler transform checking Tensorflow computations against list of allowed ops.
- Explicitly specify return types in the
programpackage. - Adds convenience function for setting a local async CPP execution context.
- Move jax components into a non-experimental namespace.
Breaking Changes
- Switch compilation flag
_GLIBCXX_USE_CXX11_ABIto1.
- Python
Published by hbmcmahan about 4 years ago
tensorflow-federated - TensorFlow Federated 0.25.0
Release 0.25.0
Major Features and Improvements
- Adds error message logging to TFF C++ execution context.
- Adds test coverage for C++ runtime with aggregators.
- Redefines 'workers going down with fixed clients per round' test.
- Add complete examples of using
DataBackendwith TFF comps. - Updated the MapReduceForm documentation to include the two additional secure sum intrinsics.
- tff.learning
- Relax the type check on LearningProcess from strictly SequenceType to also allow structures of SequenceType.
Breaking Changes
- Remove usage of
tff.test.TestCase,tff.test.main(), and deletetest_casemodule. - Update test utility docstrings to use consistent vocabulary.
- Update to TensorFlow 2.9.0
- Rename up
compiler/test_utilstocompiler/building_block_test_utils. - Remove some unnecessary usage of
pytype: skip-file. - Specify the
Nonereturn type ofReleaseManager.release. - Remove usage of deprecated numpy types.
- Replace depreciated
random_integerswithrandint.
Bug Fixes
- Fix numpy warning.
- Python
Published by wennanzhu about 4 years ago
tensorflow-federated - TensorFlow Federated 0.24.0
Release 0.24.0
Major Features and Improvements
- Added
asyncio.runcall to metrics manager release calls to ensure compatibility with https://github.com/tensorflow/federated/commit/a98b5ed6894c536549da06b4cc7ed116105dfe65. - Added an example and documentation for the Federated Program API.
- Improved
model_update_aggregatorto support structures with mixed floating dtypes. - Create a mirror of
tff.simulation.compose_dataset_computation_with_iterative_processfortff.learning.templates.LearningProcess. - Added logging of expected sequential computations to local TFF-C++ runtime.
Breaking Changes
- Moved asserts from
tff.test.TestCasetotff.test.*as functions. - Removed
assert_type_assignable_fromfunction. - Moved
assert_nested_struct_eqto thetype_conversions_testmodule. - Removed
client_train_processand fedavgdsloop comparisons.
Bug Fixes
- Fixed comparisons to enums in the benchmarks package.
- Fixed
async_utils.SharedAwaitableexception raiser. - Fixed various lint errors.
- Python
Published by wushanshan about 4 years ago
tensorflow-federated - TensorFlow Federated 0.23.0
Release 0.23.0
Major Features and Improvements
- Deprecated
tff.learning.build_federated_averaging_process. - Added an API to convert
tf.keras.metrics.Metricto a set of puretf.functions.
Breaking Changes
- Renamed
ProgramStateManager.versiontoProgramStateManager.get_versions.
Bug Fixes
- Fixed the "datasets/" path in the working with TFF's ClientData tutorial.
- Python
Published by xiaoyux11 about 4 years ago
tensorflow-federated - TensorFlow Federated 0.22.0
Release 0.22.0
Major Features and Improvements
- Updated .bazelversion to
5.1.1. - Updated the
tff.programAPI to useasyncio. - Exposed new APIs in the
tff.frameworkpackage:-
tff.framework.CardinalitiesType. -
tff.framework.PlacementLiteral. -
tff.framework.merge_cardinalities.
-
-
tff.analytics- Added new
analytic_gauss_stddevAPI.
- Added new
Breaking Changes
- Renamed
ProgramStateManager.versiontoProgramStateManager.get_versions.
Bug Fixes
- Fixed some Python lint errors related to linting Python 3.9.
- Cleaned up stale TODOs throughout the codebase.
Known Bugs
- Version 0.21.0 currently fails to import in colab if the version of Python is less than Python 3.9. Please use a runtime with a version of Python greater than Python 3.9 or use TFF version 0.20.0.
- Python
Published by michaelreneer about 4 years ago
tensorflow-federated - TensorFlow Federated 0.21.0
Release 0.21.0
Major Features and Improvements
-
tff.analytics- Added new
tff.analytics.IbltFactoryaggregation factory. - Added new IBTL tensor encoder/decoder libraries and uses them in
tff.analytics.heavy_hitters.iblt.build_iblt_computation.
- Added new
-
tff.aggregator- Added
as_weighted_aggregatorto thetff.aggregator.FactoryAPI.
- Added
-
tff.learning- Improved compilation and execution performance of
tff.learning.metrics.secure_sum_then_finalizeby grouping tensors by DType. - Added
set_model_weightsmethod and default implementation totff.learning.templates.LearningProcess. - Added a new
reset_metricsattribute totff.learning.Model. - Added
schedule_learning_ratetotff.learning.optimizers. - Added new
tff.learning.ddp_secure_aggregatorfor Distributed Differential Privacy.
- Improved compilation and execution performance of
-
tff.simulation- Added an option to distort train images in the CIFAR-100 baseline task.
- Changed the default sequence length for the Shakespeare baseline task to a more reasonable value.
- Core
- Switched runtime to create new RemoteExecutors with different cardinalities, rather than resetting the cardinality in the remote service.
Breaking Changes
- Removed support for Python 3.7 and 3.8, TFF supports 3.9 and later.
- Removed deprecated attributes
report_local_outputsandfederated_output_computationfromtff.learning.Model - Removed the
ingestmethod fromtff.Context
Bug Fixes
- Multiple typos in tests, code comments, and pydoc.
Known Bugs
- Sequences (datasets) of SparseTensors don't work on the C++ runtime.
- Computations when
CLIENTScardinality is zero doesn't work on the Python runtime. - Assigning variables to a Keras model after construction inside a
model_fnresults in a non-deterministic graph.
- Python
Published by ZacharyGarrett about 4 years ago
tensorflow-federated - TensorFlow Federated v0.20.0
Release 0.20.0
Major Features and Improvements
- Added
tff.programAPI; this API is still in active development but can be used to compose shared and platform specific: program logic, components, and privacy concepts to create federated programs. - Added support for Python 3.9.
- Added CelebA and iNaturalist datasets to
tff.simulation.datasets. - Added
tff.analyticsAPI for federated analytics, including private heavy hitters algorithms. - Added
tff.learning.algorithmsAPI, including TFF implementations of FedProx, FedAvg with learning rate scheduling, federated k-Means, and MimeLite. - Added
tff.learning.metricsAPI to support easy configuration of cross-client metrics aggregation via the newmetrics_aggregatorargument. - Added
metrics_aggregatorargument totff.learning.build_federated_averaging_processandtff.learning.build_federated_evaluation. - Added
report_local_unfinalized_metricsandmetric_finalizersmethods totff.learning.Modeland deprecatedreport_local_outputsandfederated_output_computation. - Added
tff.learning.optimizersAPI for building purely functional optimizers and implementations of SGD, Adagrad, Rmsprop, Adam, Yogi, - Added
tff.learning.reconstructionAPI for building partially local federated learning algorithms, including Federated Reconstruction. - Added
tff.learning.templatesAPI to support building learning algorithms in a modular fashion. - Added
tff.simulation.baselinesAPI to support evaluating learning algorithms on a suite of representative tasks. - Added
tff.aggregators.DifferentiallyPrivateFactory.tree_aggregationto support the DP-FTRL algorithm. - Added
tff.aggrgators.SecureModularSumFactory - Added
tff.aggregators.DiscreteFourierTransformFactoryandtff.aggregators.HadamardTransformFactoryto support rotation-based aggregators. - Added
tff.aggregators.concat_factoryfor aggregating structures as a single tensor. - Added
tff.backends.native.create_mergeable_comp_execution_context,tff.backends.native.set_mergeable_comp_execution_context; these can be used with a distributed runtime to scale to tens of thousands of clients. - Improved performance of many
tff.simulation.datasets.ClientDatasubclasses. - Added
tff.simulation.datasets.ClientData.serializable_dataset_fnattribute, enabling dataset creation within TF/TFF computations. - Added
debug_measurementsoption to aggregators intff.learning. - Added support for unambiguous zero-client aggregations.
- Added support for Python dataclasses as function parameters and return values for TFF computations.
- Added automatic insertion of
tff.federated_zipto invocation of user-defined TFF federated computations. - Added utilities to
tff.simulation.datasetsfor saving federated datasets to a SQL database compatible withtff.simulation.datasets.SqlClientData. - Added
tff.learning.models.FunctionalModelandtff.learning.models.functional_model_from_keras. - Increased max flow of tensors. Tensors now flow here, there, and everywhere.
- Updated the Python dependencies:
- Updated
absl-pyto version1.0.0. - Updated
attrsto version21.2.0. - Added
farmhashpyversion0.4.0. - Updated
jaxto version0.2.27. - Updated
jaxlibto version0.1.76. - Updated
numpyto version1.21.4. - Removed
retrying. - Updated
tensorflow-model-optimizationto version0.7.1. - Updated
tensorflow-model-optimizationto version0.7.3. - Updated
tensorflowto version2.8.0. - Added support for building many dependencies including
tensorflowusing Bazel. - Updated the Bazel dependencies:
- Updated
rules_pythonto version0.5.0. - Updated
com_google_protobufto versionv3.18.0-rc1. - Added
absl_pyversion1.0.0. - Added
com_google_googletestversionrelease-1.11.0. - Added
io_bazel_rules_goversionv0.29.0. - Added
bazel_skylibversion1.0.3. - Added
pybind11_abseil. - Added
pybind11_bazel. - Added
pybind11_protobuf. - Added
com_google_abslversion20211102.0. - Added
tensorflow_orgversionv2.8.0.
Breaking Changes
- Removed support for building source on MacOS.
- Removed support for Python 3.6.
- Removed symbol
tff.framework.type_contains, usetff.types.containsinstead. - Removed many symbols from
tff.simulation, these can be found intff.programinstead. - Removed support for converting non-OrderedDict mapping types to
tff.Values. - Removed
tff.simulation.datasets.ClientData.from_clients_and_fnin favor oftff.simulation.datasets.ClientData.from_clients_and_tf_fn. - Restricted
tff.simulation.datasets.ClientData.preprocessto only support TF-serializable functions. - Removed
tff.backends.reference, and the reference context it contained. - Removed
tff.learning.build_federated_sgd_processin favor oftff.learning.algorithms.build_fed_sgd. - Removed
tff.simulation.run_simulationin favor oftff.simulation.run_training_process. - Removed
tff.learning.framework.EnhancedModel. - Removed
tff.learning.framework.build_stateless_mean.
Bug Fixes
- Fixed broken links in documentation.
- Fixed many pytype errors.
- Fixed some inconsistencies in Bazel visibility.
- Fixed bug where
tff.simulation.datasets.gldv2.load_data()would result in an error.
- Python
Published by michaelreneer over 4 years ago
tensorflow-federated - TensorFlow Federated 0.19.0
Release 0.19.0
Major Features and Improvements
- Introduced new intrinsics:
federated_selectandfederated_secure_select. - New
tff.structure_from_tensor_type_treeto help manipulate structures oftff.TensorTypeinto structures of values. - Many new
tff.aggregatorsfactory implementations. - Introduced
tf.dataconcept for data URIs. - New
tff.typepackage with utilities for working withtff.Typevalues. - Initial experimental support for
tff.jax_computation. - Extend
tff.tf_computationsupport toSpareTensorandRaggedTensor.
Breaking Changes
- Update gRPC dependency to 1.34.
- Moved
ClientDatainterface and implementations totff.simulation.datasets. - Renamed
tff.utils.update_statetotff.structure.update_struct. - Removed the
tff.utilsnamespace, all symbols have migrated, many totff.aggregators. - Moved infinite EMNIST dataset to federated research repository.
- Removes
rpc_modeargument to remote executors, along with streaming mode. - Removes deprecated
tff.federated_apply. - Removes
tff.federated_reduce, all usages can usetff.federated_aggregate. - Removes
HDF5ClientDataandh5pypip dependency. - Removes
setattrfunctionality ontff.ValueImpl.
Bug Fixes
- Improved
tf.GraphDefcomparisons. - Force close generators used for sending functions to computation wrappers, avoiding race conditions in Colab.
- Fix tracing libraries asyncio usage to be Python3.9 compatible.
- Fix issue with destruction of type intern pool destructing and
abc. - Fix type interning for tensors with unknown dimensions.
- Fix
ClientData.create_dataset_from_all_clientsconsuming unreasonable amounts of memory/compute time.
- Python
Published by ZacharyGarrett about 5 years ago
tensorflow-federated - TensorFlow Federated 0.18.0
Release 0.18.0
Major Features and Improvements
- Extended the
tff.simulationpackage to add many new tools for running simulations (checkpoints and metrics managers, client sampling functions). - Extended the
tff.aggregatorspackage with a number of new aggregation factories. - Added the
tff.structureAPI to expose theStructclass and related functions. - Added the
tff.profilerAPI to expose useful profiling related functions. - Added the
tff.backends.testpackage to expose backends that focused on testing specifically a way to test a computation with afederated_secure_sumintrinsic. - Added the
tff.experimentalpackage to expose less stable API.
Breaking Changes
- Replaced the
tff.aggregators.AggregationProcessFactoryabstract base class with thetff.aggregators.UnweightedAggregationFactoryand thetff.aggregators.WeightedAggregationFactoryclasses. - Replaced the
tff.aggregators.ZeroingFactoryclass with atff.aggregators.zeroing_factoryfunction with the same input arguments. - Replaced the
tff.aggregators.ClippingFactoryclass with atff.aggregators.clipping_factoryfunction with the same input arguments. - Updated
tensorflowpackage dependency to2.4.0. - Updated
absl-pypackage dependency to0.10. - Updated
grpciopackage dependency to1.32.0. - Added a
jaxlibpackage dependency at0.1.55. - Updated
numpypackage dependency to1.19.2. - Updated
tensorflow-addonspackage dependency to0.12.0. - Updated
tensorflow-model-optimizationpackage dependency to0.5.0.
Bug Fixes
- Fixed issue with the
sequence_reduceintrinsic handling federated types.
- Python
Published by michaelreneer over 5 years ago
tensorflow-federated - TensorFlow Federated 0.17.0
Major Features and Improvements
- New
tff.aggregatorspackage with interfaces for stateful aggregation compositions. - New Google Landmark Dataset
tff.simulations.dataset.gldv2 - New convenience APIs
tff.type_clientsandtff.type_at_server - Invert control of computation tracing methods to produce clearer Python stack traces on error.
- Move executor creation to a factory pattern in executor service, allowing distributed runtimes to be agnostic to number of clients.
- Significant improvements of type serialization/deserialization
- New
tff.simulations.compose_dataset_computation_with_iterative_processAPI to move execution of client dataset construction to executor stack leaves. - Extend parameterization of
tff.learning.build_federated_averaging_processwithuse_experimental_simulation_loopargument to better utilize multi-GPU setups.
Breaking Changes
- Removed
tff.utils.StatefulFn, replaced bytff.templates.MeasuredProcess. - Removed
tff.learning.assign_weights_to_keras_model - Stop removing
OptimizeDatasetops fromtff.tf_computations. - The
research/directory has been moved to http://github.com/google-research/federated. - Updates to
input_specargument fortff.learning.from_keras_model. - Updated TensorFlow dependency to
2.3.0. - Updated TensorFlow Model Optimization dependency to
0.4.0.
Bug Fixes
- Fixed streaming mode hang in remote executor.
- Wrap
collections.namedtuple._asdictcalls incollections.OrderedDictto support Python 3.8. - Correctly serialize/deserialize
tff.TensorTypewith unknown shapes. - Cleanup TF lookup HashTable resources in TFF execution.
- Fix bug in Shakespeare dataset where OOV and last vocab character were the same.
- Fix TFF ingestion of Keras models with shared embeddings.
- Closed hole in compilation to CanonicalForm.
Known Bugs
- "Federated Learning for Image Classification" tutorial fails to load
projectorplugin for tensorboard (https://github.com/tensorflow/federated/issues/914). - Certain Keras models with activity regularization fail in execution with unliftable error (https://github.com/tensorflow/federated/issues/913).
Thanks to our Contributors
This release contains contributions from many people at Google, as well as:
@amitport, @ronaldseoh
- Python
Published by ZacharyGarrett over 5 years ago
tensorflow-federated - TensorFlow Federated 0.16.1
Release 0.16.1
Bug Fixes
- Fixed issue preventing Python
lists beingall_equalvalues.
- Python
Published by michaelreneer almost 6 years ago
tensorflow-federated - TensorFlow Federated 0.16.0
Release 0.16.0
Major Features and Improvements
- Mirrored user-provided types and minimize usage of
AnonymousTuple.
Breaking Changes
- Renamed
AnonymousTupletoStruct.
- Python
Published by michaelreneer almost 6 years ago
tensorflow-federated - TensorFlow Federated 0.15.0
Release 0.15.0
Major Features and Improvements
- Updated
tensorflow-addonspackage dependency to0.9.0. - Added API to expose the native backend more conveniently. See
tff.backends.native.*for more information. - Added a compiler argument to the
tff.framework.ExecutionContextAPI and provided a compiler for the native execution environment, which improves TFF’s default concurrency pattern. - Introduced a new
tff.templates.MeasuredProcessconcept, a specialization oftff.templates.IterativeProcess. - Extends
tff.learninginterfaces to accepttff.templates.MeasuredProcessobjects for aggregation and broadcast computations. - Introduce new convenience method
tff.learning.weights_type_from_model. - Introduced the concept of a
tff.framework.FederatingStrategy, which parameterizes thetff.framework.FederatingExecutorso that the implementation of a specific intrinsic is easier to provide. - Reduced duplication in TFF’s generated ASTs.
- Enabled usage of GPUs on remote workers.
- Documentation improvements.
Breaking Changes
- The
IterativeProcessreturn fromtff.learning.build_federated_averaging_processandtff.learning.build_federated_sgd_processnow zip the second tuple output (the metrics) to change the result from a structure of federated values to to a federated structure of values. - Removed
tff.framework.set_default_executorfunction, instead you should use the more convenienttff.backends.native.set_local_execution_contextfunction or manually construct a context an set it usingtff.framework.set_default_context. - The
tff.Computationbase class now contains an abstract__hash__method, to ensure compilation results can be cached. Any custom implementations of this interface should be updated accordingly.
Bug Fixes
- Fixed issue for missing variable initialization for variables explicitly not added to any collections.
- Fixed issue where table initializers were not run if the
tff.tf_computationdecorated function used no variables.
Thanks to our Contributors
This release contains contributions from many people at Google, as well as:
jvmcns@
- Python
Published by michaelreneer almost 6 years ago
tensorflow-federated - TensorFlow-Federated 0.14.0
Release 0.14.0
Major Features and Improvements
- Multiple TFF execution speedups.
- New
tff.templates.MeasuredProcessspecialization ofIterativeProcess. - Increased optimization of the
tff.templates.IterativeProcess->tff.backends.mapreduce.CanonicalFormcompiler.
Breaking Changes
- Moved
tff.utils.IterativeProcesstotff.templates.IterativeProcess. - Removed
tff.learning.TrainableModel, client optimizers are now arguments on thetff.learning.build_federated_averaging_process. - Bump required version of pip packages for tensorflow (2.2), numpy (1.18), pandas (0.24), grpcio (1.29).
Bug Fixes
- Issue with GPUs in multimachine simulations not being utilized, and bug on deserializing datasets with GPU-backed runtime.
- TensorFlow lookup table initialization failures.
Known Bugs
- In some situations, TF will attempt to push Datasets inside of tf.functions over GPU device boundaries, which fails by default. This can be hit by certain usages of TFF, e.g. as tracked here.
Thanks to our Contributors
This release contains contributions from many people at Google, as well as:
jvmcns@
- Python
Published by jkr26 about 6 years ago
tensorflow-federated - TensorFlow Federated 0.13.1
Release 0.13.1
Bug Fixes
- Fixed issues in tutorial notebooks.
- Python
Published by michaelreneer over 6 years ago
tensorflow-federated - TensorFlow Federated 0.13.0
Release 0.13.0
Major Features and Improvements
- Updated
absl-pypackage dependency to0.9.0. - Updated
h5pypackage dependency to2.8.0. - Updated
numpypackage dependency to1.17.5. - Updated
tensorflow-privacypackage dependency to0.2.2.
Breaking Changes
- Deprecated
dummy_batchparameter of thetff.learning.from_keras_modelfunction.
Bug Fixes
- Fixed issues with executor service using old executor API.
- Fixed issues with remote executor test using old executor API.
- Fixed issues in tutorial notebooks.
- Python
Published by michaelreneer over 6 years ago
tensorflow-federated - TensorFlow Federated 0.12.0
Release 0.12.0
Major Features and Improvements
- Upgraded tensorflow dependency from
2.0.0to2.1.0. - Upgraded tensorflow-addons dependency from
0.6.0to0.7.0. - Upgraded attr dependency from
18.2to19.3. - Upgraded tfmot dependency from
0.1.3to0.2.1. - Added a federated partition of the CIFAR-100 dataset to
tff.simulation.datasets.cifar100. - Made the high performance, parallel executor the default (replacing the reference executor).
- Added a new
tff.learning.build_personalization_evalfor evaluating model personalization strategies. - Added new federated intrinsic
tff.federated_secure_sum. -
tff.learning.build_federated_averaing_process()now takes aclient_optimizer_fnand atff.learning.Model.tff.learning.TrainableModelis now deprecated. - Improved performance in the high performance executor stack.
- Implemented and exposed
tff.framework.ExecutorFactory; alltff.framework...executor_factorycalls now return an instance of this class. - Added
remote_executor_examplebinary which demonstrates using the RemoteExecutor across multi-machine deployments. - Added
close()method to the Executor, allowing subclasses to proactively release resources. - Updated documentation and scripts for creating Docker images of the TFF runtime.
- Automatically call
tff.federated_zipon inputs to other federated intrinsics.
Breaking Changes
- Dropped support for Python2.
- Renamed
tff.framework.create_local_executor(and similar methods) totff.framework.local_executor_factory. - Deprecated
federated_apply(), instead usefederated_map()for all placements.
Bug Fixes
- Fixed problem with different instances of the same model having different
named types.
tff.learning.ModelWeightsno longer names the tuple fields returned for model weights, instead relying on an ordered list. -
tff.sequence_*on unplaced types now correctly returns atff.Value.
Known Bugs
-
tff.sequence_*.. operations are not implemented yet on the new high-performance executor stack. - A subset of previously-allowed lambda captures are no longer supported on the new execution stack.
- Python
Published by ZacharyGarrett over 6 years ago
tensorflow-federated - Tensorflow Federated 0.11.0
Major Features and Improvements
- Python 2 support is now deprecated and will be removed in a future release.
-
federated_mapnow works with bothtff.SERVERandtff.CLIENTplacements. -
federated_zipreceived significant performance improvements and now works recursively. - Added retry logic to gRPC calls in the execution stack.
Breaking Changes
-
collections.OrderedDictis now required in many places rather than standard Python dictionaries.
Bug Fixes
- Fixed computation of the number of examples when Keras is using multiple inputs.
- Fixed an assumption that
tff.framework.Tupleis returned fromIterativeProcess.next. - Fixed argument packing in polymorphic invocations on the new executor API.
- Fixed support for
dir()inValueImpl. - Fixed a number of issues in the Colab / Jupyter notebook tutorials.
- Python
Published by cramertj over 6 years ago
tensorflow-federated - TensorFlow Federated 0.10.1
Release 0.10.1
Bug Fixes
- Updated to use
grpcio1.24.3.
- Python
Published by michaelreneer over 6 years ago
tensorflow-federated - TensorFlow Federated 0.10.0
Release 0.10.0
Major Features and Improvements
- Add a
federated_sampleaggregation that is used to collect a sample of client values on the server using reservoir sampling. - Updated to use
tensorflow2.0.0andtensorflow-addons0.6.0instead of the coorisponding nightly package in thesetup.pyfor releasing TFF Python packages. - Updated to use
tensorflow-privacy0.2.0. - Added support for
attr.sclasses type annotations. - Updated streaming
Executemethod ontff.framework.ExecutorServiceto be asynchronous. - PY2 and PY3 compatability.
- Python
Published by michaelreneer over 6 years ago
tensorflow-federated - TensorFlow Federated 0.9.0
Release 0.9.0
Major Features and Improvements
- TFF is now fully compatible and dependent on TensorFlow 2.0
- Add stateful aggregation with differential privacy using TensorFlow Privacy (https://pypi.org/project/tensorflow-privacy/).
- Additional stateful aggregation lwith compression using TensorFlow Model Optimization (https://pypi.org/project/tensorflow-model-optimization/).
- Improved executor stack for simulations, documentation and scripts for starting simulations on GCP.
- New libraries for creating synthetic IID and non-IID datsets in simulation.
Breaking Changes
-
examplespackage split tosimulationandresearch.
Bug Fixes
- Various error message string improvements.
- Dataset serialization fixed for V1/V2 datasets.
-
tff.federated_aggregatesupportsaccumulate,mergeandreportmethods with signatures containing tensors with undefined dimensions.
- Python
Published by ZacharyGarrett over 6 years ago
tensorflow-federated - TensorFlow Federated 0.8.0
Release 0.8.0
Major Features and Improvements
- Improvements in the executor stack: caching, deduplication, bi-directional streaming mode, ability to specify physical devices.
- Components for integration with custom mapreduce backends
(
tff.backends.mapreduce). - Improvements in simulation dataset APIs:
ConcreteClientData, random seeds, stack overflow dataset, updated documentation. - Utilities for encoding and various flavors of aggregation.
Breaking Changes
- Removed support for the deprecated
tf.data.Datasetstring iterator handle. - Bumps the required versions of grpcio and tf-nightly.
Bug Fixes
- Fixes in notebooks, typos, etc.
- Assorted fixes to align with TF 2.0.
- Fixes thread cleanup on process exit in the high-performance executor.
Thanks to our Contributors
This release contains contributions from many people at Google, as well as:
Gui-U@, Krishna Pillutla, Sergii Khomenko.
- Python
Published by krzys-ostrowski almost 7 years ago
tensorflow-federated - TensorFlow Federated 0.7.0
Release 0.7.0
Major Features and Improvements
- High-performance simulation components and tutorials.
Breaking Changes
- Refactoring/consolidation in utility functions in tff.framework.
- Switches some of the tutorials to new PY3-only executor stack components.
Bug Fixes
- Includes the
examplesdirectory in the pip package. - Pip installs for TensorFlow and TFF in turorials.
- Patches for asyncio in tutorials for use in Jupyter notebooks.
- Python 3 compatibility issues.
- Support for
federated_map_all_equalin the reference executor. - Adds missing implementations of generic constants and operator intrinsics.
- Fixes missed link in compatibility section of readme.
- Adds some of the missing intrinsic reductions.
Thanks to our Contributors
This release contains contributions from many people at Google.
- Python
Published by krzys-ostrowski almost 7 years ago
tensorflow-federated - TensorFlow Federated 0.6.0
Release 0.6.0
Major Features and Improvements
- Support for multiple outputs and loss functions in
kerasmodels. - Support for stateful broadcast and aggregation functions in federated averaging and federated SGD APIs.
-
tff.utils.update_stateextended to handle more generalstatearguments. - Addition of
tff.utils.federated_minandtff.utils.federated_max. - Shuffle
client_idsincreate_tf_dataset_from_all_clientsby default to aid optimization.
Breaking Changes
- Dependencies added to
requirements.txt; in particular,grpcioandportpicker.
Bug Fixes
- Removes dependency on
tf.data.experimental.NestedStructure.
Thanks to our Contributors
This release contains contributions from many people at Google, as well as:
Dheeraj R Reddy, @Squadrick.
- Python
Published by jkr26 almost 7 years ago
tensorflow-federated - TensorFlow Federated 0.5.0
Release 0.5.0
Major Features and Improvements
- Removed source level TF dependencies and switched from
tensorflowtotf-nightlydependency. - Add support for
attrmodule in TFF type system. - Introduced new
tff.frameworkinterface layer. - New AST transformations and optimizations.
- Preserve Python container usage in
tff.tf_computation.
Bug Fixes
- Updated TFF model to reflect Keras
tf.keras.model.weightsorder. - Keras model with multiple inputs. #416
- Python
Published by michaelreneer about 7 years ago
tensorflow-federated - TensorFlow Federated 0.4.0
Release 0.4.0
Major Features and Improvements
- New
tff.simulation.TransformingClientDataAPI and associated inifinite EMNIST dataset (see tensorflow.org/federated/api_docs/python/tff for details)
Breaking Change
- Normalized
functofnacross the repository (rename some parameters and functions)
Bug Fixes
- Wrapped Keras models can now be used with
tff.learning.build_federated_evaluation - Keras models with non-trainable variables in intermediate layers (e.g. BatchNormalization) can be assigned back to Keras models with
tff.learning.ModelWeights.assign_weights_to
- Python
Published by ZacharyGarrett about 7 years ago
tensorflow-federated - TensorFlow Federated 0.3.0
Breaking Changes
- Rename
tff.learning.federated_averagetotff.learning.federated_mean. - Rename
funcarguments tofnthroughout the API.
Bug Fixes
- Assorted fixes to typos in documentation and setup scripts.
- Python
Published by krzys-ostrowski about 7 years ago
tensorflow-federated - TensorFlow Federated 0.2.0
Release 0.2.0
Major Features and Improvements
- Updated to use TensorFlow version 1.13.1.
- Implemented Federated SGD in
tff.learning.build_federated_sgd_process().
Breaking Changes
next()function oftff.utils.IteratedProcesss returned bybuild_federated_*_process()no longer unwraps single value tuples (always returns a tuple).
Bug Fixes
- Modify setup.py to require TensorFlow 1.x and not upgrade to 2.0 alpha.
- Stop unpacking single value tuples in
next()function of objects returned bybuild_federated_*_process(). - Clear cached Keras sessions when wrapping Keras models to avoid referencing stale graphs.
- Python
Published by jkr26 over 7 years ago
tensorflow-federated - TensorFlow Federated 0.1.0
Release 0.1.0
Initial public release.
- Python
Published by michaelreneer over 7 years ago