From 858842a9254cb17ad6cd47867766027259a773b4 Mon Sep 17 00:00:00 2001 From: Zachary Garrett Date: Mon, 17 Oct 2022 12:40:45 -0700 Subject: [PATCH] Create the 0.38.0 release. PiperOrigin-RevId: 481712996 --- CITATION.cff | 2 +- RELEASE.md | 33 +++++++++++++++++++ ...our_own_federated_learning_algorithm.ipynb | 4 +-- .../composing_learning_algorithms.ipynb | 8 ++--- docs/tutorials/custom_aggregators.ipynb | 4 +-- ...erated_algorithm_with_tff_optimizers.ipynb | 4 +-- .../custom_federated_algorithms_1.ipynb | 4 +-- .../custom_federated_algorithms_2.ipynb | 4 +-- ...ed_learning_for_image_classification.ipynb | 4 +-- ...derated_learning_for_text_generation.ipynb | 4 +-- ...d_learning_with_differential_privacy.ipynb | 4 +-- ...onstruction_for_matrix_factorization.ipynb | 4 +-- docs/tutorials/federated_select.ipynb | 4 +-- ...rformance_simulation_with_kubernetes.ipynb | 6 ++-- docs/tutorials/jax_support.ipynb | 4 +-- docs/tutorials/loading_remote_data.ipynb | 4 +-- docs/tutorials/private_heavy_hitters.ipynb | 4 +-- docs/tutorials/random_noise_generation.ipynb | 4 +-- docs/tutorials/simulations.ipynb | 4 +-- .../simulations_with_accelerators.ipynb | 4 +-- .../tutorials/sparse_federated_learning.ipynb | 4 +-- ...erated_learning_research_compression.ipynb | 4 +-- .../tuning_recommended_aggregators.ipynb | 4 +-- docs/tutorials/working_with_client_data.ipynb | 4 +-- tensorflow_federated/version.py | 2 +- 25 files changed, 82 insertions(+), 49 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 5f0c949b80..845e391711 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -4,6 +4,6 @@ authors: - affiliation: Google given-names: "The TensorFlow Federated Authors" title: "TensorFlow Federated" -version: 0.37.0 +version: 0.38.0 date-released: 2018-12-12 url: "https://github.com/tensorflow/federated" diff --git a/RELEASE.md b/RELEASE.md index 7427053236..eaa8a6a57f 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -1,3 +1,36 @@ +# Release 0.38.0 + +## Major Features and Improvements + +* Added `tff.learning.models.FunctionalModel` support to + `tff.learning.algorithms.build_mime_lite`. +* Updated `tensorflow-privacy` to version `0.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.ModelWeights` and alias + `tff.learning.framework.ModelWeights`, has now moved to + `tff.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_computation` tracing to also trace `functools.partial` + objects. + +## Known Bugs + +* Colab compatibility: TFF requires Python 3.9 while Colab runtime uses Python + 3.7. + # Release 0.37.0 ## Major Features and Improvements diff --git a/docs/tutorials/building_your_own_federated_learning_algorithm.ipynb b/docs/tutorials/building_your_own_federated_learning_algorithm.ipynb index a136cf55d3..72f91cc003 100644 --- a/docs/tutorials/building_your_own_federated_learning_algorithm.ipynb +++ b/docs/tutorials/building_your_own_federated_learning_algorithm.ipynb @@ -42,10 +42,10 @@ " View on TensorFlow.org\n", " \n", " \n", - " Run in Google Colab\n", + " Run in Google Colab\n", " \n", " \n", - " View source on GitHub\n", + " View source on GitHub\n", " \n", " \n", " Download notebook\n", diff --git a/docs/tutorials/composing_learning_algorithms.ipynb b/docs/tutorials/composing_learning_algorithms.ipynb index f61e7ab4ef..156ff997d7 100644 --- a/docs/tutorials/composing_learning_algorithms.ipynb +++ b/docs/tutorials/composing_learning_algorithms.ipynb @@ -51,10 +51,10 @@ " View on TensorFlow.org\n", " \n", " \n", - " Run in Google Colab\n", + " Run in Google Colab\n", " \n", " \n", - " View source on GitHub\n", + " View source on GitHub\n", " \n", " \n", " Download notebook\n", @@ -129,7 +129,7 @@ "id": "3zQlyijofSzI" }, "source": [ - "The [Building Your Own Federated Learning Algorithm Tutorial](https://github.com/tensorflow/federated/blob/v0.37.0/docs/tutorials/building_your_own_federated_learning_algorithm.ipynb) used TFF's federated core to directly implement a version of the Federated Averaging (FedAvg) algorithm.\n", + "The [Building Your Own Federated Learning Algorithm Tutorial](https://github.com/tensorflow/federated/blob/v0.38.0/docs/tutorials/building_your_own_federated_learning_algorithm.ipynb) used TFF's federated core to directly implement a version of the Federated Averaging (FedAvg) algorithm.\n", "\n", "In this tutorial, you will use federated learning components in TFF's API to build federated learning algorithms in a modular manner, without having to re-implement everything from scratch.\n", "\n", @@ -158,7 +158,7 @@ "id": "YwhOtjlvjboB" }, "source": [ - "While the [Building Your Own Federated Learning Algorithm Tutorial](https://github.com/tensorflow/federated/blob/v0.37.0/docs/tutorials/building_your_own_federated_learning_algorithm.ipynb) implemented all of these building blocks from scratch, this is often unnecessary. Instead, you can re-use building blocks from similar algorithms.\n", + "While the [Building Your Own Federated Learning Algorithm Tutorial](https://github.com/tensorflow/federated/blob/v0.38.0/docs/tutorials/building_your_own_federated_learning_algorithm.ipynb) implemented all of these building blocks from scratch, this is often unnecessary. Instead, you can re-use building blocks from similar algorithms.\n", "\n", "In this case, to implement FedAvg with gradient clipping, you only need to modify the **client work** building block. The remaining blocks can be identical to what is used in \"vanilla\" FedAvg." ] diff --git a/docs/tutorials/custom_aggregators.ipynb b/docs/tutorials/custom_aggregators.ipynb index bc48ea1756..567372ba09 100644 --- a/docs/tutorials/custom_aggregators.ipynb +++ b/docs/tutorials/custom_aggregators.ipynb @@ -51,10 +51,10 @@ " View on TensorFlow.org\n", " \n", " \n", - " Run in Google Colab\n", + " Run in Google Colab\n", " \n", " \n", - " View source on GitHub\n", + " View source on GitHub\n", " \n", " \n", " Download notebook\n", diff --git a/docs/tutorials/custom_federated_algorithm_with_tff_optimizers.ipynb b/docs/tutorials/custom_federated_algorithm_with_tff_optimizers.ipynb index a9f8bc013e..2224ccd843 100644 --- a/docs/tutorials/custom_federated_algorithm_with_tff_optimizers.ipynb +++ b/docs/tutorials/custom_federated_algorithm_with_tff_optimizers.ipynb @@ -42,10 +42,10 @@ " View on TensorFlow.org\n", " \n", " \n", - " Run in Google Colab\n", + " Run in Google Colab\n", " \n", " \n", - " View source on GitHub\n", + " View source on GitHub\n", " \n", " \n", " Download notebook\n", diff --git a/docs/tutorials/custom_federated_algorithms_1.ipynb b/docs/tutorials/custom_federated_algorithms_1.ipynb index 2e3d2442b6..637b4cc49b 100644 --- a/docs/tutorials/custom_federated_algorithms_1.ipynb +++ b/docs/tutorials/custom_federated_algorithms_1.ipynb @@ -51,10 +51,10 @@ " View on TensorFlow.org\n", " \n", " \n", - " Run in Google Colab\n", + " Run in Google Colab\n", " \n", " \n", - " View source on GitHub\n", + " View source on GitHub\n", " \n", " \n", " Download notebook\n", diff --git a/docs/tutorials/custom_federated_algorithms_2.ipynb b/docs/tutorials/custom_federated_algorithms_2.ipynb index b736e0fb21..572c71a598 100644 --- a/docs/tutorials/custom_federated_algorithms_2.ipynb +++ b/docs/tutorials/custom_federated_algorithms_2.ipynb @@ -51,10 +51,10 @@ " View on TensorFlow.org\n", " \n", " \n", - " Run in Google Colab\n", + " Run in Google Colab\n", " \n", " \n", - " View source on GitHub\n", + " View source on GitHub\n", " \n", " \n", " Download notebook\n", diff --git a/docs/tutorials/federated_learning_for_image_classification.ipynb b/docs/tutorials/federated_learning_for_image_classification.ipynb index 46e4a11343..36b31391d5 100644 --- a/docs/tutorials/federated_learning_for_image_classification.ipynb +++ b/docs/tutorials/federated_learning_for_image_classification.ipynb @@ -51,10 +51,10 @@ " View on TensorFlow.org\n", " \n", " \n", - " Run in Google Colab\n", + " Run in Google Colab\n", " \n", " \n", - " View source on GitHub\n", + " View source on GitHub\n", " \n", " \n", " Download notebook\n", diff --git a/docs/tutorials/federated_learning_for_text_generation.ipynb b/docs/tutorials/federated_learning_for_text_generation.ipynb index 1a435963a1..311358d54a 100644 --- a/docs/tutorials/federated_learning_for_text_generation.ipynb +++ b/docs/tutorials/federated_learning_for_text_generation.ipynb @@ -51,10 +51,10 @@ " \u003ca target=\"_blank\" href=\"https://www.tensorflow.org/federated/tutorials/federated_learning_for_text_generation\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/tf_logo_32px.png\" /\u003eView on TensorFlow.org\u003c/a\u003e\n", " \u003c/td\u003e\n", " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://colab.research.google.com/github/tensorflow/federated/blob/v0.37.0/docs/tutorials/federated_learning_for_text_generation.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/colab_logo_32px.png\" /\u003eRun in Google Colab\u003c/a\u003e\n", + " \u003ca target=\"_blank\" href=\"https://colab.research.google.com/github/tensorflow/federated/blob/v0.38.0/docs/tutorials/federated_learning_for_text_generation.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/colab_logo_32px.png\" /\u003eRun in Google Colab\u003c/a\u003e\n", " \u003c/td\u003e\n", " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://github.com/tensorflow/federated/blob/v0.37.0/docs/tutorials/federated_learning_for_text_generation.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/GitHub-Mark-32px.png\" /\u003eView source on GitHub\u003c/a\u003e\n", + " \u003ca target=\"_blank\" href=\"https://github.com/tensorflow/federated/blob/v0.38.0/docs/tutorials/federated_learning_for_text_generation.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/GitHub-Mark-32px.png\" /\u003eView source on GitHub\u003c/a\u003e\n", " \u003c/td\u003e\n", " \u003ctd\u003e\n", " \u003ca href=\"https://storage.googleapis.com/tensorflow_docs/federated/docs/tutorials/federated_learning_for_text_generation.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/download_logo_32px.png\" /\u003eDownload notebook\u003c/a\u003e\n", diff --git a/docs/tutorials/federated_learning_with_differential_privacy.ipynb b/docs/tutorials/federated_learning_with_differential_privacy.ipynb index 24c70135fa..340a7305fb 100644 --- a/docs/tutorials/federated_learning_with_differential_privacy.ipynb +++ b/docs/tutorials/federated_learning_with_differential_privacy.ipynb @@ -42,10 +42,10 @@ " \u003ca target=\"_blank\" href=\"https://www.tensorflow.org/federated/tutorials/federated_learning_with_differential_privacy\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/tf_logo_32px.png\" /\u003eView on TensorFlow.org\u003c/a\u003e\n", " \u003c/td\u003e\n", " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://colab.research.google.com/github/tensorflow/federated/blob/v0.37.0/docs/tutorials/federated_learning_with_differential_privacy.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/colab_logo_32px.png\" /\u003eRun in Google Colab\u003c/a\u003e\n", + " \u003ca target=\"_blank\" href=\"https://colab.research.google.com/github/tensorflow/federated/blob/v0.38.0/docs/tutorials/federated_learning_with_differential_privacy.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/colab_logo_32px.png\" /\u003eRun in Google Colab\u003c/a\u003e\n", " \u003c/td\u003e\n", " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://github.com/tensorflow/federated/blob/v0.37.0/docs/tutorials/federated_learning_with_differential_privacy.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/GitHub-Mark-32px.png\" /\u003eView source on GitHub\u003c/a\u003e\n", + " \u003ca target=\"_blank\" href=\"https://github.com/tensorflow/federated/blob/v0.38.0/docs/tutorials/federated_learning_with_differential_privacy.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/GitHub-Mark-32px.png\" /\u003eView source on GitHub\u003c/a\u003e\n", " \u003c/td\u003e\n", " \u003ctd\u003e\n", " \u003ca href=\"https://storage.googleapis.com/tensorflow_docs/federated/docs/tutorials/federated_learning_with_differential_privacy.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/download_logo_32px.png\" /\u003eDownload notebook\u003c/a\u003e\n", diff --git a/docs/tutorials/federated_reconstruction_for_matrix_factorization.ipynb b/docs/tutorials/federated_reconstruction_for_matrix_factorization.ipynb index 4df0d9d6a6..9b958274c0 100644 --- a/docs/tutorials/federated_reconstruction_for_matrix_factorization.ipynb +++ b/docs/tutorials/federated_reconstruction_for_matrix_factorization.ipynb @@ -51,10 +51,10 @@ " View on TensorFlow.org\n", " \n", " \n", - " Run in Google Colab\n", + " Run in Google Colab\n", " \n", " \n", - " View source on GitHub\n", + " View source on GitHub\n", " \n", " \n", " Download notebook\n", diff --git a/docs/tutorials/federated_select.ipynb b/docs/tutorials/federated_select.ipynb index 279f398355..0bbd99e302 100644 --- a/docs/tutorials/federated_select.ipynb +++ b/docs/tutorials/federated_select.ipynb @@ -42,10 +42,10 @@ " View on TensorFlow.org\n", " \n", " \n", - " Run in Google Colab\n", + " Run in Google Colab\n", " \n", " \n", - " View source on GitHub\n", + " View source on GitHub\n", " \n", " \n", " Download notebook\n", diff --git a/docs/tutorials/high_performance_simulation_with_kubernetes.ipynb b/docs/tutorials/high_performance_simulation_with_kubernetes.ipynb index f9b2605092..d1318e01d5 100644 --- a/docs/tutorials/high_performance_simulation_with_kubernetes.ipynb +++ b/docs/tutorials/high_performance_simulation_with_kubernetes.ipynb @@ -58,10 +58,10 @@ " View on TensorFlow.org\n", " \n", " \n", - " Run in Google Colab\n", + " Run in Google Colab\n", " \n", " \n", - " View source on GitHub\n", + " View source on GitHub\n", " \n", " \n", " Download notebook\n", @@ -282,7 +282,7 @@ "text": [ "Round 0: loss 4.370407581329346, round time 4.201097726821899\n", "Round 1: loss 4.1407670974731445, round time 3.3283166885375977\n", - "Round 2: loss 3.865147590637207, round time 3.098310947418213\n", + "Round 2: loss 3.865147590.38.07, round time 3.098310947418213\n", "Round 3: loss 3.534019708633423, round time 3.1565616130828857\n", "Round 4: loss 3.272688388824463, round time 3.175067663192749\n", "Round 5: loss 2.935391664505005, round time 3.008434534072876\n", diff --git a/docs/tutorials/jax_support.ipynb b/docs/tutorials/jax_support.ipynb index 0328374ef6..0f366115d0 100644 --- a/docs/tutorials/jax_support.ipynb +++ b/docs/tutorials/jax_support.ipynb @@ -42,10 +42,10 @@ " View on TensorFlow.org\n", " \n", " \n", - " Run in Google Colab\n", + " Run in Google Colab\n", " \n", " \n", - " View on GitHub\n", + " View on GitHub\n", " \n", " \n", " Download notebook\n", diff --git a/docs/tutorials/loading_remote_data.ipynb b/docs/tutorials/loading_remote_data.ipynb index 12e0f81d92..d0beecb759 100644 --- a/docs/tutorials/loading_remote_data.ipynb +++ b/docs/tutorials/loading_remote_data.ipynb @@ -61,10 +61,10 @@ " \u003ca target=\"_blank\" href=\"https://www.tensorflow.org/federated/tutorials/loading_remote_data\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/tf_logo_32px.png\" /\u003eView on TensorFlow.org\u003c/a\u003e\n", " \u003c/td\u003e\n", " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://colab.research.google.com/github/tensorflow/federated/blob/v0.37.0/docs/tutorials/loading_remote_data.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/colab_logo_32px.png\" /\u003eRun in Google Colab\u003c/a\u003e\n", + " \u003ca target=\"_blank\" href=\"https://colab.research.google.com/github/tensorflow/federated/blob/v0.38.0/docs/tutorials/loading_remote_data.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/colab_logo_32px.png\" /\u003eRun in Google Colab\u003c/a\u003e\n", " \u003c/td\u003e\n", " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://github.com/tensorflow/federated/blob/v0.37.0/docs/tutorials/loading_remote_data.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/GitHub-Mark-32px.png\" /\u003eView source on GitHub\u003c/a\u003e\n", + " \u003ca target=\"_blank\" href=\"https://github.com/tensorflow/federated/blob/v0.38.0/docs/tutorials/loading_remote_data.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/GitHub-Mark-32px.png\" /\u003eView source on GitHub\u003c/a\u003e\n", " \u003c/td\u003e\n", " \u003ctd\u003e\n", " \u003ca href=\"https://storage.googleapis.com/tensorflow_docs/federated/docs/tutorials/loading_remote_data.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/download_logo_32px.png\" /\u003eDownload notebook\u003c/a\u003e\n", diff --git a/docs/tutorials/private_heavy_hitters.ipynb b/docs/tutorials/private_heavy_hitters.ipynb index a712944251..cc409ad42b 100644 --- a/docs/tutorials/private_heavy_hitters.ipynb +++ b/docs/tutorials/private_heavy_hitters.ipynb @@ -51,10 +51,10 @@ " View on TensorFlow.org\n", " \n", " \n", - " Run in Google Colab\n", + " Run in Google Colab\n", " \n", " \n", - " View source on GitHub\n", + " View source on GitHub\n", " \n", " \n", " Download notebook\n", diff --git a/docs/tutorials/random_noise_generation.ipynb b/docs/tutorials/random_noise_generation.ipynb index 6cf762991f..9e7bd43259 100644 --- a/docs/tutorials/random_noise_generation.ipynb +++ b/docs/tutorials/random_noise_generation.ipynb @@ -53,10 +53,10 @@ " View on TensorFlow.org\n", " \n", " \n", - " Run in Google Colab\n", + " Run in Google Colab\n", " \n", " \n", - " View source on GitHub\n", + " View source on GitHub\n", " \n", " \n", " Download notebook\n", diff --git a/docs/tutorials/simulations.ipynb b/docs/tutorials/simulations.ipynb index a36c219af8..45df7caa2e 100644 --- a/docs/tutorials/simulations.ipynb +++ b/docs/tutorials/simulations.ipynb @@ -60,10 +60,10 @@ " View on TensorFlow.org\n", " \n", " \n", - " Run in Google Colab\n", + " Run in Google Colab\n", " \n", " \n", - " View source on GitHub\n", + " View source on GitHub\n", " \n", " \n", " Download notebook\n", diff --git a/docs/tutorials/simulations_with_accelerators.ipynb b/docs/tutorials/simulations_with_accelerators.ipynb index 70ef9a9813..aea240aeae 100644 --- a/docs/tutorials/simulations_with_accelerators.ipynb +++ b/docs/tutorials/simulations_with_accelerators.ipynb @@ -53,10 +53,10 @@ " View on TensorFlow.org\n", " \n", " \n", - " Run in Google Colab\n", + " Run in Google Colab\n", " \n", " \n", - " View source on GitHub\n", + " View source on GitHub\n", " \n", " \n", " Download notebook\n", diff --git a/docs/tutorials/sparse_federated_learning.ipynb b/docs/tutorials/sparse_federated_learning.ipynb index 290fc35e47..672e0b901c 100644 --- a/docs/tutorials/sparse_federated_learning.ipynb +++ b/docs/tutorials/sparse_federated_learning.ipynb @@ -51,10 +51,10 @@ " View on TensorFlow.org\n", " \n", " \n", - " Run in Google Colab\n", + " Run in Google Colab\n", " \n", " \n", - " View source on GitHub\n", + " View source on GitHub\n", " \n", " \n", " Download notebook\n", diff --git a/docs/tutorials/tff_for_federated_learning_research_compression.ipynb b/docs/tutorials/tff_for_federated_learning_research_compression.ipynb index 4f3ed07bca..72e66bdcf3 100644 --- a/docs/tutorials/tff_for_federated_learning_research_compression.ipynb +++ b/docs/tutorials/tff_for_federated_learning_research_compression.ipynb @@ -42,10 +42,10 @@ " View on TensorFlow.org\n", " \n", " \n", - " Run in Google Colab\n", + " Run in Google Colab\n", " \n", " \n", - " View source on GitHub\n", + " View source on GitHub\n", " \n", " \n", " Download notebook\n", diff --git a/docs/tutorials/tuning_recommended_aggregators.ipynb b/docs/tutorials/tuning_recommended_aggregators.ipynb index b05800c5cc..adc987fe2f 100644 --- a/docs/tutorials/tuning_recommended_aggregators.ipynb +++ b/docs/tutorials/tuning_recommended_aggregators.ipynb @@ -51,10 +51,10 @@ " View on TensorFlow.org\n", " \n", " \n", - " Run in Google Colab\n", + " Run in Google Colab\n", " \n", " \n", - " View source on GitHub\n", + " View source on GitHub\n", " \n", " \n", " Download notebook\n", diff --git a/docs/tutorials/working_with_client_data.ipynb b/docs/tutorials/working_with_client_data.ipynb index 915a5efa6f..9fec200ac9 100644 --- a/docs/tutorials/working_with_client_data.ipynb +++ b/docs/tutorials/working_with_client_data.ipynb @@ -51,10 +51,10 @@ " View on TensorFlow.org\n", " \n", " \n", - " Run in Google Colab\n", + " Run in Google Colab\n", " \n", " \n", - " View source on GitHub\n", + " View source on GitHub\n", " \n", " \n", " Download notebook\n", diff --git a/tensorflow_federated/version.py b/tensorflow_federated/version.py index 42b19ffcc7..33366da280 100644 --- a/tensorflow_federated/version.py +++ b/tensorflow_federated/version.py @@ -13,4 +13,4 @@ # limitations under the License. """TensorFlow Federated version.""" -__version__ = '0.37.0' +__version__ = '0.38.0'