Releases: tensorflow/tensorflow
TensorFlow 2.18.0
Release 2.18.0
TensorFlow
Breaking Changes
-
tf.lite
- C API:
- An optional, fourth parameter was added
TfLiteOperatorCreate
as a step forward towards a cleaner API forTfLiteOperator
. FunctionTfLiteOperatorCreate
was added recently, in TensorFlow Lite version 2.17.0, released on 7/11/2024, and we do not expect there will be much code using this function yet. Any code breakages can be easily resolved by passing nullptr as the new, 4th parameter.
- An optional, fourth parameter was added
- C API:
-
TensorRT support is disabled in CUDA builds for code health improvement.
-
Hermetic CUDA support is added.
Hermetic CUDA uses a specific downloadable version of CUDA instead of the user’s locally installed CUDA. Bazel will download CUDA, CUDNN and NCCL distributions, and then use CUDA libraries and tools as dependencies in various Bazel targets. This enables more reproducible builds for Google ML projects and supported CUDA versions.
Known Caveats
Major Features and Improvements
- TensorFlow now supports and is compiled with NumPy 2.0 by default. Please see the NumPy 2 release notes and the NumPy 2 migration guide.
- Note that NumPy's type promotion rules have been changed(See NEP 50for details). This may change the precision at which computations happen, leading either to type errors or to numerical changes to results.
- Tensorflow will continue to support NumPy 1.26 until 2025, aligning with community standard deprecation timeline here.
tf.lite
:- The LiteRT repo is live (see announcement), which means that in the coming months there will be changes to the development experience for TFLite. The TF Lite Runtime source will be moved later this year, and sometime after that we will start accepting contributions through that repo.
- SignatureRunner is now supported for models with no signatures.
Bug Fixes and Other Changes
-
tf.data
- Add optional
synchronous
argument tomap
, to specify that themap
should run synchronously, as opposed to be parallelizable whenoptions.experimental_optimization.map_parallelization=True
. This saves memory compared to settingnum_parallel_calls=1
. - Add optional
use_unbounded_threadpool
argument tomap
, to specify that themap
should use an unbounded threadpool instead of the default pool that is based on the number of cores on the machine. This can improve throughput for map functions which perform IO or otherwise release the CPU. - Add
tf.data.experimental.get_model_proto
to allow users to peek into the analytical model inside of a dataset iterator.
- Add optional
-
tf.lite
Dequantize
op supportsTensorType_INT4
.- This change includes per-channel dequantization.
- Add support for
stablehlo.composite
. EmbeddingLookup
op supports per-channel quantization andTensorType_INT4
values.FullyConnected
op supportsTensorType_INT16
activation andTensorType_Int4
weight per-channel quantization.
-
tf.tensor_scatter_update
,tf.tensor_scatter_add
and of other reduce types.- Support
bad_indices_policy
.
- Support
Thanks to our Contributors
This release contains contributions from many people at Google, as well as:
Akhil Goel, akhilgoe, Alexander Pivovarov, Amir Samani, Andrew Goodbody, Andrey Portnoy, Anthony Platanios, bernardoArcari, Brett Taylor, buptzyb, Chao, Christian Clauss, Cocoa, Daniil Kutz, Darya Parygina, dependabot[bot], Dimitris Vardoulakis, Dragan Mladjenovic, Elfie Guo, eukub, Faijul Amin, flyingcat, Frédéric Bastien, ganyu.08, Georg Stefan Schmid, Grigory Reznikov, Harsha H S, Harshit Monish, Heiner, Ilia Sergachev, Jan, Jane Liu, Jaroslav Sevcik, Kaixi Hou, Kanvi Khanna, Kristof Maar, Kristóf Maár, LakshmiKalaKadali, Lbertho-Gpsw, lingzhi98, MarcoFalke, Masahiro Hiramori, Mmakevic-Amd, mraunak, Nobuo Tsukamoto, Notheisz57, Olli Lupton, Pearu Peterson, pemeliya, Peyara Nando, Philipp Hack, Phuong Nguyen, Pol Dellaiera, Rahul Batra, Ruturaj Vaidya, sachinmuradi, Sergey Kozub, Shanbin Ke, Sheng Yang, shengyu, Shraiysh, Shu Wang, Surya, sushreebarsa, Swatheesh-Mcw, syzygial, Tai Ly, terryysun, tilakrayal, Tj Xu, Trevor Morris, Tzung-Han Juang, wenchenvincent, wondertx, Xuefei Jiang, Ye Huang, Yimei Sun, Yunlong Liu, Zahid Iqbal, Zhan Lu, Zoranjovanovic-Ns, Zuri Obozuwa
TensorFlow 2.17.1
Release 2.17.1
Bug Fixes and Other Changes
- Add necessary header files in the aar library. These are needed if developers build apps with header files unpacked from tflite aar files from maven.
- Implement Name() for GCSWritableFile to fix the profiler trace viewer cache file generation.
- Fix
cstring.h
missing file issue with the Libtensorflow archive.
TensorFlow 2.18.0-rc2
Release 2.18.0
TensorFlow
Breaking Changes
-
tf.lite
- C API:
- An optional, fourth parameter was added
TfLiteOperatorCreate
as a step forward towards a cleaner API forTfLiteOperator
. FunctionTfLiteOperatorCreate
was added recently, in TensorFlow Lite version 2.17.0, released on 7/11/2024, and we do not expect there will be much code using this function yet. Any code breakages can be easily resolved by passing nullptr as the new, 4th parameter.
- An optional, fourth parameter was added
- SignatureRunner is now supported for models with no signatures.
- C API:
-
TensorRT support is disabled in CUDA builds for code health improvement.
-
Hermetic CUDA support is added.
Hermetic CUDA uses a specific downloadable version of CUDA instead of the user’s locally installed CUDA. Bazel will download CUDA, CUDNN and NCCL distributions, and then use CUDA libraries and tools as dependencies in various Bazel targets. This enables more reproducible builds for Google ML projects and supported CUDA versions.
Known Caveats
Major Features and Improvements
- TensorFlow now supports and is compiled with NumPy 2.0 by default. Please see the NumPy 2 release notes and the NumPy 2 migration guide.
- Note that NumPy's type promotion rules have been changed(See NEP 50 for details). This may change the precision at which computations happen, leading either to type errors or to numerical changes to results.
- Tensorflow will continue to support NumPy 1.26 until 2025, aligning with community standard deprecation timeline here.
tf.lite
:- The LiteRT repo is live (see announcement), which means that in the coming months there will be changes to the development experience for TFLite. The TF Lite Runtime source will be moved later this year, and sometime after that we will start accepting contributions through that repo.
Bug Fixes and Other Changes
-
tf.data
- Add optional
synchronous
argument tomap
, to specify that themap
should run synchronously, as opposed to be parallelizable whenoptions.experimental_optimization.map_parallelization=True
. This saves memory compared to settingnum_parallel_calls=1
. - Add optional
use_unbounded_threadpool
argument tomap
, to specify that themap
should use an unbounded threadpool instead of the default pool that is based on the number of cores on the machine. This can improve throughput for map functions which perform IO or otherwise release the CPU. - Add
tf.data.experimental.get_model_proto
to allow users to peek into the analytical model inside of a dataset iterator.
- Add optional
-
tf.lite
Dequantize
op supportsTensorType_INT4
.- This change includes per-channel dequantization.
- Add support for
stablehlo.composite
. EmbeddingLookup
op supports per-channel quantization andTensorType_INT4
values.FullyConnected
op supportsTensorType_INT16
activation andTensorType_Int4
weight per-channel quantization.
-
tf.tensor_scatter_update
,tf.tensor_scatter_add
and of other reduce types.- Support
bad_indices_policy
.
- Support
Thanks to our Contributors
This release contains contributions from many people at Google, as well as:
Akhil Goel, akhilgoe, Alexander Pivovarov, Amir Samani, Andrew Goodbody, Andrey Portnoy, Anthony Platanios, bernardoArcari, Brett Taylor, buptzyb, Chao, Christian Clauss, Cocoa, Daniil Kutz, Darya Parygina, dependabot[bot], Dimitris Vardoulakis, Dragan Mladjenovic, Elfie Guo, eukub, Faijul Amin, flyingcat, Frédéric Bastien, ganyu.08, Georg Stefan Schmid, Grigory Reznikov, Harsha H S, Harshit Monish, Heiner, Ilia Sergachev, Jan, Jane Liu, Jaroslav Sevcik, Kaixi Hou, Kanvi Khanna, Kristof Maar, Kristóf Maár, LakshmiKalaKadali, Lbertho-Gpsw, lingzhi98, MarcoFalke, Masahiro Hiramori, Mmakevic-Amd, mraunak, Nobuo Tsukamoto, Notheisz57, Olli Lupton, Pearu Peterson, pemeliya, Peyara Nando, Philipp Hack, Phuong Nguyen, Pol Dellaiera, Rahul Batra, Ruturaj Vaidya, sachinmuradi, Sergey Kozub, Shanbin Ke, Sheng Yang, shengyu, Shraiysh, Shu Wang, Surya, sushreebarsa, Swatheesh-Mcw, syzygial, Tai Ly, terryysun, tilakrayal, Tj Xu, Trevor Morris, Tzung-Han Juang, wenchenvincent, wondertx, Xuefei Jiang, Ye Huang, Yimei Sun, Yunlong Liu, Zahid Iqbal, Zhan Lu, Zoranjovanovic-Ns, Zuri Obozuwa
TensorFlow 2.18.0-rc1
Release 2.18.0
TensorFlow
Breaking Changes
-
tf.lite
- C API:
- An optional, fourth parameter was added
TfLiteOperatorCreate
as a step forward towards a cleaner API forTfLiteOperator
. FunctionTfLiteOperatorCreate
was added recently, in TensorFlow Lite version 2.17.0, released on 7/11/2024, and we do not expect there will be much code using this function yet. Any code breakages can be easily resolved by passing nullptr as the new, 4th parameter.
- An optional, fourth parameter was added
- SignatureRunner is now supported for models with no signatures.
- C API:
-
TensorRT support is disabled in CUDA builds for code health improvement.
-
Hermetic CUDA support is added.
Hermetic CUDA uses a specific downloadable version of CUDA instead of the user’s locally installed CUDA. Bazel will download CUDA, CUDNN and NCCL distributions, and then use CUDA libraries and tools as dependencies in various Bazel targets. This enables more reproducible builds for Google ML projects and supported CUDA versions.
Known Caveats
Major Features and Improvements
- TensorFlow now supports and is compiled with NumPy 2.0 by default. Please see the NumPy 2 release notes and the NumPy 2 migration guide.
- Note that NumPy's type promotion rules have been changed(See NEP 50for details). This may change the precision at which computations happen, leading either to type errors or to numerical changes to results.
- Tensorflow will continue to support NumPy 1.26 until 2025, aligning with community standard deprecation timeline here.
tf.lite
:- The LiteRT repo is live (see announcement), which means that in the coming months there will be changes to the development experience for TFLite. The TF Lite Runtime source will be moved later this year, and sometime after that we will start accepting contributions through that repo.
Bug Fixes and Other Changes
-
tf.data
- Add optional
synchronous
argument tomap
, to specify that themap
should run synchronously, as opposed to be parallelizable whenoptions.experimental_optimization.map_parallelization=True
. This saves memory compared to settingnum_parallel_calls=1
. - Add optional
use_unbounded_threadpool
argument tomap
, to specify that themap
should use an unbounded threadpool instead of the default pool that is based on the number of cores on the machine. This can improve throughput for map functions which perform IO or otherwise release the CPU. - Add
tf.data.experimental.get_model_proto
to allow users to peek into the analytical model inside of a dataset iterator.
- Add optional
-
tf.lite
Dequantize
op supportsTensorType_INT4
.- This change includes per-channel dequantization.
- Add support for
stablehlo.composite
. EmbeddingLookup
op supports per-channel quantization andTensorType_INT4
values.FullyConnected
op supportsTensorType_INT16
activation andTensorType_Int4
weight per-channel quantization.
-
tf.tensor_scatter_update
,tf.tensor_scatter_add
and of other reduce types.- Support
bad_indices_policy
.
- Support
Thanks to our Contributors
This release contains contributions from many people at Google, as well as:
Akhil Goel, akhilgoe, Alexander Pivovarov, Amir Samani, Andrew Goodbody, Andrey Portnoy, Anthony Platanios, bernardoArcari, Brett Taylor, buptzyb, Chao, Christian Clauss, Cocoa, Daniil Kutz, Darya Parygina, dependabot[bot], Dimitris Vardoulakis, Dragan Mladjenovic, Elfie Guo, eukub, Faijul Amin, flyingcat, Frédéric Bastien, ganyu.08, Georg Stefan Schmid, Grigory Reznikov, Harsha H S, Harshit Monish, Heiner, Ilia Sergachev, Jan, Jane Liu, Jaroslav Sevcik, Kaixi Hou, Kanvi Khanna, Kristof Maar, Kristóf Maár, LakshmiKalaKadali, Lbertho-Gpsw, lingzhi98, MarcoFalke, Masahiro Hiramori, Mmakevic-Amd, mraunak, Nobuo Tsukamoto, Notheisz57, Olli Lupton, Pearu Peterson, pemeliya, Peyara Nando, Philipp Hack, Phuong Nguyen, Pol Dellaiera, Rahul Batra, Ruturaj Vaidya, sachinmuradi, Sergey Kozub, Shanbin Ke, Sheng Yang, shengyu, Shraiysh, Shu Wang, Surya, sushreebarsa, Swatheesh-Mcw, syzygial, Tai Ly, terryysun, tilakrayal, Tj Xu, Trevor Morris, Tzung-Han Juang, wenchenvincent, wondertx, Xuefei Jiang, Ye Huang, Yimei Sun, Yunlong Liu, Zahid Iqbal, Zhan Lu, Zoranjovanovic-Ns, Zuri Obozuwa
TensorFlow 2.18.0-rc0
Release 2.18.0
TensorFlow
Breaking Changes
-
tf.lite
- C API:
- An optional, fourth parameter was added
TfLiteOperatorCreate
as a step forward towards a cleaner API forTfLiteOperator
. FunctionTfLiteOperatorCreate
was added recently, in TensorFlow Lite version 2.17.0, released on 7/11/2024, and we do not expect there will be much code using this function yet. Any code breakages can be easily resolved by passing nullptr as the new, 4th parameter.
- An optional, fourth parameter was added
- SignatureRunner is now supported for models with no signatures.
- C API:
-
TensorRT support is disabled in CUDA builds for code health improvement.
-
Hermetic CUDA support is added.
Hermetic CUDA uses a specific downloadable version of CUDA instead of the user’s locally installed CUDA. Bazel will download CUDA, CUDNN and NCCL distributions, and then use CUDA libraries and tools as dependencies in various Bazel targets. This enables more reproducible builds for Google ML projects and supported CUDA versions.
Known Caveats
Major Features and Improvements
- TensorFlow now supports and is compiled with NumPy 2.0 by default. Please see the NumPy 2 release notes and the NumPy 2 migration guide.
- Note that NumPy's type promotion rules have been changed(See NEP 50for details). This may change the precision at which computations happen, leading either to type errors or to numerical changes to results.
- Tensorflow will continue to support NumPy 1.26 until 2025, aligning with community standard deprecation timeline here.
tf.lite
:- The LiteRT repo is live (see announcement), which means that in the coming months there will be changes to the development experience for TFLite. The TF Lite Runtime source will be moved later this year, and sometime after that we will start accepting contributions through that repo.
Bug Fixes and Other Changes
-
tf.data
- Add optional
synchronous
argument tomap
, to specify that themap
should run synchronously, as opposed to be parallelizable whenoptions.experimental_optimization.map_parallelization=True
. This saves memory compared to settingnum_parallel_calls=1
. - Add optional
use_unbounded_threadpool
argument tomap
, to specify that themap
should use an unbounded threadpool instead of the default pool that is based on the number of cores on the machine. This can improve throughput for map functions which perform IO or otherwise release the CPU. - Add
tf.data.experimental.get_model_proto
to allow users to peek into the analytical model inside of a dataset iterator.
- Add optional
-
tf.lite
Dequantize
op supportsTensorType_INT4
.- This change includes per-channel dequantization.
- Add support for
stablehlo.composite
. EmbeddingLookup
op supports per-channel quantization andTensorType_INT4
values.FullyConnected
op supportsTensorType_INT16
activation andTensorType_Int4
weight per-channel quantization.
-
tf.tensor_scatter_update
,tf.tensor_scatter_add
and of other reduce types.- Support
bad_indices_policy
.
- Support
Thanks to our Contributors
This release contains contributions from many people at Google, as well as:
Akhil Goel, akhilgoe, Alexander Pivovarov, Amir Samani, Andrew Goodbody, Andrey Portnoy, Anthony Platanios, bernardoArcari, Brett Taylor, buptzyb, Chao, Christian Clauss, Cocoa, Daniil Kutz, Darya Parygina, dependabot[bot], Dimitris Vardoulakis, Dragan Mladjenovic, Elfie Guo, eukub, Faijul Amin, flyingcat, Frédéric Bastien, ganyu.08, Georg Stefan Schmid, Grigory Reznikov, Harsha H S, Harshit Monish, Heiner, Ilia Sergachev, Jan, Jane Liu, Jaroslav Sevcik, Kaixi Hou, Kanvi Khanna, Kristof Maar, Kristóf Maár, LakshmiKalaKadali, Lbertho-Gpsw, lingzhi98, MarcoFalke, Masahiro Hiramori, Mmakevic-Amd, mraunak, Nobuo Tsukamoto, Notheisz57, Olli Lupton, Pearu Peterson, pemeliya, Peyara Nando, Philipp Hack, Phuong Nguyen, Pol Dellaiera, Rahul Batra, Ruturaj Vaidya, sachinmuradi, Sergey Kozub, Shanbin Ke, Sheng Yang, shengyu, Shraiysh, Shu Wang, Surya, sushreebarsa, Swatheesh-Mcw, syzygial, Tai Ly, terryysun, tilakrayal, Tj Xu, Trevor Morris, Tzung-Han Juang, wenchenvincent, wondertx, Xuefei Jiang, Ye Huang, Yimei Sun, Yunlong Liu, Zahid Iqbal, Zhan Lu, Zoranjovanovic-Ns, Zuri Obozuwa
TensorFlow 2.17.0
Release 2.17.0
TensorFlow
Breaking Changes
- GPU
- Support for NVIDIA GPUs with compute capability 5.x (Maxwell generation) has been removed from TF binary distributions (Python wheels).
Major Features and Improvements
-
Add
is_cpu_target_available
, which indicates whether or not TensorFlow was built with support for a given CPU target. This can be useful for skipping target-specific tests if a target is not supported. -
tf.data
- Support
data.experimental.distribued_save
.distribued_save
uses tf.data service (https://www.tensorflow.org/api_docs/python/tf/data/experimental/service) to write distributed dataset snapshots. The call is non-blocking and returns without waiting for the snapshot to finish. Settingwait=True
totf.data.Dataset.load
allows the snapshots to be read while they are being written.
- Support
Bug Fixes and Other Changes
-
GPU
- Support for NVIDIA GPUs with compute capability 8.9 (e.g. L4 & L40) has been added to TF binary distributions (Python wheels).
-
Replace
DebuggerOptions
of TensorFlow Quantizer, and migrate toDebuggerConfig
of StableHLO Quantizer. -
Add TensorFlow to StableHLO converter to TensorFlow pip package.
-
TensorRT support: this is the last release supporting TensorRT. It will be removed in the next release.
-
NumPy 2.0 support: TensorFlow is going to support NumPy 2.0 in the next release. It may break some edge cases of TensorFlow API usage.
-
tf.lite
- Quantization for
FullyConnected
layer is switched from per-tensor to per-channel scales for dynamic range quantization use case (float32
inputs / outputs andint8
weights). The change enables new quantization schema globally in the converter and inference engine. The new behaviour can be disabled via experimental flagconverter._experimental_disable_per_channel_quantization_for_dense_layers = True
. - C API:
- The experimental
TfLiteRegistrationExternal
type has been renamed asTfLiteOperator
, and likewise for the corresponding API functions.
- The experimental
- The Python TF Lite Interpreter bindings now have an option
experimental_default_delegate_latest_features
to enable all default delegate features. - Flatbuffer version update:
GetTemporaryPointer()
bug fixed.
- Quantization for
-
tf.data
- Add
wait
totf.data.Dataset.load
. IfTrue
, for snapshots written withdistributed_save
, it reads the snapshot while it is being written. For snapshots written with regularsave
, it waits for the snapshot until it's finished. The default isFalse
for backward compatibility. Users ofdistributed_save
are recommended to set it toTrue
.
- Add
-
tf.tpu.experimental.embedding.TPUEmbeddingV2
- Add
compute_sparse_core_stats
for sparse core users to profile the data with this API to get themax_ids
andmax_unique_ids
. These numbers will be needed to configure the sparse core embedding mid level api. - Remove the
preprocess_features
method since that's no longer needed.
- Add
Thanks to our Contributors
This release contains contributions from many people at Google, as well as:
Abdulaziz Aloqeely, Ahmad-M-Al-Khateeb, Akhil Goel, akhilgoe, Alexander Pivovarov, Amir Samani, Andrew Goodbody, Andrey Portnoy, Ashiq Imran, Ben Olson, Chao, Chase Riley Roberts, Clemens Giuliani, dependabot[bot], Dimitris Vardoulakis, Dragan Mladjenovic, ekuznetsov139, Elfie Guo, Faijul Amin, Gauri1 Deshpande, Georg Stefan Schmid, guozhong.zhuang, Hao Wu, Haoyu (Daniel), Harsha H S, Harsha Hs, Harshit Monish, Ilia Sergachev, Jane Liu, Jaroslav Sevcik, Jinzhe Zeng, Justin Dhillon, Kaixi Hou, Kanvi Khanna, LakshmiKalaKadali, Learning-To-Play, lingzhi98, Lu Teng, Matt Bahr, Max Ren, Meekail Zain, Mmakevic-Amd, mraunak, neverlva, nhatle, Nicola Ferralis, Olli Lupton, Om Thakkar, orangekame3, ourfor, pateldeev, Pearu Peterson, pemeliya, Peng Sun, Philipp Hack, Pratik Joshi, prrathi, rahulbatra85, Raunak, redwrasse, Robert Kalmar, Robin Zhang, RoboSchmied, Ruturaj Vaidya, sachinmuradi, Shawn Wang, Sheng Yang, Surya, Thibaut Goetghebuer-Planchon, Thomas Preud'Homme, tilakrayal, Tj Xu, Trevor Morris, wenchenvincent, Yimei Sun, zahiqbal, Zhu Jianjiang, Zoranjovanovic-Ns
TensorFlow 2.17.0-rc1
Release 2.17.0
TensorFlow
Breaking Changes
- GPU
- Support for NVIDIA GPUs with compute capability 5.x (Maxwell generation) has been removed from TF binary distributions (Python wheels).
Major Features and Improvements
-
Add
is_cpu_target_available
, which indicates whether or not TensorFlow was built with support for a given CPU target. This can be useful for skipping target-specific tests if a target is not supported. -
tf.data
- Support
data.experimental.distribued_save
.distribued_save
uses tf.data service (https://www.tensorflow.org/api_docs/python/tf/data/experimental/service) to write distributed dataset snapshots. The call is non-blocking and returns without waiting for the snapshot to finish. Settingwait=True
totf.data.Dataset.load
allows the snapshots to be read while they are being written.
- Support
Bug Fixes and Other Changes
-
GPU
- Support for NVIDIA GPUs with compute capability 8.9 (e.g. L4 & L40) has been added to TF binary distributions (Python wheels).
-
Replace
DebuggerOptions
of TensorFlow Quantizer, and migrate toDebuggerConfig
of StableHLO Quantizer. -
Add TensorFlow to StableHLO converter to TensorFlow pip package.
-
TensorRT support: this is the last release supporting TensorRT. It will be removed in the next release.
-
NumPy 2.0 support: TensorFlow is going to support NumPy 2.0 in the next release. It may break some edge cases of TensorFlow API usage.
-
tf.lite
- Quantization for
FullyConnected
layer is switched from per-tensor to per-channel scales for dynamic range quantization use case (float32
inputs / outputs andint8
weights). The change enables new quantization schema globally in the converter and inference engine. The new behaviour can be disabled via experimental flagconverter._experimental_disable_per_channel_quantization_for_dense_layers = True
. - C API:
- The experimental
TfLiteRegistrationExternal
type has been renamed asTfLiteOperator
, and likewise for the corresponding API functions.
- The experimental
- The Python TF Lite Interpreter bindings now have an option
experimental_default_delegate_latest_features
to enable all default delegate features. - Flatbuffer version update:
GetTemporaryPointer()
bug fixed.
- Quantization for
-
tf.data
- Add
wait
totf.data.Dataset.load
. IfTrue
, for snapshots written withdistributed_save
, it reads the snapshot while it is being written. For snapshots written with regularsave
, it waits for the snapshot until it's finished. The default isFalse
for backward compatibility. Users ofdistributed_save
are recommended to set it toTrue
.
- Add
-
tf.tpu.experimental.embedding.TPUEmbeddingV2
- Add
compute_sparse_core_stats
for sparse core users to profile the data with this API to get themax_ids
andmax_unique_ids
. These numbers will be needed to configure the sparse core embedding mid level api. - Remove the
preprocess_features
method since that's no longer needed.
- Add
Thanks to our Contributors
This release contains contributions from many people at Google, as well as:
Abdulaziz Aloqeely, Ahmad-M-Al-Khateeb, Akhil Goel, akhilgoe, Alexander Pivovarov, Amir Samani, Andrew Goodbody, Andrey Portnoy, Ashiq Imran, Ben Olson, Chao, Chase Riley Roberts, Clemens Giuliani, dependabot[bot], Dimitris Vardoulakis, Dragan Mladjenovic, ekuznetsov139, Elfie Guo, Faijul Amin, Gauri1 Deshpande, Georg Stefan Schmid, guozhong.zhuang, Hao Wu, Haoyu (Daniel), Harsha H S, Harsha Hs, Harshit Monish, Ilia Sergachev, Jane Liu, Jaroslav Sevcik, Jinzhe Zeng, Justin Dhillon, Kaixi Hou, Kanvi Khanna, LakshmiKalaKadali, Learning-To-Play, lingzhi98, Lu Teng, Matt Bahr, Max Ren, Meekail Zain, Mmakevic-Amd, mraunak, neverlva, nhatle, Nicola Ferralis, Olli Lupton, Om Thakkar, orangekame3, ourfor, pateldeev, Pearu Peterson, pemeliya, Peng Sun, Philipp Hack, Pratik Joshi, prrathi, rahulbatra85, Raunak, redwrasse, Robert Kalmar, Robin Zhang, RoboSchmied, Ruturaj Vaidya, sachinmuradi, Shawn Wang, Sheng Yang, Surya, Thibaut Goetghebuer-Planchon, Thomas Preud'Homme, tilakrayal, Tj Xu, Trevor Morris, wenchenvincent, Yimei Sun, zahiqbal, Zhu Jianjiang, Zoranjovanovic-Ns
TensorFlow 2.16.2
Release 2.16.2
Bug Fixes and Other Changes
- Fixed: Incorrect dependency metadata in TensorFlow Python packages causing installation failures with certain package managers such as Poetry.
TensorFlow 2.17.0-rc0
Release 2.17.0
TensorFlow
Breaking Changes
- GPU
- Support for NVIDIA GPUs with compute capability 5.x (Maxwell generation) has been removed from TF binary distributions (Python wheels).
Major Features and Improvements
-
Add
is_cpu_target_available
, which indicates whether or not TensorFlow was built with support for a given CPU target. This can be useful for skipping target-specific tests if a target is not supported. -
tf.data
- Support
data.experimental.distribued_save
.distribued_save
uses tf.data service (https://www.tensorflow.org/api_docs/python/tf/data/experimental/service) to write distributed dataset snapshots. The call is non-blocking and returns without waiting for the snapshot to finish. Settingwait=True
totf.data.Dataset.load
allows the snapshots to be read while they are being written.
- Support
Bug Fixes and Other Changes
-
GPU
- Support for NVIDIA GPUs with compute capability 8.9 (e.g. L4 & L40) has been added to TF binary distributions (Python wheels).
-
Replace
DebuggerOptions
of TensorFlow Quantizer, and migrate toDebuggerConfig
of StableHLO Quantizer. -
Add TensorFlow to StableHLO converter to TensorFlow pip package.
-
TensorRT support: this is the last release supporting TensorRT. It will be removed in the next release.
-
NumPy 2.0 support: TensorFlow is going to support NumPy 2.0 in the next release. It may break some edge cases of TensorFlow API usage.
-
tf.lite
- Quantization for
FullyConnected
layer is switched from per-tensor to per-channel scales for dynamic range quantization use case (float32
inputs / outputs andint8
weights). The change enables new quantization schema globally in the converter and inference engine. The new behaviour can be disabled via experimental flagconverter._experimental_disable_per_channel_quantization_for_dense_layers = True
. - C API:
- The experimental
TfLiteRegistrationExternal
type has been renamed asTfLiteOperator
, and likewise for the corresponding API functions.
- The experimental
- The Python TF Lite Interpreter bindings now have an option
experimental_default_delegate_latest_features
to enable all default delegate features. - Flatbuffer version update:
GetTemporaryPointer()
bug fixed.
- Quantization for
-
tf.data
- Add
wait
totf.data.Dataset.load
. IfTrue
, for snapshots written withdistributed_save
, it reads the snapshot while it is being written. For snapshots written with regularsave
, it waits for the snapshot until it's finished. The default isFalse
for backward compatibility. Users ofdistributed_save
are recommended to set it toTrue
.
- Add
-
tf.tpu.experimental.embedding.TPUEmbeddingV2
- Add
compute_sparse_core_stats
for sparse core users to profile the data with this API to get themax_ids
andmax_unique_ids
. These numbers will be needed to configure the sparse core embedding mid level api. - Remove the
preprocess_features
method since that's no longer needed.
- Add
Thanks to our Contributors
This release contains contributions from many people at Google, as well as:
Abdulaziz Aloqeely, Ahmad-M-Al-Khateeb, Akhil Goel, akhilgoe, Alexander Pivovarov, Amir Samani, Andrew Goodbody, Andrey Portnoy, Ashiq Imran, Ben Olson, Chao, Chase Riley Roberts, Clemens Giuliani, dependabot[bot], Dimitris Vardoulakis, Dragan Mladjenovic, ekuznetsov139, Elfie Guo, Faijul Amin, Gauri1 Deshpande, Georg Stefan Schmid, guozhong.zhuang, Hao Wu, Haoyu (Daniel), Harsha H S, Harsha Hs, Harshit Monish, Ilia Sergachev, Jane Liu, Jaroslav Sevcik, Jinzhe Zeng, Justin Dhillon, Kaixi Hou, Kanvi Khanna, LakshmiKalaKadali, Learning-To-Play, lingzhi98, Lu Teng, Matt Bahr, Max Ren, Meekail Zain, Mmakevic-Amd, mraunak, neverlva, nhatle, Nicola Ferralis, Olli Lupton, Om Thakkar, orangekame3, ourfor, pateldeev, Pearu Peterson, pemeliya, Peng Sun, Philipp Hack, Pratik Joshi, prrathi, rahulbatra85, Raunak, redwrasse, Robert Kalmar, Robin Zhang, RoboSchmied, Ruturaj Vaidya, sachinmuradi, Shawn Wang, Sheng Yang, Surya, Thibaut Goetghebuer-Planchon, Thomas Preud'Homme, tilakrayal, Tj Xu, Trevor Morris, wenchenvincent, Yimei Sun, zahiqbal, Zhu Jianjiang, Zoranjovanovic-Ns
TensorFlow 2.15.1
Release 2.15.1
Bug Fixes and Other Changes
ml_dtypes
runtime dependency is updated to0.3.1
to fix package conflict issues