Commit 53eb3a5d authored by Keith Rush's avatar Keith Rush Committed by A. Unique TensorFlower
Browse files

Increment version and add release notes for TFF 0.6.0.

PiperOrigin-RevId: 255260630
parent f72d215c
......@@ -88,6 +88,7 @@ versions.
TensorFlow Federated | TensorFlow
------------------------------------------------------------ | ----------
[master](https://github.com/tensorflow/federated) | [tf-nightly 1.x](https://pypi.org/project/tf-nightly/)
[0.6.0](https://github.com/tensorflow/federated/tree/v0.5.0) | [tf-nightly 1.15.0.dev20190626](https://pypi.org/project/tf-nightly/1.15.0.dev20190626/)
[0.5.0](https://github.com/tensorflow/federated/tree/v0.5.0) | [tf-nightly 1.14.1.dev20190528](https://pypi.org/project/tf-nightly/1.14.1.dev20190528/)
[0.4.0](https://github.com/tensorflow/federated/tree/v0.4.0) | [tensorflow 1.13.1](https://pypi.org/project/tensorflow/1.13.1)
[0.3.0](https://github.com/tensorflow/federated/tree/v0.3.0) | [tensorflow 1.13.1](https://pypi.org/project/tensorflow/1.13.1)
......
# Release 0.6.0
## Major Features and Improvements
* 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 general `state` arguments.
* Addition of `tff.utils.federated_min` and `tff.utils.federated_max`.
* Shuffle `client_ids` in `create_tf_dataset_from_all_clients` by default to
aid optimization.
## Breaking Changes
* Dependencies added to `requirements.txt`; in particular, `grpcio` and
`portpicker`.
## 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.
# Release 0.5.0
## Major Features and Improvements
* Removed source level TF dependencies and switched from `tensorflow` to
`tf-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`.
* Removed source level TF dependencies and switched from `tensorflow` to
`tf-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`.
## Bug Fixes
* Updated TFF model to reflect Keras `tf.keras.model.weights` order.
* Keras model with multiple inputs. #416
* Updated TFF model to reflect Keras `tf.keras.model.weights` order.
* Keras model with multiple inputs. #416
# Release 0.4.0
## Major Features and Improvements
* New `tff.simulation.TransformingClientData` API and associated inifinite
EMNIST dataset (see http://tensorflow.org/federated/api_docs/python/tff for
details)
* New `tff.simulation.TransformingClientData` API and associated inifinite
EMNIST dataset (see http://tensorflow.org/federated/api_docs/python/tff for
details)
## Breaking Change
* Normalized `func` to `fn` across the repository (rename some parameters and
functions)
* Normalized `func` to `fn` across 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`
* 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`
# Release 0.3.0
## Breaking Changes
* Rename `tff.learning.federated_average` to `tff.learning.federated_mean`.
* Rename 'func' arguments to 'fn' throughout the API.
* Rename `tff.learning.federated_average` to `tff.learning.federated_mean`.
* Rename 'func' arguments to 'fn' throughout the API.
## Bug Fixes
* Assorted fixes to typos in documentation and setup scripts.
* Assorted fixes to typos in documentation and setup scripts.
# 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()`.
* Updated to use TensorFlow version 1.13.1.
* Implemented Federated SGD in `tff.learning.build_federated_sgd_process()`.
## Breaking Changes
* `next()` function of `tff.utils.IteratedProcess`s returned by
`build_federated_*_process()` no longer unwraps single value tuples
(always returns a tuple).
* `next()` function of `tff.utils.IteratedProcess`s returned by
`build_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 by
`build_federated_*_process()`.
* Clear cached Keras sessions when wrapping Keras models to avoid referencing
stale graphs.
* 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
by `build_federated_*_process()`.
* Clear cached Keras sessions when wrapping Keras models to avoid referencing
stale graphs.
# Release 0.1.0
......
......@@ -27,14 +27,14 @@
<table class="tfo-notebook-buttons" align="left">
<td>
<a target="_blank" href="https://www.tensorflow.org/federated/tutorials/custom_federated_algorithms_1"><img src="https://www.tensorflow.org/images/tf_logo_32px.png" />View on TensorFlow.org</a>
</td>
<td>
<a target="_blank" href="https://colab.research.google.com/github/tensorflow/federated/blob/v0.5.0/docs/tutorials/custom_federated_algorithms_1.ipynb"><img src="https://www.tensorflow.org/images/colab_logo_32px.png" />Run in Google Colab</a>
<a target="_blank" href="https://colab.research.google.com/github/tensorflow/federated/blob/v0.6.0/docs/tutorials/custom_federated_algorithms_1.ipynb"><img src="https://www.tensorflow.org/images/colab_logo_32px.png" />Run in Google Colab</a>
</td>
<td>
<a target="_blank" href="https://github.com/tensorflow/federated/blob/v0.5.0/docs/tutorials/custom_federated_algorithms_1.ipynb"><img src="https://www.tensorflow.org/images/GitHub-Mark-32px.png" />View source on GitHub</a>
<a target="_blank" href="https://github.com/tensorflow/federated/blob/v0.6.0/docs/tutorials/custom_federated_algorithms_1.ipynb"><img src="https://www.tensorflow.org/images/GitHub-Mark-32px.png" />View source on GitHub</a>
</td>
</table>
%% Cell type:markdown id: tags:
......
......@@ -27,14 +27,14 @@
<table class="tfo-notebook-buttons" align="left">
<td>
<a target="_blank" href="https://www.tensorflow.org/federated/tutorials/custom_federated_algorithms_2"><img src="https://www.tensorflow.org/images/tf_logo_32px.png" />View on TensorFlow.org</a>
</td>
<td>
<a target="_blank" href="https://colab.research.google.com/github/tensorflow/federated/blob/v0.5.0/docs/tutorials/custom_federated_algorithms_2.ipynb"><img src="https://www.tensorflow.org/images/colab_logo_32px.png" />Run in Google Colab</a>
<a target="_blank" href="https://colab.research.google.com/github/tensorflow/federated/blob/v0.6.0/docs/tutorials/custom_federated_algorithms_2.ipynb"><img src="https://www.tensorflow.org/images/colab_logo_32px.png" />Run in Google Colab</a>
</td>
<td>
<a target="_blank" href="https://github.com/tensorflow/federated/blob/v0.5.0/docs/tutorials/custom_federated_algorithms_2.ipynb"><img src="https://www.tensorflow.org/images/GitHub-Mark-32px.png" />View source on GitHub</a>
<a target="_blank" href="https://github.com/tensorflow/federated/blob/v0.6.0/docs/tutorials/custom_federated_algorithms_2.ipynb"><img src="https://www.tensorflow.org/images/GitHub-Mark-32px.png" />View source on GitHub</a>
</td>
</table>
%% Cell type:markdown id: tags:
......
......@@ -27,20 +27,20 @@
<table class="tfo-notebook-buttons" align="left">
<td>
<a target="_blank" href="https://www.tensorflow.org/federated/tutorials/federated_learning_for_image_classification"><img src="https://www.tensorflow.org/images/tf_logo_32px.png" />View on TensorFlow.org</a>
</td>
<td>
<a target="_blank" href="https://colab.research.google.com/github/tensorflow/federated/blob/v0.5.0/docs/tutorials/federated_learning_for_image_classification.ipynb"><img src="https://www.tensorflow.org/images/colab_logo_32px.png" />Run in Google Colab</a>
<a target="_blank" href="https://colab.research.google.com/github/tensorflow/federated/blob/v0.6.0/docs/tutorials/federated_learning_for_image_classification.ipynb"><img src="https://www.tensorflow.org/images/colab_logo_32px.png" />Run in Google Colab</a>
</td>
<td>
<a target="_blank" href="https://github.com/tensorflow/federated/blob/v0.5.0/docs/tutorials/federated_learning_for_image_classification.ipynb"><img src="https://www.tensorflow.org/images/GitHub-Mark-32px.png" />View source on GitHub</a>
<a target="_blank" href="https://github.com/tensorflow/federated/blob/v0.6.0/docs/tutorials/federated_learning_for_image_classification.ipynb"><img src="https://www.tensorflow.org/images/GitHub-Mark-32px.png" />View source on GitHub</a>
</td>
</table>
%% Cell type:markdown id: tags:
**NOTE**: This colab has been verified to work with the `0.5.0` version of the `tensorflow_federated` pip package, but the Tensorflow Federated project is still in pre-release development and may not work on `master`.
**NOTE**: This colab has been verified to work with the `0.6.0` version of the `tensorflow_federated` pip package, but the Tensorflow Federated project is still in pre-release development and may not work on `master`.
In this tutorial, we use the classic MNIST training example to introduce the
Federated Learning (FL) API layer of TFF, `tff.learning` - a set of
higher-level interfaces that can be used to perform common types of federated
learning tasks, such as federated training, against user-supplied models
......
......@@ -27,20 +27,20 @@
<table class="tfo-notebook-buttons" align="left">
<td>
<a target="_blank" href="https://www.tensorflow.org/federated/tutorials/federated_learning_for_text_generation"><img src="https://www.tensorflow.org/images/tf_logo_32px.png" />View on TensorFlow.org</a>
</td>
<td>
<a target="_blank" href="https://colab.research.google.com/github/tensorflow/federated/blob/v0.5.0/docs/tutorials/federated_learning_for_text_generation.ipynb"><img src="https://www.tensorflow.org/images/colab_logo_32px.png" />Run in Google Colab</a>
<a target="_blank" href="https://colab.research.google.com/github/tensorflow/federated/blob/v0.6.0/docs/tutorials/federated_learning_for_text_generation.ipynb"><img src="https://www.tensorflow.org/images/colab_logo_32px.png" />Run in Google Colab</a>
</td>
<td>
<a target="_blank" href="https://github.com/tensorflow/federated/blob/v0.5.0/docs/tutorials/federated_learning_for_text_generation.ipynb"><img src="https://www.tensorflow.org/images/GitHub-Mark-32px.png" />View source on GitHub</a>
<a target="_blank" href="https://github.com/tensorflow/federated/blob/v0.6.0/docs/tutorials/federated_learning_for_text_generation.ipynb"><img src="https://www.tensorflow.org/images/GitHub-Mark-32px.png" />View source on GitHub</a>
</td>
</table>
%% Cell type:markdown id: tags:
**NOTE**: This colab has been verified to work with the `0.5.0` version of the `tensorflow_federated` pip package, but the Tensorflow Federated project is still in pre-release development and may not work on `master`.
**NOTE**: This colab has been verified to work with the `0.6.0` version of the `tensorflow_federated` pip package, but the Tensorflow Federated project is still in pre-release development and may not work on `master`.
This tutorial builds on the concepts in the [Federated Learning for Image Classification](federated_learning_for_image_classification.md) tutorial, and demonstrates several other useful approaches for federated learning.
In particular, we load a previously trained Keras model, and refine it using federated training on a (simulated) decentralized dataset. This is practically important for several reasons . The ability to use serialized models makes it easy to mix federated learning with other ML approaches. Further, this allows use of an increasing range of pre-trained models --- for example, training language models from scratch is rarely necessary, as numerous pre-trained models are now widely available (see, e.g., [TF Hub](https://www.tensorflow.org/hub)). Instead, it makes more sense to start from a pre-trained model, and refine it using Federated Learning, adapting to the particular characteristics of the decentralized data for a particular application.
......
......@@ -56,7 +56,7 @@ import setuptools
DOCLINES = __doc__.split('\n')
_VERSION = '0.5.0'
_VERSION = '0.6.0'
project_name = 'tensorflow_federated'
......@@ -72,6 +72,8 @@ REQUIRED_PACKAGES = [
'numpy~=1.14',
'six~=1.10',
'tf-nightly',
'grpcio~=1.8.0',
'portpicker',
]
setuptools.setup(
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment