- Updated to use
grpcio
1.24.3
.
- Add a
federated_sample
aggregation that is used to collect a sample of client values on the server using reservoir sampling. - Updated to use
tensorflow
2.0.0
andtensorflow-addons
0.6.0
instead of the coorisponding nightly package in thesetup.py
for releasing TFF Python packages. - Updated to use
tensorflow-privacy
0.2.0
. - Added support for
attr.s
classes type annotations. - Updated streaming
Execute
method ontff.framework.ExecutorService
to be asynchronous. - PY2 and PY3 compatability.
- 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.
examples
package split tosimulation
andresearch
.
- Various error message string improvements.
- Dataset serialization fixed for V1/V2 datasets.
tff.federated_aggregate
supportsaccumulate
,merge
andreport
methods with signatures containing tensors with undefined dimensions.
- 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.
- Removed support for the deprecated
tf.data.Dataset
string iterator handle. - Bumps the required versions of grpcio and tf-nightly.
- Fixes in notebooks, typos, etc.
- Assorted fixes to align with TF 2.0.
- Fixes thread cleanup on process exit in the high-performance executor.
This release contains contributions from many people at Google, as well as:
Gui-U@, Krishna Pillutla, Sergii Khomenko.
- High-performance simulation components and tutorials.
- Refactoring/consolidation in utility functions in tff.framework.
- Switches some of the tutorials to new PY3-only executor stack components.
- Includes the
examples
directory 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_equal
in 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.
This release contains contributions from many people at Google.
- Support for multiple outputs and loss functions in
keras
models. - Support for stateful broadcast and aggregation functions in federated averaging and federated SGD APIs.
tff.utils.update_state
extended to handle more generalstate
arguments.- Addition of
tff.utils.federated_min
andtff.utils.federated_max
. - Shuffle
client_ids
increate_tf_dataset_from_all_clients
by default to aid optimization.
- Dependencies added to
requirements.txt
; in particular,grpcio
andportpicker
.
- Removes dependency on
tf.data.experimental.NestedStructure
.
This release contains contributions from many people at Google, as well as:
Dheeraj R Reddy, @Squadrick.
- Removed source level TF dependencies and switched from
tensorflow
totf-nightly
dependency. - Add support for
attr
module in TFF type system. - Introduced new
tff.framework
interface layer. - New AST transformations and optimizations.
- Preserve Python container usage in
tff.tf_computation
.
- Updated TFF model to reflect Keras
tf.keras.model.weights
order. - Keras model with multiple inputs. #416
- New
tff.simulation.TransformingClientData
API and associated inifinite EMNIST dataset (see http://tensorflow.org/federated/api_docs/python/tff for details)
- Normalized
func
tofn
across the repository (rename some parameters and functions)
- 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
- Rename
tff.learning.federated_average
totff.learning.federated_mean
. - Rename 'func' arguments to 'fn' throughout the API.
- Assorted fixes to typos in documentation and setup scripts.
- Updated to use TensorFlow version 1.13.1.
- Implemented Federated SGD in
tff.learning.build_federated_sgd_process()
.
next()
function oftff.utils.IteratedProcess
s returned bybuild_federated_*_process()
no longer unwraps single value tuples (always returns a tuple).
- 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.
Initial public release.