Commit dc063c3f authored by Michael Reneer's avatar Michael Reneer Committed by A. Unique TensorFlower
Browse files

Increment the version and add release documentation.

PiperOrigin-RevId: 250422640
parent a7562ccf
......@@ -61,13 +61,14 @@ If you want to contribute to TensorFlow Federated, be sure to review the
The following table describes the compatibility between TFF and TensorFlow
versions.
| TensorFlow Federated | TensorFlow |
|--------------------------------------------------------------|-------------------------------------------------------------|
| [master](https://github.com/tensorflow/federated) | [tf-nightly (1.x)](https://pypi.org/project/tf-nightly/) |
| [0.4.0](https://github.com/tensorflow/federated/tree/v0.4.0) | [1.13.1](https://pypi.org/project/tensorflow/1.13.1) |
| [0.3.0](https://github.com/tensorflow/federated/tree/v0.3.0) | [1.13.1](https://pypi.org/project/tensorflow/1.13.1) |
| [0.2.0](https://github.com/tensorflow/federated/tree/v0.2.0) | [1.13.1](https://pypi.org/project/tensorflow/1.13.1) |
| [0.1.0](https://github.com/tensorflow/federated/tree/v0.1.0) | [1.13.0rc2](https://pypi.org/project/tensorflow/1.13.0rc0/) |
| TensorFlow Federated | TensorFlow |
|--------------------------------------------------------------|------------------------------------------------------------------------------------------|
| [master](https://github.com/tensorflow/federated) | [tf-nightly 1.x](https://pypi.org/project/tf-nightly/) |
| [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) |
| [0.2.0](https://github.com/tensorflow/federated/tree/v0.2.0) | [tensorflow 1.13.1](https://pypi.org/project/tensorflow/1.13.1) |
| [0.1.0](https://github.com/tensorflow/federated/tree/v0.1.0) | [tensorflow 1.13.0rc2](https://pypi.org/project/tensorflow/1.13.0rc0/) |
## Issues
......
# 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`.
## Bug Fixes
* 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 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 `tff.learning.federated_average` to `tff.learning.federated_mean`.
* Rename 'func' arguments to 'fn' throughout the API.
## Bug Fixes
......@@ -33,13 +55,17 @@
## 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.
* 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.4.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.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>
</td>
<td>
<a target="_blank" href="https://github.com/tensorflow/federated/blob/v0.4.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.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>
</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.4.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.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>
</td>
<td>
<a target="_blank" href="https://github.com/tensorflow/federated/blob/v0.4.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.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>
</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.4.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.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>
</td>
<td>
<a target="_blank" href="https://github.com/tensorflow/federated/blob/v0.4.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.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>
</td>
</table>
%% Cell type:markdown id: tags:
**NOTE**: This colab has been verified to work with the `0.4.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.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`.
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.4.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.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>
</td>
<td>
<a target="_blank" href="https://github.com/tensorflow/federated/blob/v0.4.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.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>
</td>
</table>
%% Cell type:markdown id: tags:
**NOTE**: This colab has been verified to work with the `0.4.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.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`.
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.4.0'
_VERSION = '0.5.0'
project_name = 'tensorflow_federated'
......
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