1*b6fb3261SAndroid Build Coastguard Worker# Release 2.11.0 2*b6fb3261SAndroid Build Coastguard Worker 3*b6fb3261SAndroid Build Coastguard Worker<INSERT SMALL BLURB ABOUT RELEASE FOCUS AREA AND POTENTIAL TOOLCHAIN CHANGES> 4*b6fb3261SAndroid Build Coastguard Worker 5*b6fb3261SAndroid Build Coastguard Worker* `tensorflow::StatusOr::ConsumeValueOrDie`, deprecated in TF 2.10 has been 6*b6fb3261SAndroid Build Coastguard Worker removed. 7*b6fb3261SAndroid Build Coastguard Worker 8*b6fb3261SAndroid Build Coastguard Worker* <DOCUMENT BREAKING CHANGES HERE> 9*b6fb3261SAndroid Build Coastguard Worker* <THIS SECTION SHOULD CONTAIN API, ABI AND BEHAVIORAL BREAKING CHANGES> 10*b6fb3261SAndroid Build Coastguard Worker 11*b6fb3261SAndroid Build Coastguard Worker# Known Caveats 12*b6fb3261SAndroid Build Coastguard Worker 13*b6fb3261SAndroid Build Coastguard Worker* <CAVEATS REGARDING THE RELEASE (BUT NOT BREAKING CHANGES).> 14*b6fb3261SAndroid Build Coastguard Worker* <ADDING/BUMPING DEPENDENCIES SHOULD GO HERE> 15*b6fb3261SAndroid Build Coastguard Worker* <KNOWN LACK OF SUPPORT ON SOME PLATFORM, SHOULD GO HERE> 16*b6fb3261SAndroid Build Coastguard Worker 17*b6fb3261SAndroid Build Coastguard Worker# Major Features and Improvements 18*b6fb3261SAndroid Build Coastguard Worker 19*b6fb3261SAndroid Build Coastguard Worker* `tf.lite`: 20*b6fb3261SAndroid Build Coastguard Worker 21*b6fb3261SAndroid Build Coastguard Worker * New operations supported: 22*b6fb3261SAndroid Build Coastguard Worker * tf.unsortedsegmentmin op is supported. 23*b6fb3261SAndroid Build Coastguard Worker * tf.atan2 op is supported. 24*b6fb3261SAndroid Build Coastguard Worker * Updates to existing operations: 25*b6fb3261SAndroid Build Coastguard Worker * tfl.mul now supports complex32 inputs. 26*b6fb3261SAndroid Build Coastguard Worker 27*b6fb3261SAndroid Build Coastguard Worker# Bug Fixes and Other Changes 28*b6fb3261SAndroid Build Coastguard Worker 29*b6fb3261SAndroid Build Coastguard Worker* `tf.image` 30*b6fb3261SAndroid Build Coastguard Worker * Added an optional parameter `return_index_map` to `tf.image.ssim` which 31*b6fb3261SAndroid Build Coastguard Worker causes the returned value to be the local SSIM map instead of the global 32*b6fb3261SAndroid Build Coastguard Worker mean. 33*b6fb3261SAndroid Build Coastguard Worker 34*b6fb3261SAndroid Build Coastguard Worker# Thanks to our Contributors 35*b6fb3261SAndroid Build Coastguard Worker 36*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as: 37*b6fb3261SAndroid Build Coastguard Worker 38*b6fb3261SAndroid Build Coastguard Worker<INSERT>, <NAME>, <HERE>, <USING>, <GITHUB>, <HANDLE> 39*b6fb3261SAndroid Build Coastguard Worker 40*b6fb3261SAndroid Build Coastguard Worker# Release 2.10.0 41*b6fb3261SAndroid Build Coastguard Worker 42*b6fb3261SAndroid Build Coastguard Worker## Breaking Changes 43*b6fb3261SAndroid Build Coastguard Worker 44*b6fb3261SAndroid Build Coastguard Worker* Causal attention in `keras.layers.Attention` and `keras.layers.AdditiveAttention` is now specified in the `call()` method via the `use_causal_mask` argument (rather than in the constructor), for consistency with other layers. 45*b6fb3261SAndroid Build Coastguard Worker* Some files in `tensorflow/python/training` have been moved to `tensorflow/python/tracking` and `tensorflow/python/checkpoint`. Please update your imports accordingly, the old files will be removed in Release 2.11. 46*b6fb3261SAndroid Build Coastguard Worker* `tf.keras.optimizers.experimental.Optimizer` will graduate in Release 2.11, which means `tf.keras.optimizers.Optimizer` will be an alias of `tf.keras.optimizers.experimental.Optimizer`. The current `tf.keras.optimizers.Optimizer` will continue to be supported as `tf.keras.optimizers.legacy.Optimizer`, e.g., `tf.keras.optimizers.legacy.Adam`. Most users won't be affected by this change, but please check the [API doc](https://www.tensorflow.org/api_docs/python/tf/keras/optimizers/experimental) if any API used in your workflow is changed or deprecated, and make adaptions. If you decide to keep using the old optimizer, please explicitly change your optimizer to `tf.keras.optimizers.legacy.Optimizer`. 47*b6fb3261SAndroid Build Coastguard Worker* RNG behavior change for `tf.keras.initializers`. Keras initializers will now use stateless random ops to generate random numbers. 48*b6fb3261SAndroid Build Coastguard Worker* Both seeded and unseeded initializers will always generate the same values every time they are called (for a given variable shape). For unseeded initializers (`seed=None`), a random seed will be created and assigned at initializer creation (different initializer instances get different seeds). 49*b6fb3261SAndroid Build Coastguard Worker* An unseeded initializer will raise a warning if it is reused (called) multiple times. This is because it would produce the same values each time, which may not be intended. 50*b6fb3261SAndroid Build Coastguard Worker 51*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements 52*b6fb3261SAndroid Build Coastguard Worker 53*b6fb3261SAndroid Build Coastguard Worker* `tf.lite`: 54*b6fb3261SAndroid Build Coastguard Worker 55*b6fb3261SAndroid Build Coastguard Worker * New operations supported: 56*b6fb3261SAndroid Build Coastguard Worker * tflite SelectV2 now supports 5D. 57*b6fb3261SAndroid Build Coastguard Worker * tf.einsum is supported with multiple unknown shapes. 58*b6fb3261SAndroid Build Coastguard Worker * tf.unsortedsegmentprod op is supported. 59*b6fb3261SAndroid Build Coastguard Worker * tf.unsortedsegmentmax op is supported. 60*b6fb3261SAndroid Build Coastguard Worker * tf.unsortedsegmentsum op is supported. 61*b6fb3261SAndroid Build Coastguard Worker * Updates to existing operations: 62*b6fb3261SAndroid Build Coastguard Worker * tfl.scatter_nd now supports I1 for update arg. 63*b6fb3261SAndroid Build Coastguard Worker * Upgrade Flatbuffers v2.0.5 from v1.12.0 64*b6fb3261SAndroid Build Coastguard Worker * Better supporting `tf_type.variant` type in flatbuffer import/export. 65*b6fb3261SAndroid Build Coastguard Worker 66*b6fb3261SAndroid Build Coastguard Worker* `tf.keras`: 67*b6fb3261SAndroid Build Coastguard Worker 68*b6fb3261SAndroid Build Coastguard Worker * `EinsumDense` layer moved from experimental to core. Its import path moved from `tf.keras.layers.experimental.EinsumDense` to `tf.keras.layers.EinsumDense`. 69*b6fb3261SAndroid Build Coastguard Worker * Added `tf.keras.utils.audio_dataset_from_directory` utility to easily generate audio classification datasets from directories of `.wav` files. 70*b6fb3261SAndroid Build Coastguard Worker * Added `subset="both"` support in `tf.keras.utils.image_dataset_from_directory`,`tf.keras.utils.text_dataset_from_directory`, and `audio_dataset_from_directory`, to be used with the `validation_split` argument, for returning both dataset splits at once, as a tuple. 71*b6fb3261SAndroid Build Coastguard Worker * Added `tf.keras.utils.split_dataset` utility to split a `Dataset` object or a list/tuple of arrays into two `Dataset` objects (e.g. train/test). 72*b6fb3261SAndroid Build Coastguard Worker * Added step granularity to `BackupAndRestore` callback for handling distributed training failures & restarts. The training state can now be restored at the exact epoch and step at which it was previously saved before failing. 73*b6fb3261SAndroid Build Coastguard Worker * Added [`tf.keras.dtensor.experimental.optimizers.AdamW`](https://www.tensorflow.org/api_docs/python/tf/keras/dtensor/experimental/optimizers/AdamW). This optimizer is similar as the existing [`keras.optimizers.experimental.AdamW`](https://www.tensorflow.org/api_docs/python/tf/keras/optimizers/experimental/AdamW), and works in the DTensor training use case. 74*b6fb3261SAndroid Build Coastguard Worker * Improved masking support for [tf.keras.layers.MultiHeadAttention](https://www.tensorflow.org/api_docs/python/tf/keras/layers/MultiHeadAttention). 75*b6fb3261SAndroid Build Coastguard Worker * Implicit masks for `query`, `key` and `value` inputs will automatically be used to compute a correct attention mask for the layer. These padding masks will be combined with any `attention_mask` passed in directly when calling the layer. This can be used with [tf.keras.layers.Embedding](https://www.tensorflow.org/api_docs/python/tf/keras/layers/Embedding) with `mask_zero=True` to automatically infer a correct padding mask. 76*b6fb3261SAndroid Build Coastguard Worker * Added a `use_causal_mask` call time arugment to the layer. Passing `use_causal_mask=True` will compute a causal attention mask, and optionally combine it with any `attention_mask` passed in directly when calling the layer. 77*b6fb3261SAndroid Build Coastguard Worker * Added `ignore_class` argument in the loss `SparseCategoricalCrossentropy` and metrics `IoU` and `MeanIoU`, to specify a class index to be ignored during loss/metric computation (e.g. a background/void class). 78*b6fb3261SAndroid Build Coastguard Worker * Added [`tf.keras.models.experimental.SharpnessAwareMinimization`](https://www.tensorflow.org/api_docs/python/tf/keras/models/experimental/SharpnessAwareMinimization). This class implements the sharpness-aware minimization technique, which boosts model performance on various tasks, e.g., ResNet on image classification. 79*b6fb3261SAndroid Build Coastguard Worker 80*b6fb3261SAndroid Build Coastguard Worker* `tf.data`: 81*b6fb3261SAndroid Build Coastguard Worker 82*b6fb3261SAndroid Build Coastguard Worker * Added support for cross-trainer data caching in tf.data service. This saves computation resources when concurrent training jobs train from the same dataset. See 83*b6fb3261SAndroid Build Coastguard Worker https://www.tensorflow.org/api_docs/python/tf/data/experimental/service#sharing_tfdata_service_with_concurrent_trainers for more details. 84*b6fb3261SAndroid Build Coastguard Worker * Added `dataset_id` to `tf.data.experimental.service.register_dataset`. If provided, tf.data service will use the provided ID for the dataset. If the dataset ID already exists, no new dataset will be registered. This is useful if multiple training jobs need to use the same dataset for training. In this case, users should call `register_dataset` with the same `dataset_id`. 85*b6fb3261SAndroid Build Coastguard Worker * Added a new field, `inject_prefetch`, to `tf.data.experimental.OptimizationOptions`. If it is set to `True`, tf.data will now automatically add a `prefetch` transformation to datasets that end in synchronous transformations. This enables data generation to be overlapped with data consumption. This may cause a small increase in memory usage due to buffering. To enable this behavior, set `inject_prefetch=True` in `tf.data.experimental.OptimizationOptions`. 86*b6fb3261SAndroid Build Coastguard Worker * Added a new value to `tf.data.Options.autotune.autotune_algorithm`: STAGE_BASED. If the autotune algorithm is set to STAGE_BASED, then it runs a new algorithm that can get the same performance with lower CPU/memory usage. 87*b6fb3261SAndroid Build Coastguard Worker * Added [`tf.data.experimental.from_list`](https://www.tensorflow.org/api_docs/python/tf/data/experimental/from_list), a new API for creating `Dataset`s from lists of elements. 88*b6fb3261SAndroid Build Coastguard Worker 89*b6fb3261SAndroid Build Coastguard Worker* `tf.distribute`: 90*b6fb3261SAndroid Build Coastguard Worker 91*b6fb3261SAndroid Build Coastguard Worker * Added [`tf.distribute.experimental.PreemptionCheckpointHandler`](https://www.tensorflow.org/api_docs/python/tf/distribute/experimental/PreemptionCheckpointHandler) to handle worker preemption/maintenance and cluster-wise consistent error reporting for `tf.distribute.MultiWorkerMirroredStrategy`. Specifically, for the type of interruption with advance notice, it automatically saves a checkpoint, exits the program without raising an unrecoverable error, and restores the progress when training restarts. 92*b6fb3261SAndroid Build Coastguard Worker 93*b6fb3261SAndroid Build Coastguard Worker* `tf.math`: 94*b6fb3261SAndroid Build Coastguard Worker 95*b6fb3261SAndroid Build Coastguard Worker * Added `tf.math.approx_max_k` and `tf.math.approx_min_k` which are the optimized alternatives to `tf.math.top_k` on TPU. The performance difference range from 8 to 100 times depending on the size of k. When running on CPU and GPU, a non-optimized XLA kernel is used. 96*b6fb3261SAndroid Build Coastguard Worker 97*b6fb3261SAndroid Build Coastguard Worker* `tf.train`: 98*b6fb3261SAndroid Build Coastguard Worker 99*b6fb3261SAndroid Build Coastguard Worker * Added `tf.train.TrackableView` which allows users to inspect the TensorFlow Trackable object (e.g. `tf.Module`, Keras Layers and models). 100*b6fb3261SAndroid Build Coastguard Worker * Added `tf.train.CheckpointView` which allows users to inspect SavedModel objects and Checkpoint objects. 101*b6fb3261SAndroid Build Coastguard Worker 102*b6fb3261SAndroid Build Coastguard Worker* `tf.vectorized_map`: 103*b6fb3261SAndroid Build Coastguard Worker 104*b6fb3261SAndroid Build Coastguard Worker * Added an optional parameter: `warn`. This parameter controls whether or not warnings will be printed when operations in the provided `fn` fall back to a while loop. 105*b6fb3261SAndroid Build Coastguard Worker 106*b6fb3261SAndroid Build Coastguard Worker* XLA: 107*b6fb3261SAndroid Build Coastguard Worker * MWMS is now compilable with XLA. 108*b6fb3261SAndroid Build Coastguard Worker 109*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 110*b6fb3261SAndroid Build Coastguard Worker 111*b6fb3261SAndroid Build Coastguard Worker* New argument `experimental_device_ordinal` in `LogicalDeviceConfiguration` to control the order of logical devices. (GPU only) 112*b6fb3261SAndroid Build Coastguard Worker 113*b6fb3261SAndroid Build Coastguard Worker* `tf.keras`: 114*b6fb3261SAndroid Build Coastguard Worker 115*b6fb3261SAndroid Build Coastguard Worker * Changed the TensorBoard tag names produced by the `tf.keras.callbacks.TensorBoard` callback, so that summaries logged automatically for model weights now include either a `/histogram` or `/image` suffix in their tag names, in order to prevent tag name collisions across summary types. 116*b6fb3261SAndroid Build Coastguard Worker 117*b6fb3261SAndroid Build Coastguard Worker* When running on GPU (with cuDNN version 7.6.3 or later),`tf.nn.depthwise_conv2d` backprop to `filter` (and therefore also `tf.keras.layers.DepthwiseConv2D`) now operate deterministically (and `tf.errors.UnimplementedError` is no longer thrown) when op-determinism has been enabled via `tf.config.experimental.enable_op_determinism`. This closes 118*b6fb3261SAndroid Build Coastguard Worker issue [47174](https://github.com/tensorflow/tensorflow/issues/47174). 119*b6fb3261SAndroid Build Coastguard Worker 120*b6fb3261SAndroid Build Coastguard Worker* `tf.random` 121*b6fb3261SAndroid Build Coastguard Worker * Added `tf.random.experimental.stateless_shuffle`, a stateless version of `tf.random.shuffle`. 122*b6fb3261SAndroid Build Coastguard Worker 123*b6fb3261SAndroid Build Coastguard Worker## Deprecations 124*b6fb3261SAndroid Build Coastguard Worker 125*b6fb3261SAndroid Build Coastguard Worker* The C++ `tensorflow::Code` and `tensorflow::Status` will become aliases of respectively `absl::StatusCode` and `absl::Status` in some future release. 126*b6fb3261SAndroid Build Coastguard Worker * Use `tensorflow::OkStatus()` instead of `tensorflow::Status::OK()`. 127*b6fb3261SAndroid Build Coastguard Worker * Stop constructing `Status` objects from `tensorflow::error::Code`. 128*b6fb3261SAndroid Build Coastguard Worker * One MUST NOT access `tensorflow::errors::Code` fields. Accessing 129*b6fb3261SAndroid Build Coastguard Worker `tensorflow::error::Code` fields is fine. 130*b6fb3261SAndroid Build Coastguard Worker * Use the constructors such as `tensorflow::errors:InvalidArgument` to create status using an error code without accessing it. 131*b6fb3261SAndroid Build Coastguard Worker * Use the free functions such as `tensorflow::errors::IsInvalidArgument` if needed. 132*b6fb3261SAndroid Build Coastguard Worker * In the last resort, use e.g. `static_cast<tensorflow::errors::Code>(error::Code::INVALID_ARGUMENT)` or `static_cast<int>(code)` for comparisons. 133*b6fb3261SAndroid Build Coastguard Worker* `tensorflow::StatusOr` will also become in the future alias to `absl::StatusOr`, so use `StatusOr::value` instead of `StatusOr::ConsumeValueOrDie`. 134*b6fb3261SAndroid Build Coastguard Worker 135*b6fb3261SAndroid Build Coastguard Worker 136*b6fb3261SAndroid Build Coastguard Worker 137*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors 138*b6fb3261SAndroid Build Coastguard Worker 139*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as: 140*b6fb3261SAndroid Build Coastguard Worker 141*b6fb3261SAndroid Build Coastguard WorkerAbolfazl Shahbazi, Adam Lanicek, Amin Benarieb, andreii, Andrew Fitzgibbon, Andrew Goodbody, angerson, Ashiq Imran, Aurélien Geron, Banikumar Maiti (Intel Aipg), Ben Barsdell, Ben Mares, bhack, Bhavani Subramanian, Bill Schnurr, Byungsoo Oh, Chandra Sr Potula, Chengji Yao, Chris Carpita, Christopher Bate, chunduriv, Cliff Woolley, Cliffs Dover, Cloud Han, Code-Review-Doctor, DEKHTIARJonathan, Deven Desai, Djacon, Duncan Riach, fedotoff, fo40225, Frederic Bastien, gadagashwini, Gauri1 Deshpande, guozhong.zhuang, Hui Peng, James Gerity, Jason Furmanek, Jonathan Dekhtiar, Jueon Park, Kaixi Hou, Kanvi Khanna, Keith Smiley, Koan-Sin Tan, Kulin Seth, kushanam, Learning-To-Play, Li-Wen Chang, lipracer, liuyuanqiang, Louis Sugy, Lucas David, Lukas Geiger, Mahmoud Abuzaina, Marius Brehler, Maxiwell S. Garcia, mdfaijul, Meenakshi Venkataraman, Michal Szutenberg, Michele Di Giorgio, Mickaël Salamin, Nathan John Sircombe, Nathan Luehr, Neil Girdhar, Nils Reichardt, Nishidha Panpaliya, Nobuo Tsukamoto, Om Thakkar, Patrice Vignola, Philipp Hack, Pooya Jannaty, Prianka Liz Kariat, pshiko, Rajeshwar Reddy T, rdl4199, Rohit Santhanam, Rsanthanam-Amd, Sachin Muradi, Saoirse Stewart, Serge Panev, Shu Wang, Srinivasan Narayanamoorthy, Stella Stamenova, Stephan Hartmann, Sunita Nadampalli, synandi, Tamas Bela Feher, Tao Xu, Thibaut Goetghebuer-Planchon, Trevor Morris, Xiaoming (Jason) Cui, Yimei Sun, Yong Tang, Yuanqiang Liu, Yulv-Git, Zhoulong Jiang, ZihengJiang 142*b6fb3261SAndroid Build Coastguard Worker 143*b6fb3261SAndroid Build Coastguard Worker# Release 2.9.1 144*b6fb3261SAndroid Build Coastguard Worker 145*b6fb3261SAndroid Build Coastguard WorkerAdd an upper bound for `protobuf` in `setup.py` since `protobuf` after version 3.20 is currently incompatible with TensorFlow. See https://github.com/tensorflow/tensorflow/issues/53234, https://github.com/protocolbuffers/protobuf/issues/9954 and https://github.com/tensorflow/tensorflow/issues/56077. 146*b6fb3261SAndroid Build Coastguard Worker 147*b6fb3261SAndroid Build Coastguard Worker# Release 2.8.2 148*b6fb3261SAndroid Build Coastguard Worker 149*b6fb3261SAndroid Build Coastguard WorkerAdd an upper bound for `protobuf` in `setup.py` since `protobuf` after version 3.20 is currently incompatible with TensorFlow. See https://github.com/tensorflow/tensorflow/issues/53234, https://github.com/protocolbuffers/protobuf/issues/9954 and https://github.com/tensorflow/tensorflow/issues/56077. 150*b6fb3261SAndroid Build Coastguard Worker 151*b6fb3261SAndroid Build Coastguard Worker# Release 2.7.3 152*b6fb3261SAndroid Build Coastguard Worker 153*b6fb3261SAndroid Build Coastguard WorkerAdd an upper bound for `protobuf` in `setup.py` since `protobuf` after version 3.20 is currently incompatible with TensorFlow. See https://github.com/tensorflow/tensorflow/issues/53234, https://github.com/protocolbuffers/protobuf/issues/9954 and https://github.com/tensorflow/tensorflow/issues/56077. 154*b6fb3261SAndroid Build Coastguard Worker 155*b6fb3261SAndroid Build Coastguard Worker# Release 2.6.5 156*b6fb3261SAndroid Build Coastguard Worker 157*b6fb3261SAndroid Build Coastguard WorkerAdd an upper bound for `protobuf` in `setup.py` since `protobuf` after version 3.20 is currently incompatible with TensorFlow. See https://github.com/tensorflow/tensorflow/issues/53234, https://github.com/protocolbuffers/protobuf/issues/9954 and https://github.com/tensorflow/tensorflow/issues/56077. 158*b6fb3261SAndroid Build Coastguard Worker 159*b6fb3261SAndroid Build Coastguard Worker# Release 2.9.0 160*b6fb3261SAndroid Build Coastguard Worker 161*b6fb3261SAndroid Build Coastguard Worker## Breaking Changes 162*b6fb3261SAndroid Build Coastguard Worker 163*b6fb3261SAndroid Build Coastguard Worker* Due to security issues in TF 2.8, all boosted trees code has now been removed (after being deprecated in TF 2.8). Users should switch to [TensorFlow Decision Forests](https://github.com/tensorflow/decision-forests). 164*b6fb3261SAndroid Build Coastguard Worker* Build, Compilation and Packaging 165*b6fb3261SAndroid Build Coastguard Worker * TensorFlow is now compiled with `_GLIBCXX_USE_CXX11_ABI=1`. Downstream projects that encounter `std::__cxx11` or `[abi:cxx11]` linker errors will need to adopt this compiler option. See [the GNU C++ Library docs on Dual ABI](https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html). 166*b6fb3261SAndroid Build Coastguard Worker * TensorFlow Python wheels now specifically conform to [manylinux2014](https://peps.python.org/pep-0599/), an upgrade from manylinux2010. The minimum Pip version supporting manylinux2014 is Pip 19.3 (see [pypa/manylinux](https://github.com/pypa/manylinux). This change may affect you if you have been using TensorFlow on a very old platform equivalent to CentOS 6, as manylinux2014 targets CentOS 7 as a compatibility base. Note that TensorFlow does not officially support either platform. 167*b6fb3261SAndroid Build Coastguard Worker * Discussion for these changes can be found on SIG Build's [TensorFlow Community Forum thread](https://discuss.tensorflow.org/t/tensorflow-linux-wheels-are-being-upgraded-to-manylinux2014/8339) 168*b6fb3261SAndroid Build Coastguard Worker* The `tf.keras.mixed_precision.experimental` API has been removed. The non-experimental symbols under `tf.keras.mixed_precision` have been available since TensorFlow 2.4 and should be used instead. 169*b6fb3261SAndroid Build Coastguard Worker * The non-experimental API has some minor differences from the experimental API. In most cases, you only need to make three minor changes: 170*b6fb3261SAndroid Build Coastguard Worker * Remove the word "experimental" from `tf.keras.mixed_precision` symbols. E.g., replace `tf.keras.mixed_precision.experimental.global_policy` with `tf.keras.mixed_precision.global_policy`. 171*b6fb3261SAndroid Build Coastguard Worker * Replace `tf.keras.mixed_precision.experimental.set_policy` with `tf.keras.mixed_precision.set_global_policy`. The experimental symbol `set_policy` was renamed to `set_global_policy` in the non-experimental API. 172*b6fb3261SAndroid Build Coastguard Worker * Replace `LossScaleOptimizer(opt, "dynamic")` with `LossScaleOptimizer(opt)`. If you pass anything other than `"dynamic"` to the second argument, see (1) of the next section. 173*b6fb3261SAndroid Build Coastguard Worker * In the following rare cases, you need to make more changes when switching to the non-experimental API: 174*b6fb3261SAndroid Build Coastguard Worker * If you passed anything other than `"dynamic"` to the `loss_scale` argument (the second argument) of `LossScaleOptimizer`: 175*b6fb3261SAndroid Build Coastguard Worker * The LossScaleOptimizer constructor takes in different arguments. See the [TF 2.7 documentation of tf.keras.mixed_precision.experimental.LossScaleOptimizer](https://www.tensorflow.org/versions/r2.7/api_docs/python/tf/keras/mixed_precision/experimental/LossScaleOptimizer) for details on the differences, which has examples on how to convert to the non-experimental LossScaleOptimizer. 176*b6fb3261SAndroid Build Coastguard Worker * If you passed a value to the `loss_scale` argument (the second argument) of `Policy`: 177*b6fb3261SAndroid Build Coastguard Worker * The experimental version of `Policy` optionally took in a `tf.compat.v1.mixed_precision.LossScale` in the constructor, which defaulted to a dynamic loss scale for the `"mixed_float16"` policy and no loss scale for other policies. In `Model.compile`, if the model's policy had a loss scale, the optimizer would be wrapped with a `LossScaleOptimizer`. With the non-experimental `Policy`, there is no loss scale associated with the `Policy`, and `Model.compile` wraps the optimizer with a `LossScaleOptimizer` if and only if the policy is a `"mixed_float16"` policy. If you previously passed a `LossScale` to the experimental `Policy`, consider just removing it, as the default loss scaling behavior is usually what you want. If you really want to customize the loss scaling behavior, you can wrap your optimizer with a `LossScaleOptimizer` before passing it to `Model.compile`. 178*b6fb3261SAndroid Build Coastguard Worker * If you use the very rarely-used function `tf.keras.mixed_precision.experimental.get_layer_policy`: 179*b6fb3261SAndroid Build Coastguard Worker * Replace `tf.keras.mixed_precision.experimental.get_layer_policy(layer)` with `layer.dtype_policy`. 180*b6fb3261SAndroid Build Coastguard Worker* `tf.mixed_precision.experimental.LossScale` and its subclasses have been removed from the TF2 namespace. This symbols were very rarely used and were only useful in TF2 for use in the now-removed `tf.keras.mixed_precision.experimental` API. The symbols are still available under `tf.compat.v1.mixed_precision`. 181*b6fb3261SAndroid Build Coastguard Worker* The `experimental_relax_shapes` heuristic for `tf.function` has been deprecated and replaced with `reduce_retracing` which encompasses broader heuristics to reduce the number of retraces (see below) 182*b6fb3261SAndroid Build Coastguard Worker 183*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements 184*b6fb3261SAndroid Build Coastguard Worker 185*b6fb3261SAndroid Build Coastguard Worker* `tf.keras`: 186*b6fb3261SAndroid Build Coastguard Worker 187*b6fb3261SAndroid Build Coastguard Worker * Added `tf.keras.applications.resnet_rs` models. This includes the 188*b6fb3261SAndroid Build Coastguard Worker `ResNetRS50`, `ResNetRS101`, `ResNetRS152`, `ResNetRS200`, 189*b6fb3261SAndroid Build Coastguard Worker `ResNetRS270`, `ResNetRS350` and `ResNetRS420` model architectures. The 190*b6fb3261SAndroid Build Coastguard Worker ResNetRS models are based on the architecture described in 191*b6fb3261SAndroid Build Coastguard Worker [Revisiting ResNets: Improved Training and Scaling Strategies](https://arxiv.org/pdf/2103.07579.pdf) 192*b6fb3261SAndroid Build Coastguard Worker * Added `tf.keras.optimizers.experimental.Optimizer`. The reworked 193*b6fb3261SAndroid Build Coastguard Worker optimizer gives more control over different phases of optimizer calls, 194*b6fb3261SAndroid Build Coastguard Worker and is easier to customize. We provide Adam, SGD, Adadelta, AdaGrad and 195*b6fb3261SAndroid Build Coastguard Worker RMSprop optimizers based on 196*b6fb3261SAndroid Build Coastguard Worker `tf.keras.optimizers.experimental.Optimizer`. Generally the new 197*b6fb3261SAndroid Build Coastguard Worker optimizers work in the same way as the old ones, but support new 198*b6fb3261SAndroid Build Coastguard Worker constructor arguments. In the future, the symbols 199*b6fb3261SAndroid Build Coastguard Worker `tf.keras.optimizers.Optimizer`/`Adam`/etc will point to the new 200*b6fb3261SAndroid Build Coastguard Worker optimizers, and the previous generation of optimizers will be moved to 201*b6fb3261SAndroid Build Coastguard Worker `tf.keras.optimizers.legacy.Optimizer`/`Adam`/etc. 202*b6fb3261SAndroid Build Coastguard Worker * Added L2 unit normalization layer `tf.keras.layers.UnitNormalization`. 203*b6fb3261SAndroid Build Coastguard Worker * Added `tf.keras.regularizers.OrthogonalRegularizer`, a new regularizer 204*b6fb3261SAndroid Build Coastguard Worker that encourages orthogonality between the rows (or columns) or a weight 205*b6fb3261SAndroid Build Coastguard Worker matrix. 206*b6fb3261SAndroid Build Coastguard Worker * Added `tf.keras.layers.RandomBrightness` layer for image preprocessing. 207*b6fb3261SAndroid Build Coastguard Worker * Added APIs for switching between interactive logging and absl logging. 208*b6fb3261SAndroid Build Coastguard Worker By default, Keras always writes the logs to stdout. However, this is not 209*b6fb3261SAndroid Build Coastguard Worker optimal in a non-interactive environment, where you don't have access to 210*b6fb3261SAndroid Build Coastguard Worker stdout, but can only view the logs. You can use 211*b6fb3261SAndroid Build Coastguard Worker `tf.keras.utils.disable_interactive_logging()` to write the logs to ABSL 212*b6fb3261SAndroid Build Coastguard Worker logging. You can also use `tf.keras.utils.enable_interactive_logging()` 213*b6fb3261SAndroid Build Coastguard Worker to change it back to stdout, or 214*b6fb3261SAndroid Build Coastguard Worker `tf.keras.utils.is_interactive_logging_enabled()` to check if 215*b6fb3261SAndroid Build Coastguard Worker interactive logging is enabled. 216*b6fb3261SAndroid Build Coastguard Worker * Changed default value for the `verbose` argument of `Model.evaluate()` 217*b6fb3261SAndroid Build Coastguard Worker and `Model.predict()` to `"auto"`, which defaults to `verbose=1` for 218*b6fb3261SAndroid Build Coastguard Worker most cases and defaults to `verbose=2` when used with 219*b6fb3261SAndroid Build Coastguard Worker `ParameterServerStrategy` or with interactive logging disabled. 220*b6fb3261SAndroid Build Coastguard Worker * Argument `jit_compile` in `Model.compile()` now applies to 221*b6fb3261SAndroid Build Coastguard Worker `Model.evaluate()` and `Model.predict()`. Setting `jit_compile=True` in 222*b6fb3261SAndroid Build Coastguard Worker `compile()` compiles the model's training, evaluation, and inference 223*b6fb3261SAndroid Build Coastguard Worker steps to [XLA](https://www.tensorflow.org/xla). Note that 224*b6fb3261SAndroid Build Coastguard Worker `jit_compile=True` may not necessarily work for all models. 225*b6fb3261SAndroid Build Coastguard Worker * Added DTensor-related Keras APIs under `tf.keras.dtensor` namespace. The 226*b6fb3261SAndroid Build Coastguard Worker APIs are still classified as experimental. You are welcome to try it 227*b6fb3261SAndroid Build Coastguard Worker out. Please check the tutorial and guide on https://www.tensorflow.org/ 228*b6fb3261SAndroid Build Coastguard Worker for more details about DTensor. 229*b6fb3261SAndroid Build Coastguard Worker 230*b6fb3261SAndroid Build Coastguard Worker* `tf.lite`: 231*b6fb3261SAndroid Build Coastguard Worker 232*b6fb3261SAndroid Build Coastguard Worker * Added TFLite builtin op support for the following TF ops: 233*b6fb3261SAndroid Build Coastguard Worker * `tf.math.argmin`/`tf.math.argmax` for input data type `tf.bool` on 234*b6fb3261SAndroid Build Coastguard Worker CPU. 235*b6fb3261SAndroid Build Coastguard Worker * `tf.nn.gelu` op for output data type `tf.float32` and quantization 236*b6fb3261SAndroid Build Coastguard Worker on CPU. 237*b6fb3261SAndroid Build Coastguard Worker * Add nominal support for unsigned 16-bit integer tensor types. Note that 238*b6fb3261SAndroid Build Coastguard Worker very few TFLite kernels support this type natively, so its use in mobile 239*b6fb3261SAndroid Build Coastguard Worker ML authoring is generally discouraged. 240*b6fb3261SAndroid Build Coastguard Worker * Add support for unsigned 16-bit integer tensor types in cast op. 241*b6fb3261SAndroid Build Coastguard Worker * Experimental support for lowering `list_ops.tensor_list_set_item` with 242*b6fb3261SAndroid Build Coastguard Worker `DynamicUpdateSlice`. 243*b6fb3261SAndroid Build Coastguard Worker * Enabled a new MLIR-based dynamic range quantization backend by default 244*b6fb3261SAndroid Build Coastguard Worker * The new backend is used for post-training int8 dynamic range 245*b6fb3261SAndroid Build Coastguard Worker quantization and post-training float16 quantization. 246*b6fb3261SAndroid Build Coastguard Worker * Set `experimental_new_dynamic_range_quantizer` in 247*b6fb3261SAndroid Build Coastguard Worker tf.lite.TFLiteConverter to False to disable this change 248*b6fb3261SAndroid Build Coastguard Worker * Native TF Lite variables are now enabled during conversion by default on 249*b6fb3261SAndroid Build Coastguard Worker all v2 TfLiteConverter entry points. 250*b6fb3261SAndroid Build Coastguard Worker `experimental_enable_resource_variables` on tf.lite.TFLiteConverter is 251*b6fb3261SAndroid Build Coastguard Worker now True by default and will be removed in the future. 252*b6fb3261SAndroid Build Coastguard Worker 253*b6fb3261SAndroid Build Coastguard Worker* `tf.function`: 254*b6fb3261SAndroid Build Coastguard Worker 255*b6fb3261SAndroid Build Coastguard Worker * Custom classes used as arguments for `tf.function` can now specify rules 256*b6fb3261SAndroid Build Coastguard Worker regarding when retracing needs to occur by implementing the Tracing 257*b6fb3261SAndroid Build Coastguard Worker Protocol available through 258*b6fb3261SAndroid Build Coastguard Worker `tf.types.experimental.SupportsTracingProtocol`. 259*b6fb3261SAndroid Build Coastguard Worker * `TypeSpec` classes (as associated with `ExtensionTypes`) also implement 260*b6fb3261SAndroid Build Coastguard Worker the Tracing Protocol which can be overridden if necessary. 261*b6fb3261SAndroid Build Coastguard Worker * The newly introduced `reduce_retracing` option also uses the Tracing 262*b6fb3261SAndroid Build Coastguard Worker Protocol to proactively generate generalized traces similar to 263*b6fb3261SAndroid Build Coastguard Worker `experimental_relax_shapes` (which has now been deprecated). 264*b6fb3261SAndroid Build Coastguard Worker 265*b6fb3261SAndroid Build Coastguard Worker* Unified eager and `tf.function` execution: 266*b6fb3261SAndroid Build Coastguard Worker 267*b6fb3261SAndroid Build Coastguard Worker * Eager mode can now execute each op as a `tf.function`, allowing for more 268*b6fb3261SAndroid Build Coastguard Worker consistent feature support in future releases. 269*b6fb3261SAndroid Build Coastguard Worker * It is available for immediate use. 270*b6fb3261SAndroid Build Coastguard Worker * See the `TF_RUN_EAGER_OP_AS_FUNCTION` environment variable in 271*b6fb3261SAndroid Build Coastguard Worker [eager context](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/eager/context.py). 272*b6fb3261SAndroid Build Coastguard Worker * Eager performance should be similar with this feature enabled. 273*b6fb3261SAndroid Build Coastguard Worker * A roughly 5us per-op overhead may be observed when running many 274*b6fb3261SAndroid Build Coastguard Worker small functions. 275*b6fb3261SAndroid Build Coastguard Worker * Note a 276*b6fb3261SAndroid Build Coastguard Worker [known issue](https://github.com/tensorflow/tensorflow/issues/55414) 277*b6fb3261SAndroid Build Coastguard Worker with GPU performance. 278*b6fb3261SAndroid Build Coastguard Worker * The behavior of `tf.function` itself is unaffected. 279*b6fb3261SAndroid Build Coastguard Worker * Note: This feature will be enabled by default in an upcoming version of 280*b6fb3261SAndroid Build Coastguard Worker TensorFlow. 281*b6fb3261SAndroid Build Coastguard Worker 282*b6fb3261SAndroid Build Coastguard Worker* `tf.experimental.dtensor`: Added DTensor, an extension to TensorFlow for 283*b6fb3261SAndroid Build Coastguard Worker large-scale modeling with minimal changes to user code. You are welcome to 284*b6fb3261SAndroid Build Coastguard Worker try it out, though be aware that the DTensor API is experimental and up-to 285*b6fb3261SAndroid Build Coastguard Worker backward-incompatible changes. DTensor and Keras integration is published 286*b6fb3261SAndroid Build Coastguard Worker under `tf.keras.dtensor` in this release (refer to the `tf.keras` entry). 287*b6fb3261SAndroid Build Coastguard Worker The tutoral and guide for DTensor will be published on 288*b6fb3261SAndroid Build Coastguard Worker https://www.tensorflow.org/. Please stay tuned. 289*b6fb3261SAndroid Build Coastguard Worker 290*b6fb3261SAndroid Build Coastguard Worker* [oneDNN CPU performance optimizations](https://github.com/tensorflow/community/blob/master/rfcs/20210930-enable-onednn-ops.md) 291*b6fb3261SAndroid Build Coastguard Worker are available in Linux x86, Windows x86, and Linux aarch64 packages. 292*b6fb3261SAndroid Build Coastguard Worker 293*b6fb3261SAndroid Build Coastguard Worker * **Linux x86 packages:** 294*b6fb3261SAndroid Build Coastguard Worker * oneDNN optimizations are *enabled by default* on CPUs with 295*b6fb3261SAndroid Build Coastguard Worker neural-network-focused hardware features such as AVX512_VNNI, 296*b6fb3261SAndroid Build Coastguard Worker AVX512_BF16, AMX, etc. 297*b6fb3261SAndroid Build Coastguard Worker ([Intel Cascade Lake](https://www.intel.com/content/www/us/en/products/platforms/details/cascade-lake.html) 298*b6fb3261SAndroid Build Coastguard Worker and newer CPUs.) 299*b6fb3261SAndroid Build Coastguard Worker * [Example performance speedups.](https://medium.com/intel-analytics-software/leverage-intel-deep-learning-optimizations-in-tensorflow-129faa80ee07) 300*b6fb3261SAndroid Build Coastguard Worker * For older CPUs, oneDNN optimizations are disabled by default. 301*b6fb3261SAndroid Build Coastguard Worker * **Windows x86 package:** oneDNN optimizations are disabled by default. 302*b6fb3261SAndroid Build Coastguard Worker * **Linux aach64 (`--config=mkl_aarch64`) package:** 303*b6fb3261SAndroid Build Coastguard Worker * Experimental oneDNN optimizations are disabled by default. 304*b6fb3261SAndroid Build Coastguard Worker * If you experience issues with oneDNN optimizations on, we recommend 305*b6fb3261SAndroid Build Coastguard Worker turning them off. 306*b6fb3261SAndroid Build Coastguard Worker * To explicitly enable or disable oneDNN optimizations, set the 307*b6fb3261SAndroid Build Coastguard Worker environment variable `TF_ENABLE_ONEDNN_OPTS` to `1` (enable) or `0` 308*b6fb3261SAndroid Build Coastguard Worker (disable) before running TensorFlow. (The variable is checked during 309*b6fb3261SAndroid Build Coastguard Worker `import tensorflow`.) To fall back to default settings, unset the 310*b6fb3261SAndroid Build Coastguard Worker environment variable. 311*b6fb3261SAndroid Build Coastguard Worker * These optimizations can yield slightly different numerical results from 312*b6fb3261SAndroid Build Coastguard Worker when they are off due to floating-point round-off errors from different 313*b6fb3261SAndroid Build Coastguard Worker computation approaches and orders. 314*b6fb3261SAndroid Build Coastguard Worker * To verify that the optimizations are on, look for a message with 315*b6fb3261SAndroid Build Coastguard Worker *"oneDNN custom operations are on"* in the log. If the exact phrase is 316*b6fb3261SAndroid Build Coastguard Worker not there, it means they are off. 317*b6fb3261SAndroid Build Coastguard Worker 318*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 319*b6fb3261SAndroid Build Coastguard Worker 320*b6fb3261SAndroid Build Coastguard Worker* `tf.data`: 321*b6fb3261SAndroid Build Coastguard Worker * Fixed bug in `tf.data.experimental.parse_example_dataset` when `tf.io.RaggedFeatures` would specify `value_key` but no `partitions`. Before the fix, setting `value_key` but no `partitions` would result in the feature key being replaced by the value key, e.g. `{'value_key': <RaggedTensor>}` instead of `{'key': <RaggedTensor>}`. Now the correct feature key will be used. This aligns the behavior of `tf.data.experimental.parse_example_dataset` to match the behavior of `tf.io.parse_example`. 322*b6fb3261SAndroid Build Coastguard Worker * Added a new field, `filter_parallelization`, to `tf.data.experimental.OptimizationOptions`. If it is set to `True`, tf.data will run `Filter` transformation with multiple threads. Its default value is `False` if not specified. 323*b6fb3261SAndroid Build Coastguard Worker 324*b6fb3261SAndroid Build Coastguard Worker* `tf.keras`: 325*b6fb3261SAndroid Build Coastguard Worker * Fixed bug in optimizers that prevented them from properly checkpointing slot variables when they are `ShardedVariable`s (used for training with `tf.distribute.experimental.ParameterServerStrategy`). 326*b6fb3261SAndroid Build Coastguard Worker 327*b6fb3261SAndroid Build Coastguard Worker* `tf.random`: 328*b6fb3261SAndroid Build Coastguard Worker * Added `tf.random.experimental.index_shuffle`, for shuffling a sequence without materializing the sequence in memory. 329*b6fb3261SAndroid Build Coastguard Worker 330*b6fb3261SAndroid Build Coastguard Worker* `tf.RaggedTensor`: 331*b6fb3261SAndroid Build Coastguard Worker * Introduced `tf.experimental.RowPartition`, which encodes how one dimension in a RaggedTensor relates to another, into the public API. 332*b6fb3261SAndroid Build Coastguard Worker * Introduced `tf.experimental.DynamicRaggedShape`, which represents the shape of a RaggedTensor. 333*b6fb3261SAndroid Build Coastguard Worker 334*b6fb3261SAndroid Build Coastguard Worker## Security 335*b6fb3261SAndroid Build Coastguard Worker 336*b6fb3261SAndroid Build Coastguard Worker* Fixes a code injection in `saved_model_cli` ([CVE-2022-29216](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29216)) 337*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which causes `TensorSummaryV2` to crash ([CVE-2022-29193](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29193)) 338*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which crashes `QuantizeAndDequantizeV4Grad` ([CVE-2022-29192](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29192)) 339*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which causes denial of service via `DeleteSessionTensor` ([CVE-2022-29194](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29194)) 340*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which causes denial of service via `GetSessionTensor` ([CVE-2022-29191](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29191)) 341*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which causes denial of service via `StagePeek` ([CVE-2022-29195](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29195)) 342*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which causes denial of service via `UnsortedSegmentJoin` ([CVE-2022-29197](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29197)) 343*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which causes denial of service via `LoadAndRemapMatrix` ([CVE-2022-29199](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29199)) 344*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which causes denial of service via `SparseTensorToCSRSparseMatrix` ([CVE-2022-29198](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29198)) 345*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which causes denial of service via `LSTMBlockCell` ([CVE-2022-29200](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29200)) 346*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which causes denial of service via `Conv3DBackpropFilterV2` ([CVE-2022-29196](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29196)) 347*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK` failure in depthwise ops via overflows ([CVE-2021-41197](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41197)) 348*b6fb3261SAndroid Build Coastguard Worker* Fixes issues arising from undefined behavior stemming from users supplying invalid resource handles ([CVE-2022-29207](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29207)) 349*b6fb3261SAndroid Build Coastguard Worker* Fixes a segfault due to missing support for quantized types ([CVE-2022-29205](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29205)) 350*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which results in undefined behavior in `SparseTensorDenseAdd` ([CVE-2022-29206](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29206)) 351*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which results in undefined behavior in `QuantizedConv2D` ([CVE-2022-29201](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29201)) 352*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer overflow in `SpaceToBatchND` ([CVE-2022-29203](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29203)) 353*b6fb3261SAndroid Build Coastguard Worker* Fixes a segfault and OOB write due to incomplete validation in `EditDistance` ([CVE-2022-29208](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29208)) 354*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which causes denial of service via `Conv3DBackpropFilterV2` ([CVE-2022-29204](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29204)) 355*b6fb3261SAndroid Build Coastguard Worker* Fixes a denial of service in `tf.ragged.constant` due to lack of validation ([CVE-2022-29202](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29202)) 356*b6fb3261SAndroid Build Coastguard Worker* Fixes a segfault when `tf.histogram_fixed_width` is called with NaN values ([CVE-2022-29211](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29211)) 357*b6fb3261SAndroid Build Coastguard Worker* Fixes a core dump when loading TFLite models with quantization ([CVE-2022-29212](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29212)) 358*b6fb3261SAndroid Build Coastguard Worker* Fixes crashes stemming from incomplete validation in signal ops ([CVE-2022-29213](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29213)) 359*b6fb3261SAndroid Build Coastguard Worker* Fixes a type confusion leading to `CHECK`-failure based denial of service ([CVE-2022-29209](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29209)) 360*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow due to incorrect hash function ([CVE-2022-29210](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29210)) 361*b6fb3261SAndroid Build Coastguard Worker* Updates `curl` to `7.83.1` to handle ([CVE-2022-22576](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-22576), ([CVE-2022-27774](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27774), ([CVE-2022-27775](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27775), ([CVE-2022-27776](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27776), ([CVE-2022-27778](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27778), ([CVE-2022-27779](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27779), ([CVE-2022-27780](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27780), ([CVE-2022-27781](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27781), ([CVE-2022-27782](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27782) and ([CVE-2022-30115](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-30115) 362*b6fb3261SAndroid Build Coastguard Worker* Updates `zlib` to `1.2.12` after `1.2.11` was pulled due to [security issue](https://www.openwall.com/lists/oss-security/2022/03/28/1) 363*b6fb3261SAndroid Build Coastguard Worker 364*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors 365*b6fb3261SAndroid Build Coastguard Worker 366*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as: 367*b6fb3261SAndroid Build Coastguard Worker 368*b6fb3261SAndroid Build Coastguard WorkerAaron Debattista, Abel Soares Siqueira, Abhishek Varma, Andrei Ivanov, andreii, Andrew Goodbody, apeltop, Arnab Dutta, Ashiq Imran, Banikumar Maiti (Intel Aipg), Ben Greiner, Benjamin Peterson, bhack, Christopher Bate, chunduriv, Copybara-Service, DEKHTIARJonathan, Deven Desai, Duncan Riach, Eric Kunze, Everton Constantino, Faruk D, Fredrik Knutsson, gadagashwini, Gauri1 Deshpande, gtiHibGele, Guozhong Zhuang, Islem-Esi, Ivanov Viktor, Jason Furmanek, Jason Zaman, Jim, Jinzhe Zeng, John Laxson, Jonas Eschle, Jonas Eschle 'Mayou36, Jonathan Dekhtiar, Kaixi Hou, Kanvi Khanna, KaurkerDevourer, Koan-Sin Tan, kushanam, Laramie Leavitt, Li-Wen Chang, lipracer, Louis Sugy, Lu Teng, Mahmoud Abuzaina, Malcolm Slaney, Malik Shahzad Muzaffar, Marek Šuppa, Matt Conley, Michael Melesse, Milos Puzovic, mohantym, Nathan John Sircombe, Nathan Luehr, Nilesh Agarwalla, Patrice Vignola, peterjc123, Philip Turner, Rajeshwar Reddy T, Robert Kalmar, Rodrigo Formigone, Rohit Santhanam, rui, Sachin Muradi, Saduf2019, sandip, Scott Leishman, Serge Panev, Shi,Guangyong, Srinivasan Narayanamoorthy, stanley, Steven I Reeves, stevenireeves, sushreebarsa, Tamas Bela Feher, Tao He, Thomas Schmeyer, Tiago Almeida, Trevor Morris, Uday Bondhugula, Uwe L. Korn, Varghese, Jojimon, Vishnuvardhan Janapati, William Muir, William Raveane, xutianming, Yasuhiro Matsumoto, Yimei Sun, Yong Tang, Yu Feng, Yuriy Chernyshov, zhaozheng09 369*b6fb3261SAndroid Build Coastguard Worker 370*b6fb3261SAndroid Build Coastguard Worker# Release 2.8.1 371*b6fb3261SAndroid Build Coastguard Worker 372*b6fb3261SAndroid Build Coastguard WorkerThis releases introduces several vulnerability fixes: 373*b6fb3261SAndroid Build Coastguard Worker 374*b6fb3261SAndroid Build Coastguard Worker* Fixes a code injection in `saved_model_cli` ([CVE-2022-29216](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29216)) 375*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which causes `TensorSummaryV2` to crash ([CVE-2022-29193](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29193)) 376*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which crashes `QuantizeAndDequantizeV4Grad` ([CVE-2022-29192](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29192)) 377*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which causes denial of service via `DeleteSessionTensor` ([CVE-2022-29194](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29194)) 378*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which causes denial of service via `GetSessionTensor` ([CVE-2022-29191](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29191)) 379*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which causes denial of service via `StagePeek` ([CVE-2022-29195](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29195)) 380*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which causes denial of service via `UnsortedSegmentJoin` ([CVE-2022-29197](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29197)) 381*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which causes denial of service via `LoadAndRemapMatrix` ([CVE-2022-29199](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29199)) 382*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which causes denial of service via `SparseTensorToCSRSparseMatrix` ([CVE-2022-29198](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29198)) 383*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which causes denial of service via `LSTMBlockCell` ([CVE-2022-29200](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29200)) 384*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which causes denial of service via `Conv3DBackpropFilterV2` ([CVE-2022-29196](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29196)) 385*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK` failure in depthwise ops via overflows ([CVE-2021-41197](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41197)) 386*b6fb3261SAndroid Build Coastguard Worker* Fixes issues arising from undefined behavior stemming from users supplying invalid resource handles ([CVE-2022-29207](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29207)) 387*b6fb3261SAndroid Build Coastguard Worker* Fixes a segfault due to missing support for quantized types ([CVE-2022-29205](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29205)) 388*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which results in undefined behavior in `SparseTensorDenseAdd` ([CVE-2022-29206](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29206)) 389*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which results in undefined behavior in `QuantizedConv2D` ([CVE-2022-29201](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29201)) 390*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer overflow in `SpaceToBatchND` ([CVE-2022-29203](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29203)) 391*b6fb3261SAndroid Build Coastguard Worker* Fixes a segfault and OOB write due to incomplete validation in `EditDistance` ([CVE-2022-29208](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29208)) 392*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which causes denial of service via `Conv3DBackpropFilterV2` ([CVE-2022-29204](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29204)) 393*b6fb3261SAndroid Build Coastguard Worker* Fixes a denial of service in `tf.ragged.constant` due to lack of validation ([CVE-2022-29202](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29202)) 394*b6fb3261SAndroid Build Coastguard Worker* Fixes a segfault when `tf.histogram_fixed_width` is called with NaN values ([CVE-2022-29211](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29211)) 395*b6fb3261SAndroid Build Coastguard Worker* Fixes a core dump when loading TFLite models with quantization ([CVE-2022-29212](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29212)) 396*b6fb3261SAndroid Build Coastguard Worker* Fixes crashes stemming from incomplete validation in signal ops ([CVE-2022-29213](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29213)) 397*b6fb3261SAndroid Build Coastguard Worker* Fixes a type confusion leading to `CHECK`-failure based denial of service ([CVE-2022-29209](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29209)) 398*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow due to incorrect hash function ([CVE-2022-29210](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29210)) 399*b6fb3261SAndroid Build Coastguard Worker* Updates `curl` to `7.83.1` to handle ([CVE-2022-22576](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-22576), ([CVE-2022-27774](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27774), ([CVE-2022-27775](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27775), ([CVE-2022-27776](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27776), ([CVE-2022-27778](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27778), ([CVE-2022-27779](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27779), ([CVE-2022-27780](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27780), ([CVE-2022-27781](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27781), ([CVE-2022-27782](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27782) and ([CVE-2022-30115](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-30115) 400*b6fb3261SAndroid Build Coastguard Worker* Updates `zlib` to `1.2.12` after `1.2.11` was pulled due to [security issue](https://www.openwall.com/lists/oss-security/2022/03/28/1) 401*b6fb3261SAndroid Build Coastguard Worker# Release 2.7.2 402*b6fb3261SAndroid Build Coastguard Worker 403*b6fb3261SAndroid Build Coastguard WorkerThis releases introduces several vulnerability fixes: 404*b6fb3261SAndroid Build Coastguard Worker 405*b6fb3261SAndroid Build Coastguard Worker* Fixes a code injection in `saved_model_cli` ([CVE-2022-29216](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29216)) 406*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which causes `TensorSummaryV2` to crash ([CVE-2022-29193](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29193)) 407*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which crashes `QuantizeAndDequantizeV4Grad` ([CVE-2022-29192](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29192)) 408*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which causes denial of service via `DeleteSessionTensor` ([CVE-2022-29194](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29194)) 409*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which causes denial of service via `GetSessionTensor` ([CVE-2022-29191](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29191)) 410*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which causes denial of service via `StagePeek` ([CVE-2022-29195](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29195)) 411*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which causes denial of service via `UnsortedSegmentJoin` ([CVE-2022-29197](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29197)) 412*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which causes denial of service via `LoadAndRemapMatrix` ([CVE-2022-29199](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29199)) 413*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which causes denial of service via `SparseTensorToCSRSparseMatrix` ([CVE-2022-29198](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29198)) 414*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which causes denial of service via `LSTMBlockCell` ([CVE-2022-29200](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29200)) 415*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which causes denial of service via `Conv3DBackpropFilterV2` ([CVE-2022-29196](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29196)) 416*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK` failure in depthwise ops via overflows ([CVE-2021-41197](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41197)) 417*b6fb3261SAndroid Build Coastguard Worker* Fixes issues arising from undefined behavior stemming from users supplying invalid resource handles ([CVE-2022-29207](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29207)) 418*b6fb3261SAndroid Build Coastguard Worker* Fixes a segfault due to missing support for quantized types ([CVE-2022-29205](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29205)) 419*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which results in undefined behavior in `SparseTensorDenseAdd` ([CVE-2022-29206](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29206)) 420*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which results in undefined behavior in `QuantizedConv2D` ([CVE-2022-29201](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29201)) 421*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer overflow in `SpaceToBatchND` ([CVE-2022-29203](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29203)) 422*b6fb3261SAndroid Build Coastguard Worker* Fixes a segfault and OOB write due to incomplete validation in `EditDistance` ([CVE-2022-29208](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29208)) 423*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which causes denial of service via `Conv3DBackpropFilterV2` ([CVE-2022-29204](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29204)) 424*b6fb3261SAndroid Build Coastguard Worker* Fixes a denial of service in `tf.ragged.constant` due to lack of validation ([CVE-2022-29202](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29202)) 425*b6fb3261SAndroid Build Coastguard Worker* Fixes a segfault when `tf.histogram_fixed_width` is called with NaN values ([CVE-2022-29211](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29211)) 426*b6fb3261SAndroid Build Coastguard Worker* Fixes a core dump when loading TFLite models with quantization ([CVE-2022-29212](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29212)) 427*b6fb3261SAndroid Build Coastguard Worker* Fixes crashes stemming from incomplete validation in signal ops ([CVE-2022-29213](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29213)) 428*b6fb3261SAndroid Build Coastguard Worker* Fixes a type confusion leading to `CHECK`-failure based denial of service ([CVE-2022-29209](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29209)) 429*b6fb3261SAndroid Build Coastguard Worker* Updates `curl` to `7.83.1` to handle ([CVE-2022-22576](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-22576), ([CVE-2022-27774](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27774), ([CVE-2022-27775](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27775), ([CVE-2022-27776](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27776), ([CVE-2022-27778](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27778), ([CVE-2022-27779](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27779), ([CVE-2022-27780](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27780), ([CVE-2022-27781](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27781), ([CVE-2022-27782](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27782) and ([CVE-2022-30115](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-30115) 430*b6fb3261SAndroid Build Coastguard Worker* Updates `zlib` to `1.2.12` after `1.2.11` was pulled due to [security issue](https://www.openwall.com/lists/oss-security/2022/03/28/1) 431*b6fb3261SAndroid Build Coastguard Worker 432*b6fb3261SAndroid Build Coastguard Worker# Release 2.6.4 433*b6fb3261SAndroid Build Coastguard Worker 434*b6fb3261SAndroid Build Coastguard WorkerThis releases introduces several vulnerability fixes: 435*b6fb3261SAndroid Build Coastguard Worker 436*b6fb3261SAndroid Build Coastguard Worker* Fixes a code injection in `saved_model_cli` ([CVE-2022-29216](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29216)) 437*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which causes `TensorSummaryV2` to crash ([CVE-2022-29193](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29193)) 438*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which crashes `QuantizeAndDequantizeV4Grad` ([CVE-2022-29192](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29192)) 439*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which causes denial of service via `DeleteSessionTensor` ([CVE-2022-29194](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29194)) 440*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which causes denial of service via `GetSessionTensor` ([CVE-2022-29191](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29191)) 441*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which causes denial of service via `StagePeek` ([CVE-2022-29195](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29195)) 442*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which causes denial of service via `UnsortedSegmentJoin` ([CVE-2022-29197](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29197)) 443*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which causes denial of service via `LoadAndRemapMatrix` ([CVE-2022-29199](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29199)) 444*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which causes denial of service via `SparseTensorToCSRSparseMatrix` ([CVE-2022-29198](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29198)) 445*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which causes denial of service via `LSTMBlockCell` ([CVE-2022-29200](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29200)) 446*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which causes denial of service via `Conv3DBackpropFilterV2` ([CVE-2022-29196](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29196)) 447*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK` failure in depthwise ops via overflows ([CVE-2021-41197](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41197)) 448*b6fb3261SAndroid Build Coastguard Worker* Fixes issues arising from undefined behavior stemming from users supplying invalid resource handles ([CVE-2022-29207](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29207)) 449*b6fb3261SAndroid Build Coastguard Worker* Fixes a segfault due to missing support for quantized types ([CVE-2022-29205](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29205)) 450*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which results in undefined behavior in `SparseTensorDenseAdd` ([CVE-2022-29206](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29206)) 451*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which results in undefined behavior in `QuantizedConv2D` ([CVE-2022-29201](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29201)) 452*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer overflow in `SpaceToBatchND` ([CVE-2022-29203](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29203)) 453*b6fb3261SAndroid Build Coastguard Worker* Fixes a segfault and OOB write due to incomplete validation in `EditDistance` ([CVE-2022-29208](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29208)) 454*b6fb3261SAndroid Build Coastguard Worker* Fixes a missing validation which causes denial of service via `Conv3DBackpropFilterV2` ([CVE-2022-29204](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29204)) 455*b6fb3261SAndroid Build Coastguard Worker* Fixes a denial of service in `tf.ragged.constant` due to lack of validation ([CVE-2022-29202](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29202)) 456*b6fb3261SAndroid Build Coastguard Worker* Fixes a segfault when `tf.histogram_fixed_width` is called with NaN values ([CVE-2022-29211](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29211)) 457*b6fb3261SAndroid Build Coastguard Worker* Fixes a core dump when loading TFLite models with quantization ([CVE-2022-29212](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29212)) 458*b6fb3261SAndroid Build Coastguard Worker* Fixes crashes stemming from incomplete validation in signal ops ([CVE-2022-29213](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29213)) 459*b6fb3261SAndroid Build Coastguard Worker* Fixes a type confusion leading to `CHECK`-failure based denial of service ([CVE-2022-29209](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29209)) 460*b6fb3261SAndroid Build Coastguard Worker* Updates `curl` to `7.83.1` to handle ([CVE-2022-22576](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-22576), ([CVE-2022-27774](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27774), ([CVE-2022-27775](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27775), ([CVE-2022-27776](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27776), ([CVE-2022-27778](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27778), ([CVE-2022-27779](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27779), ([CVE-2022-27780](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27780), ([CVE-2022-27781](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27781), ([CVE-2022-27782](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27782) and ([CVE-2022-30115](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-30115) 461*b6fb3261SAndroid Build Coastguard Worker* Updates `zlib` to `1.2.12` after `1.2.11` was pulled due to [security issue](https://www.openwall.com/lists/oss-security/2022/03/28/1) 462*b6fb3261SAndroid Build Coastguard Worker 463*b6fb3261SAndroid Build Coastguard Worker# Release 2.8.0 464*b6fb3261SAndroid Build Coastguard Worker 465*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements 466*b6fb3261SAndroid Build Coastguard Worker 467*b6fb3261SAndroid Build Coastguard Worker* `tf.lite`: 468*b6fb3261SAndroid Build Coastguard Worker 469*b6fb3261SAndroid Build Coastguard Worker * Added TFLite builtin op support for the following TF ops: 470*b6fb3261SAndroid Build Coastguard Worker * `tf.raw_ops.Bucketize` op on CPU. 471*b6fb3261SAndroid Build Coastguard Worker * `tf.where` op for data types 472*b6fb3261SAndroid Build Coastguard Worker `tf.int32`/`tf.uint32`/`tf.int8`/`tf.uint8`/`tf.int64`. 473*b6fb3261SAndroid Build Coastguard Worker * `tf.random.normal` op for output data type `tf.float32` on CPU. 474*b6fb3261SAndroid Build Coastguard Worker * `tf.random.uniform` op for output data type `tf.float32` on CPU. 475*b6fb3261SAndroid Build Coastguard Worker * `tf.random.categorical` op for output data type `tf.int64` on CPU. 476*b6fb3261SAndroid Build Coastguard Worker 477*b6fb3261SAndroid Build Coastguard Worker* `tensorflow.experimental.tensorrt`: 478*b6fb3261SAndroid Build Coastguard Worker 479*b6fb3261SAndroid Build Coastguard Worker * `conversion_params` is now deprecated inside `TrtGraphConverterV2` in 480*b6fb3261SAndroid Build Coastguard Worker favor of direct arguments: `max_workspace_size_bytes`, `precision_mode`, 481*b6fb3261SAndroid Build Coastguard Worker `minimum_segment_size`, `maximum_cached_engines`, `use_calibration` and 482*b6fb3261SAndroid Build Coastguard Worker `allow_build_at_runtime`. 483*b6fb3261SAndroid Build Coastguard Worker * Added a new parameter called `save_gpu_specific_engines` to the 484*b6fb3261SAndroid Build Coastguard Worker `.save()` function inside `TrtGraphConverterV2`. When `False`, the 485*b6fb3261SAndroid Build Coastguard Worker `.save()` function won't save any TRT engines that have been built. When 486*b6fb3261SAndroid Build Coastguard Worker `True` (default), the original behavior is preserved. 487*b6fb3261SAndroid Build Coastguard Worker * `TrtGraphConverterV2` provides a new API called `.summary()` which 488*b6fb3261SAndroid Build Coastguard Worker outputs a summary of the inference converted by TF-TRT. It namely shows 489*b6fb3261SAndroid Build Coastguard Worker each `TRTEngineOp` with their input(s)' and output(s)' shape and dtype. 490*b6fb3261SAndroid Build Coastguard Worker A detailed version of the summary is available which prints additionally 491*b6fb3261SAndroid Build Coastguard Worker all the TensorFlow OPs included in each of the `TRTEngineOp`s. 492*b6fb3261SAndroid Build Coastguard Worker 493*b6fb3261SAndroid Build Coastguard Worker* `tf.tpu.experimental.embedding`: 494*b6fb3261SAndroid Build Coastguard Worker 495*b6fb3261SAndroid Build Coastguard Worker * `tf.tpu.experimental.embedding.FeatureConfig` now takes an additional 496*b6fb3261SAndroid Build Coastguard Worker argument `output_shape` which can specify the shape of the output 497*b6fb3261SAndroid Build Coastguard Worker activation for the feature. 498*b6fb3261SAndroid Build Coastguard Worker * `tf.tpu.experimental.embedding.TPUEmbedding` now has the same behavior 499*b6fb3261SAndroid Build Coastguard Worker as `tf.tpu.experimental.embedding.serving_embedding_lookup` which can 500*b6fb3261SAndroid Build Coastguard Worker take arbitrary rank of dense and sparse tensor. For ragged tensor, 501*b6fb3261SAndroid Build Coastguard Worker though the input tensor remains to be rank 2, the activations now can be 502*b6fb3261SAndroid Build Coastguard Worker rank 2 or above by specifying the output shape in the feature config or 503*b6fb3261SAndroid Build Coastguard Worker via the build method. 504*b6fb3261SAndroid Build Coastguard Worker 505*b6fb3261SAndroid Build Coastguard Worker* Add 506*b6fb3261SAndroid Build Coastguard Worker [`tf.config.experimental.enable_op_determinism`](https://www.tensorflow.org/api_docs/python/tf/config/experimental/enable_op_determinism), 507*b6fb3261SAndroid Build Coastguard Worker which makes TensorFlow ops run deterministically at the cost of performance. 508*b6fb3261SAndroid Build Coastguard Worker Replaces the `TF_DETERMINISTIC_OPS` environmental variable, which is now 509*b6fb3261SAndroid Build Coastguard Worker deprecated. The "Bug Fixes and Other Changes" section lists more 510*b6fb3261SAndroid Build Coastguard Worker determinism-related changes. 511*b6fb3261SAndroid Build Coastguard Worker 512*b6fb3261SAndroid Build Coastguard Worker* (Since TF 2.7) Add 513*b6fb3261SAndroid Build Coastguard Worker [PluggableDevice](https://blog.tensorflow.org/2021/06/pluggabledevice-device-plugins-for-TensorFlow.html) 514*b6fb3261SAndroid Build Coastguard Worker support to 515*b6fb3261SAndroid Build Coastguard Worker [TensorFlow Profiler](https://github.com/tensorflow/community/blob/master/rfcs/20210513-pluggable-profiler-for-tensorflow.md). 516*b6fb3261SAndroid Build Coastguard Worker 517*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 518*b6fb3261SAndroid Build Coastguard Worker 519*b6fb3261SAndroid Build Coastguard Worker* `tf.data`: 520*b6fb3261SAndroid Build Coastguard Worker 521*b6fb3261SAndroid Build Coastguard Worker * Fixed a bug where setting `options.deterministic = False` would only 522*b6fb3261SAndroid Build Coastguard Worker modify one transformation to run non-deterministically, leaving other 523*b6fb3261SAndroid Build Coastguard Worker transformations deterministic. The option will now apply the same across 524*b6fb3261SAndroid Build Coastguard Worker all transformations. 525*b6fb3261SAndroid Build Coastguard Worker * The optimization `parallel_batch` now becomes default if not disabled by 526*b6fb3261SAndroid Build Coastguard Worker users, which will parallelize copying of batch elements. 527*b6fb3261SAndroid Build Coastguard Worker * Added the ability for `TensorSliceDataset` to identify and handle inputs 528*b6fb3261SAndroid Build Coastguard Worker that are files. This enables creating hermetic SavedModels when using 529*b6fb3261SAndroid Build Coastguard Worker datasets created from files. 530*b6fb3261SAndroid Build Coastguard Worker 531*b6fb3261SAndroid Build Coastguard Worker* `tf.lite`: 532*b6fb3261SAndroid Build Coastguard Worker 533*b6fb3261SAndroid Build Coastguard Worker * Adds GPU Delegation support for serialization to Java API. This boosts 534*b6fb3261SAndroid Build Coastguard Worker initialization time up to 90% when OpenCL is available. 535*b6fb3261SAndroid Build Coastguard Worker * Deprecated `Interpreter::SetNumThreads`, in favor of 536*b6fb3261SAndroid Build Coastguard Worker `InterpreterBuilder::SetNumThreads`. 537*b6fb3261SAndroid Build Coastguard Worker 538*b6fb3261SAndroid Build Coastguard Worker* `tf.keras`: 539*b6fb3261SAndroid Build Coastguard Worker 540*b6fb3261SAndroid Build Coastguard Worker * Adds `tf.compat.v1.keras.utils.get_or_create_layer` to aid migration to 541*b6fb3261SAndroid Build Coastguard Worker TF2 by enabling tracking of nested keras models created in TF1-style, 542*b6fb3261SAndroid Build Coastguard Worker when used with the `tf.compat.v1.keras.utils.track_tf1_style_variables` 543*b6fb3261SAndroid Build Coastguard Worker decorator. 544*b6fb3261SAndroid Build Coastguard Worker * Added a `tf.keras.layers.experimental.preprocessing.HashedCrossing` 545*b6fb3261SAndroid Build Coastguard Worker layer which applies the hashing trick to the concatenation of crossed 546*b6fb3261SAndroid Build Coastguard Worker scalar inputs. This provides a stateless way to try adding feature 547*b6fb3261SAndroid Build Coastguard Worker crosses of integer or string data to a model. 548*b6fb3261SAndroid Build Coastguard Worker * Removed `keras.layers.experimental.preprocessing.CategoryCrossing`. 549*b6fb3261SAndroid Build Coastguard Worker Users should migrate to the `HashedCrossing` layer or use 550*b6fb3261SAndroid Build Coastguard Worker `tf.sparse.cross`/`tf.ragged.cross` directly. 551*b6fb3261SAndroid Build Coastguard Worker * Added additional `standardize` and `split` modes to `TextVectorization`: 552*b6fb3261SAndroid Build Coastguard Worker * `standardize="lower"` will lowercase inputs. 553*b6fb3261SAndroid Build Coastguard Worker * `standardize="string_punctuation"` will remove all punctuation. 554*b6fb3261SAndroid Build Coastguard Worker * `split="character"` will split on every unicode character. 555*b6fb3261SAndroid Build Coastguard Worker * Added an `output_mode` argument to the `Discretization` and `Hashing` 556*b6fb3261SAndroid Build Coastguard Worker layers with the same semantics as other preprocessing layers. All 557*b6fb3261SAndroid Build Coastguard Worker categorical preprocessing layers now support `output_mode`. 558*b6fb3261SAndroid Build Coastguard Worker * All preprocessing layer output will follow the compute dtype of a 559*b6fb3261SAndroid Build Coastguard Worker `tf.keras.mixed_precision.Policy`, unless constructed with 560*b6fb3261SAndroid Build Coastguard Worker `output_mode="int"` in which case output will be `tf.int64`. The output 561*b6fb3261SAndroid Build Coastguard Worker type of any preprocessing layer can be controlled individually by 562*b6fb3261SAndroid Build Coastguard Worker passing a `dtype` argument to the layer. 563*b6fb3261SAndroid Build Coastguard Worker * `tf.random.Generator` for keras initializers and all RNG code. 564*b6fb3261SAndroid Build Coastguard Worker * Added 3 new APIs for enable/disable/check the usage of 565*b6fb3261SAndroid Build Coastguard Worker `tf.random.Generator` in keras backend, which will be the new backend 566*b6fb3261SAndroid Build Coastguard Worker for all the RNG in Keras. We plan to switch on the new code path by 567*b6fb3261SAndroid Build Coastguard Worker default in tf 2.8, and the behavior change will likely to cause some 568*b6fb3261SAndroid Build Coastguard Worker breakage on user side (eg if the test is checking against some golden 569*b6fb3261SAndroid Build Coastguard Worker number). These 3 APIs will allow user to disable and switch back to 570*b6fb3261SAndroid Build Coastguard Worker legacy behavior if they prefer. In future (eg TF 2.10), we expect to 571*b6fb3261SAndroid Build Coastguard Worker totally remove the legacy code path (stateful random Ops), and these 3 572*b6fb3261SAndroid Build Coastguard Worker APIs will be removed as well. 573*b6fb3261SAndroid Build Coastguard Worker * `tf.keras.callbacks.experimental.BackupAndRestore` is now available as 574*b6fb3261SAndroid Build Coastguard Worker `tf.keras.callbacks.BackupAndRestore`. The experimental endpoint is 575*b6fb3261SAndroid Build Coastguard Worker deprecated and will be removed in a future release. 576*b6fb3261SAndroid Build Coastguard Worker * `tf.keras.experimental.SidecarEvaluator` is now available as 577*b6fb3261SAndroid Build Coastguard Worker `tf.keras.utils.SidecarEvaluator`. The experimental endpoint is 578*b6fb3261SAndroid Build Coastguard Worker deprecated and will be removed in a future release. 579*b6fb3261SAndroid Build Coastguard Worker * Metrics update and collection logic in default `Model.train_step()` is 580*b6fb3261SAndroid Build Coastguard Worker now customizable via overriding `Model.compute_metrics()`. 581*b6fb3261SAndroid Build Coastguard Worker * Losses computation logic in default `Model.train_step()` is now 582*b6fb3261SAndroid Build Coastguard Worker customizable via overriding `Model.compute_loss()`. 583*b6fb3261SAndroid Build Coastguard Worker * `jit_compile` added to `Model.compile()` on an opt-in basis to compile 584*b6fb3261SAndroid Build Coastguard Worker the model's training step with [XLA](https://www.tensorflow.org/xla). 585*b6fb3261SAndroid Build Coastguard Worker Note that `jit_compile=True` may not necessarily work for all models. 586*b6fb3261SAndroid Build Coastguard Worker 587*b6fb3261SAndroid Build Coastguard Worker* Deterministic Op Functionality: 588*b6fb3261SAndroid Build Coastguard Worker 589*b6fb3261SAndroid Build Coastguard Worker * Fix regression in deterministic selection of deterministic cuDNN 590*b6fb3261SAndroid Build Coastguard Worker convolution algorithms, a regression that was introduced in v2.5. Note 591*b6fb3261SAndroid Build Coastguard Worker that nondeterministic out-of-memory events while selecting algorithms 592*b6fb3261SAndroid Build Coastguard Worker could still lead to nondeterminism, although this is very unlikely. This 593*b6fb3261SAndroid Build Coastguard Worker additional, unlikely source will be eliminated in a later version. 594*b6fb3261SAndroid Build Coastguard Worker * Add deterministic GPU implementations of: 595*b6fb3261SAndroid Build Coastguard Worker * `tf.function(jit_compile=True)`'s that use `Scatter`. 596*b6fb3261SAndroid Build Coastguard Worker * (since v2.7) Stateful ops used in `tf.data.Dataset` 597*b6fb3261SAndroid Build Coastguard Worker * (since v2.7) `tf.convert_to_tensor` when fed with (sparse) 598*b6fb3261SAndroid Build Coastguard Worker `tf.IndexedSlices` (because it uses `tf.math.unsorted_segment_sum`) 599*b6fb3261SAndroid Build Coastguard Worker * (since v2.7) `tf.gather` backprop (because `tf.convert_to_tensor` 600*b6fb3261SAndroid Build Coastguard Worker reduces `tf.gather`'s (sparse) `tf.IndexedSlices` gradients into its 601*b6fb3261SAndroid Build Coastguard Worker dense `params` input) 602*b6fb3261SAndroid Build Coastguard Worker * (since v2.7) `tf.math.segment_mean` 603*b6fb3261SAndroid Build Coastguard Worker * (since v2.7) `tf.math.segment_prod` 604*b6fb3261SAndroid Build Coastguard Worker * (since v2.7) `tf.math.segment_sum` 605*b6fb3261SAndroid Build Coastguard Worker * (since v2.7) `tf.math.unsorted_segment_mean` 606*b6fb3261SAndroid Build Coastguard Worker * (since v2.7) `tf.math.unsorted_segment_prod` 607*b6fb3261SAndroid Build Coastguard Worker * (since v2.7) `tf.math.unsorted_segment_sum` 608*b6fb3261SAndroid Build Coastguard Worker * (since v2.7) `tf.math.unsorted_segment_sqrt` 609*b6fb3261SAndroid Build Coastguard Worker * (since v2.7) `tf.nn.ctc_loss` (resolved, possibly in prior release, 610*b6fb3261SAndroid Build Coastguard Worker and confirmed with tests) 611*b6fb3261SAndroid Build Coastguard Worker * (since v2.7)`tf.nn.sparse_softmax_crossentropy_with_logits` 612*b6fb3261SAndroid Build Coastguard Worker * (since v2.7) Run `tf.scatter_nd` and other related scatter functions, 613*b6fb3261SAndroid Build Coastguard Worker such as `tf.tensor_scatter_nd_update`, on CPU (with significant 614*b6fb3261SAndroid Build Coastguard Worker performance penalty). 615*b6fb3261SAndroid Build Coastguard Worker * Add determinism-unimplemented exception-throwing to the following ops. 616*b6fb3261SAndroid Build Coastguard Worker When op-determinism is expected (i.e. after 617*b6fb3261SAndroid Build Coastguard Worker `tf.config.experimental.enable_op_determinism` has been called), an 618*b6fb3261SAndroid Build Coastguard Worker attempt to use the specified paths through the following ops on a GPU 619*b6fb3261SAndroid Build Coastguard Worker will cause `tf.errors.UnimplementedError` (with an understandable 620*b6fb3261SAndroid Build Coastguard Worker message), unless otherwise specified, to be thrown. 621*b6fb3261SAndroid Build Coastguard Worker * `FakeQuantWithMinMaxVarsGradient` and 622*b6fb3261SAndroid Build Coastguard Worker `FakeQuantWithMinMaxVarsPerChannelGradient` 623*b6fb3261SAndroid Build Coastguard Worker * (since v2.7) `tf.compat.v1.get_seed` if the global random seed has 624*b6fb3261SAndroid Build Coastguard Worker not yet been set (via `tf.random.set_seed`). Throws `RuntimeError` 625*b6fb3261SAndroid Build Coastguard Worker from Python or `InvalidArgument` from C++ 626*b6fb3261SAndroid Build Coastguard Worker * (since v2.7) `tf.compat.v1.nn.fused_batch_norm` backprop to `offset` 627*b6fb3261SAndroid Build Coastguard Worker when `is_training=False` 628*b6fb3261SAndroid Build Coastguard Worker * (since v2.7) `tf.image.adjust_contrast` forward 629*b6fb3261SAndroid Build Coastguard Worker * (since v2.7) `tf.image.resize` with `method=ResizeMethod.NEAREST` 630*b6fb3261SAndroid Build Coastguard Worker backprop 631*b6fb3261SAndroid Build Coastguard Worker * (since v2.7) `tf.linalg.svd` 632*b6fb3261SAndroid Build Coastguard Worker * (since v2.7) `tf.math.bincount` 633*b6fb3261SAndroid Build Coastguard Worker * (since v2.7) `tf.nn.depthwise_conv2d` backprop to `filter` when not 634*b6fb3261SAndroid Build Coastguard Worker using cuDNN convolution 635*b6fb3261SAndroid Build Coastguard Worker * (since v2.7) `tf.nn.dilation2d` gradient 636*b6fb3261SAndroid Build Coastguard Worker * (since v2.7) `tf.nn.max_pool_with_argmax` gradient 637*b6fb3261SAndroid Build Coastguard Worker * (since v2.7) `tf.raw_ops.DebugNumericSummary` and 638*b6fb3261SAndroid Build Coastguard Worker `tf.raw_ops.DebugNumericSummaryV2` 639*b6fb3261SAndroid Build Coastguard Worker * (since v2.7) `tf.timestamp`. Throws `FailedPrecondition` 640*b6fb3261SAndroid Build Coastguard Worker * (since v2.7) `tf.Variable.scatter_add` (and other scatter methods, 641*b6fb3261SAndroid Build Coastguard Worker both on ref and resource variables) 642*b6fb3261SAndroid Build Coastguard Worker * (since v2.7) The random-number-generating ops in the `tf.random` 643*b6fb3261SAndroid Build Coastguard Worker module when the global random seed has not yet been set (via 644*b6fb3261SAndroid Build Coastguard Worker `tf.random.set_seed`). Throws `RuntimeError` from Python or 645*b6fb3261SAndroid Build Coastguard Worker `InvalidArgument` from C++ 646*b6fb3261SAndroid Build Coastguard Worker 647*b6fb3261SAndroid Build Coastguard Worker* TensorFlow-oneDNN no longer supports 648*b6fb3261SAndroid Build Coastguard Worker [explicit use of oneDNN blocked tensor format](https://github.com/tensorflow/tensorflow/pull/53288), 649*b6fb3261SAndroid Build Coastguard Worker e.g., setting the environment variable `TF_ENABLE_MKL_NATIVE_FORMAT` will 650*b6fb3261SAndroid Build Coastguard Worker not have any effect. 651*b6fb3261SAndroid Build Coastguard Worker 652*b6fb3261SAndroid Build Coastguard Worker* TensorFlow has been validated on Windows Subsystem for Linux 2 (aka WSL 2) 653*b6fb3261SAndroid Build Coastguard Worker for both GPUs and CPUs. 654*b6fb3261SAndroid Build Coastguard Worker 655*b6fb3261SAndroid Build Coastguard Worker* Due to security issues (see section below), all boosted trees code has been 656*b6fb3261SAndroid Build Coastguard Worker deprecated. Users should switch to 657*b6fb3261SAndroid Build Coastguard Worker [TensorFlow Decision Forests](https://github.com/tensorflow/decision-forests). 658*b6fb3261SAndroid Build Coastguard Worker TF's boosted trees code will be eliminated before the branch cut for TF 2.9 659*b6fb3261SAndroid Build Coastguard Worker and will no longer be present since that release. 660*b6fb3261SAndroid Build Coastguard Worker 661*b6fb3261SAndroid Build Coastguard Worker## Security 662*b6fb3261SAndroid Build Coastguard Worker 663*b6fb3261SAndroid Build Coastguard Worker* Fixes a floating point division by 0 when executing convolution operators 664*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21725](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21725)) 665*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB read in shape inference for `ReverseSequence` 666*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21728](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21728)) 667*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB access in `Dequantize` 668*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21726](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21726)) 669*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer overflow in shape inference for `Dequantize` 670*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21727](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21727)) 671*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB access in `FractionalAvgPoolGrad` 672*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21730](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21730)) 673*b6fb3261SAndroid Build Coastguard Worker* Fixes an overflow and divide by zero in `UnravelIndex` 674*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21729](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21729)) 675*b6fb3261SAndroid Build Coastguard Worker* Fixes a type confusion in shape inference for `ConcatV2` 676*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21731](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21731)) 677*b6fb3261SAndroid Build Coastguard Worker* Fixes an OOM in `ThreadPoolHandle` 678*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21732](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21732)) 679*b6fb3261SAndroid Build Coastguard Worker* Fixes an OOM due to integer overflow in `StringNGrams` 680*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21733](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21733)) 681*b6fb3261SAndroid Build Coastguard Worker* Fixes more issues caused by incomplete validation in boosted trees code 682*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41208](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41208)) 683*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer overflows in most sparse component-wise ops 684*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23567](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23567)) 685*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer overflows in `AddManySparseToTensorsMap` 686*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23568](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23568)) 687*b6fb3261SAndroid Build Coastguard Worker* Fixes a number of `CHECK`-failures in `MapStage` 688*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21734](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21734)) 689*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in `FractionalMaxPool` 690*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21735](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21735)) 691*b6fb3261SAndroid Build Coastguard Worker* Fixes a number of `CHECK`-fails when building invalid/overflowing tensor 692*b6fb3261SAndroid Build Coastguard Worker shapes 693*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23569](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23569)) 694*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior in `SparseTensorSliceDataset` 695*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21736](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21736)) 696*b6fb3261SAndroid Build Coastguard Worker* Fixes an assertion failure based denial of service via faulty bin count 697*b6fb3261SAndroid Build Coastguard Worker operations 698*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21737](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21737)) 699*b6fb3261SAndroid Build Coastguard Worker* Fixes a reference binding to null pointer in `QuantizedMaxPool` 700*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21739](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21739)) 701*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer overflow leading to crash in `SparseCountSparseOutput` 702*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21738](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21738)) 703*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap overflow in `SparseCountSparseOutput` 704*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21740](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21740)) 705*b6fb3261SAndroid Build Coastguard Worker* Fixes an FPE in `BiasAndClamp` in TFLite 706*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23557](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23557)) 707*b6fb3261SAndroid Build Coastguard Worker* Fixes an FPE in depthwise convolutions in TFLite 708*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21741](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21741)) 709*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer overflow in TFLite array creation 710*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23558](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23558)) 711*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer overflow in TFLite 712*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23559](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23559)) 713*b6fb3261SAndroid Build Coastguard Worker* Fixes a dangerous OOB write in TFLite 714*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23561](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23561)) 715*b6fb3261SAndroid Build Coastguard Worker* Fixes a vulnerability leading to read and write outside of bounds in TFLite 716*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23560](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23560)) 717*b6fb3261SAndroid Build Coastguard Worker* Fixes a set of vulnerabilities caused by using insecure temporary files 718*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23563](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23563)) 719*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer overflow in Range resulting in undefined behavior and OOM 720*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23562](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23562)) 721*b6fb3261SAndroid Build Coastguard Worker* Fixes a vulnerability where missing validation causes `tf.sparse.split` to 722*b6fb3261SAndroid Build Coastguard Worker crash when `axis` is a tuple 723*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41206](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41206)) 724*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail when decoding resource handles from proto 725*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23564](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23564)) 726*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail with repeated `AttrDef` 727*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23565](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23565)) 728*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB write in Grappler 729*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23566](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23566)) 730*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail when decoding invalid tensors from proto 731*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23571](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23571)) 732*b6fb3261SAndroid Build Coastguard Worker* Fixes a null-dereference when specializing tensor type 733*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23570](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23570)) 734*b6fb3261SAndroid Build Coastguard Worker* Fixes a crash when type cannot be specialized 735*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23572](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23572)) 736*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB read/write in `SpecializeType` 737*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23574](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23574)) 738*b6fb3261SAndroid Build Coastguard Worker* Fixes an unitialized variable access in `AssignOp` 739*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23573](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23573)) 740*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer overflow in `OpLevelCostEstimator::CalculateTensorSize` 741*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23575](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23575)) 742*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer overflow in `OpLevelCostEstimator::CalculateOutputSize` 743*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23576](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23576)) 744*b6fb3261SAndroid Build Coastguard Worker* Fixes a null dereference in `GetInitOp` 745*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23577](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23577)) 746*b6fb3261SAndroid Build Coastguard Worker* Fixes a memory leak when a graph node is invalid 747*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23578](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23578)) 748*b6fb3261SAndroid Build Coastguard Worker* Fixes an abort caused by allocating a vector that is too large 749*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23580](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23580)) 750*b6fb3261SAndroid Build Coastguard Worker* Fixes multiple `CHECK`-failures during Grappler's `IsSimplifiableReshape` 751*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23581](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23581)) 752*b6fb3261SAndroid Build Coastguard Worker* Fixes multiple `CHECK`-failures during Grappler's `SafeToRemoveIdentity` 753*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23579](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23579)) 754*b6fb3261SAndroid Build Coastguard Worker* Fixes multiple `CHECK`-failures in `TensorByteSize` 755*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23582](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23582)) 756*b6fb3261SAndroid Build Coastguard Worker* Fixes multiple `CHECK`-failures in binary ops due to type confusion 757*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23583](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23583)) 758*b6fb3261SAndroid Build Coastguard Worker* Fixes a use after free in `DecodePng` kernel 759*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23584](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23584)) 760*b6fb3261SAndroid Build Coastguard Worker* Fixes a memory leak in decoding PNG images 761*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23585](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23585)) 762*b6fb3261SAndroid Build Coastguard Worker* Fixes multiple `CHECK`-fails in `function.cc` 763*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23586](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23586)) 764*b6fb3261SAndroid Build Coastguard Worker* Fixes multiple `CHECK`-fails due to attempting to build a reference tensor 765*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23588](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23588)) 766*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer overflow in Grappler cost estimation of crop and resize 767*b6fb3261SAndroid Build Coastguard Worker operation 768*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23587](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23587)) 769*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference in Grappler's `IsConstant` 770*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23589](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23589)) 771*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK` failure in constant folding 772*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41197](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41197)) 773*b6fb3261SAndroid Build Coastguard Worker* Fixes a stack overflow due to self-recursive function in `GraphDef` 774*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23591](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23591)) 775*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB access in `RunForwardTypeInference` 776*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23592](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23592)) 777*b6fb3261SAndroid Build Coastguard Worker* Fixes a crash due to erroneous `StatusOr` 778*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23590](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23590)) 779*b6fb3261SAndroid Build Coastguard Worker* Fixes multiple crashes and heap OOB accesses in TFG dialect (MLIR) 780*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23594](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23594)) 781*b6fb3261SAndroid Build Coastguard Worker* Fixes a segfault in `simplifyBroadcast` (MLIR) 782*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23593](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23593)) 783*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference in `BuildXlaCompilationCache` (XLA) 784*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23595](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23595)) 785*b6fb3261SAndroid Build Coastguard Worker* Updates `icu` to `69.1` to handle 786*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-10531](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-10531) 787*b6fb3261SAndroid Build Coastguard Worker 788*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors 789*b6fb3261SAndroid Build Coastguard Worker 790*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as: 791*b6fb3261SAndroid Build Coastguard Worker 792*b6fb3261SAndroid Build Coastguard Worker8bitmp3, Adam Lanicek, ag.ramesh, alesapin, Andrew Goodbody, annasuheyla, Ariel 793*b6fb3261SAndroid Build Coastguard WorkerElkin, Arnab Dutta, Ben Barsdell, bhack, cfRod, Chengji Yao, Christopher Bate, 794*b6fb3261SAndroid Build Coastguard Workerdan, Dan F-M, David Korczynski, DEKHTIARJonathan, dengzhiyuan, Deven Desai, 795*b6fb3261SAndroid Build Coastguard WorkerDuncan Riach, Eli Osherovich, Ewout Ter Hoeven, ez2take, Faijul Amin, fo40225, 796*b6fb3261SAndroid Build Coastguard WorkerFrederic Bastien, gadagashwini, Gauri1 Deshpande, Georgiy Manuilov, Guilherme De 797*b6fb3261SAndroid Build Coastguard WorkerLázari, Guozhong Zhuang, H1Gdev, homuler, Hongxu Jia, Jacky_Yin, jayfurmanek, 798*b6fb3261SAndroid Build Coastguard Workerjgehw, Jhalak Patel, Jinzhe Zeng, Johan Gunnarsson, Jonathan Dekhtiar, Kaixi 799*b6fb3261SAndroid Build Coastguard WorkerHou, Kanvi Khanna, Kevin Cheng, Koan-Sin Tan, Kruglov-Dmitry, Kun Lu, Lemo, 800*b6fb3261SAndroid Build Coastguard WorkerLequn Chen, long.chen, Louis Sugy, Mahmoud Abuzaina, Mao, Marius Brehler, Mark 801*b6fb3261SAndroid Build Coastguard WorkerHarfouche, Martin Patz, Maxiwell S. Garcia, Meenakshi Venkataraman, Michael 802*b6fb3261SAndroid Build Coastguard WorkerMelesse, Mrinal Tyagi, Måns Nilsson, Nathan John Sircombe, Nathan Luehr, Nilesh 803*b6fb3261SAndroid Build Coastguard WorkerAgarwalla, Oktay Ozturk, Patrice Vignola, Pawel-Polyai, Rama Ketineni, Ramesh 804*b6fb3261SAndroid Build Coastguard WorkerSampath, Reza Rahimi, Rob Suderman, Robert Kalmar, Rohit Santhanam, Sachin 805*b6fb3261SAndroid Build Coastguard WorkerMuradi, Saduf2019, Samuel Marks, Shi,Guangyong, Sidong-Wei, Srinivasan 806*b6fb3261SAndroid Build Coastguard WorkerNarayanamoorthy, Srishti Srivastava, Steven I Reeves, stevenireeves, Supernovae, 807*b6fb3261SAndroid Build Coastguard WorkerTamas Bela Feher, Tao Xu, Thibaut Goetghebuer-Planchon, Thomas Schmeyer, 808*b6fb3261SAndroid Build Coastguard Workertilakrayal, Valery Mironov, Victor Guo, Vignesh Kothapalli, Vishnuvardhan 809*b6fb3261SAndroid Build Coastguard WorkerJanapati, wamuir, Wang,Quintin, William Muir, William Raveane, Yash Goel, Yimei 810*b6fb3261SAndroid Build Coastguard WorkerSun, Yong Tang, Yuduo Wu 811*b6fb3261SAndroid Build Coastguard Worker 812*b6fb3261SAndroid Build Coastguard Worker# Release 2.7.1 813*b6fb3261SAndroid Build Coastguard Worker 814*b6fb3261SAndroid Build Coastguard WorkerThis releases introduces several vulnerability fixes: 815*b6fb3261SAndroid Build Coastguard Worker 816*b6fb3261SAndroid Build Coastguard Worker* Fixes a floating point division by 0 when executing convolution operators 817*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21725](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21725)) 818*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB read in shape inference for `ReverseSequence` 819*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21728](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21728)) 820*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB access in `Dequantize` 821*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21726](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21726)) 822*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer overflow in shape inference for `Dequantize` 823*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21727](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21727)) 824*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB access in `FractionalAvgPoolGrad` 825*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21730](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21730)) 826*b6fb3261SAndroid Build Coastguard Worker* Fixes an overflow and divide by zero in `UnravelIndex` 827*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21729](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21729)) 828*b6fb3261SAndroid Build Coastguard Worker* Fixes a type confusion in shape inference for `ConcatV2` 829*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21731](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21731)) 830*b6fb3261SAndroid Build Coastguard Worker* Fixes an OOM in `ThreadPoolHandle` 831*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21732](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21732)) 832*b6fb3261SAndroid Build Coastguard Worker* Fixes an OOM due to integer overflow in `StringNGrams` 833*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21733](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21733)) 834*b6fb3261SAndroid Build Coastguard Worker* Fixes more issues caused by incomplete validation in boosted trees code 835*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41208](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41208)) 836*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer overflows in most sparse component-wise ops 837*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23567](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23567)) 838*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer overflows in `AddManySparseToTensorsMap` 839*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23568](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23568)) 840*b6fb3261SAndroid Build Coastguard Worker* Fixes a number of `CHECK`-failures in `MapStage` 841*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21734](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21734)) 842*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in `FractionalMaxPool` 843*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21735](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21735)) 844*b6fb3261SAndroid Build Coastguard Worker* Fixes a number of `CHECK`-fails when building invalid/overflowing tensor 845*b6fb3261SAndroid Build Coastguard Worker shapes 846*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23569](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23569)) 847*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior in `SparseTensorSliceDataset` 848*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21736](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21736)) 849*b6fb3261SAndroid Build Coastguard Worker* Fixes an assertion failure based denial of service via faulty bin count 850*b6fb3261SAndroid Build Coastguard Worker operations 851*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21737](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21737)) 852*b6fb3261SAndroid Build Coastguard Worker* Fixes a reference binding to null pointer in `QuantizedMaxPool` 853*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21739](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21739)) 854*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer overflow leading to crash in `SparseCountSparseOutput` 855*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21738](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21738)) 856*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap overflow in `SparseCountSparseOutput` 857*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21740](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21740)) 858*b6fb3261SAndroid Build Coastguard Worker* Fixes an FPE in `BiasAndClamp` in TFLite 859*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23557](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23557)) 860*b6fb3261SAndroid Build Coastguard Worker* Fixes an FPE in depthwise convolutions in TFLite 861*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21741](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21741)) 862*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer overflow in TFLite array creation 863*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23558](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23558)) 864*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer overflow in TFLite 865*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23559](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23559)) 866*b6fb3261SAndroid Build Coastguard Worker* Fixes a dangerous OOB write in TFLite 867*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23561](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23561)) 868*b6fb3261SAndroid Build Coastguard Worker* Fixes a vulnerability leading to read and write outside of bounds in TFLite 869*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23560](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23560)) 870*b6fb3261SAndroid Build Coastguard Worker* Fixes a set of vulnerabilities caused by using insecure temporary files 871*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23563](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23563)) 872*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer overflow in Range resulting in undefined behavior and OOM 873*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23562](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23562)) 874*b6fb3261SAndroid Build Coastguard Worker* Fixes a vulnerability where missing validation causes `tf.sparse.split` to 875*b6fb3261SAndroid Build Coastguard Worker crash when `axis` is a tuple 876*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41206](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41206)) 877*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail when decoding resource handles from proto 878*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23564](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23564)) 879*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail with repeated `AttrDef` 880*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23565](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23565)) 881*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB write in Grappler 882*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23566](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23566)) 883*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail when decoding invalid tensors from proto 884*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23571](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23571)) 885*b6fb3261SAndroid Build Coastguard Worker* Fixes a null-dereference when specializing tensor type 886*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23570](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23570)) 887*b6fb3261SAndroid Build Coastguard Worker* Fixes a crash when type cannot be specialized 888*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23572](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23572)) 889*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB read/write in `SpecializeType` 890*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23574](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23574)) 891*b6fb3261SAndroid Build Coastguard Worker* Fixes an uninitialized variable access in `AssignOp` 892*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23573](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23573)) 893*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer overflow in `OpLevelCostEstimator::CalculateTensorSize` 894*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23575](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23575)) 895*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer overflow in `OpLevelCostEstimator::CalculateOutputSize` 896*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23576](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23576)) 897*b6fb3261SAndroid Build Coastguard Worker* Fixes a null dereference in `GetInitOp` 898*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23577](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23577)) 899*b6fb3261SAndroid Build Coastguard Worker* Fixes a memory leak when a graph node is invalid 900*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23578](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23578)) 901*b6fb3261SAndroid Build Coastguard Worker* Fixes an abort caused by allocating a vector that is too large 902*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23580](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23580)) 903*b6fb3261SAndroid Build Coastguard Worker* Fixes multiple `CHECK`-failures during Grappler's `IsSimplifiableReshape` 904*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23581](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23581)) 905*b6fb3261SAndroid Build Coastguard Worker* Fixes multiple `CHECK`-failures during Grappler's `SafeToRemoveIdentity` 906*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23579](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23579)) 907*b6fb3261SAndroid Build Coastguard Worker* Fixes multiple `CHECK`-failures in `TensorByteSize` 908*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23582](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23582)) 909*b6fb3261SAndroid Build Coastguard Worker* Fixes multiple `CHECK`-failures in binary ops due to type confusion 910*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23583](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23583)) 911*b6fb3261SAndroid Build Coastguard Worker* Fixes a use after free in `DecodePng` kernel 912*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23584](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23584)) 913*b6fb3261SAndroid Build Coastguard Worker* Fixes a memory leak in decoding PNG images 914*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23585](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23585)) 915*b6fb3261SAndroid Build Coastguard Worker* Fixes multiple `CHECK`-fails in `function.cc` 916*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23586](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23586)) 917*b6fb3261SAndroid Build Coastguard Worker* Fixes multiple `CHECK`-fails due to attempting to build a reference tensor 918*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23588](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23588)) 919*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer overflow in Grappler cost estimation of crop and resize 920*b6fb3261SAndroid Build Coastguard Worker operation 921*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23587](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23587)) 922*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference in Grappler's `IsConstant` 923*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23589](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23589)) 924*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK` failure in constant folding 925*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41197](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41197)) 926*b6fb3261SAndroid Build Coastguard Worker* Fixes a stack overflow due to self-recursive function in `GraphDef` 927*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23591](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23591)) 928*b6fb3261SAndroid Build Coastguard Worker* Fixes a crash due to erroneous `StatusOr` 929*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23590](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23590)) 930*b6fb3261SAndroid Build Coastguard Worker* Fixes multiple crashes and heap OOB accesses in TFG dialect (MLIR) 931*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23594](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23594)) 932*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference in `BuildXlaCompilationCache` (XLA) 933*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23595](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23595)) 934*b6fb3261SAndroid Build Coastguard Worker* Updates `icu` to `69.1` to handle 935*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-10531](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-10531) 936*b6fb3261SAndroid Build Coastguard Worker 937*b6fb3261SAndroid Build Coastguard Worker# Release 2.6.3 938*b6fb3261SAndroid Build Coastguard Worker 939*b6fb3261SAndroid Build Coastguard WorkerThis releases introduces several vulnerability fixes: 940*b6fb3261SAndroid Build Coastguard Worker 941*b6fb3261SAndroid Build Coastguard Worker* Fixes a floating point division by 0 when executing convolution operators 942*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21725](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21725)) 943*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB read in shape inference for `ReverseSequence` 944*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21728](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21728)) 945*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB access in `Dequantize` 946*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21726](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21726)) 947*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer overflow in shape inference for `Dequantize` 948*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21727](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21727)) 949*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB access in `FractionalAvgPoolGrad` 950*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21730](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21730)) 951*b6fb3261SAndroid Build Coastguard Worker* Fixes an overflow and divide by zero in `UnravelIndex` 952*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21729](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21729)) 953*b6fb3261SAndroid Build Coastguard Worker* Fixes a type confusion in shape inference for `ConcatV2` 954*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21731](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21731)) 955*b6fb3261SAndroid Build Coastguard Worker* Fixes an OOM in `ThreadPoolHandle` 956*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21732](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21732)) 957*b6fb3261SAndroid Build Coastguard Worker* Fixes an OOM due to integer overflow in `StringNGrams` 958*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21733](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21733)) 959*b6fb3261SAndroid Build Coastguard Worker* Fixes more issues caused by incomplete validation in boosted trees code 960*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41208](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41208)) 961*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer overflows in most sparse component-wise ops 962*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23567](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23567)) 963*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer overflows in `AddManySparseToTensorsMap` 964*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23568](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23568)) 965*b6fb3261SAndroid Build Coastguard Worker* Fixes a number of `CHECK`-failures in `MapStage` 966*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21734](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21734)) 967*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in `FractionalMaxPool` 968*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21735](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21735)) 969*b6fb3261SAndroid Build Coastguard Worker* Fixes a number of `CHECK`-fails when building invalid/overflowing tensor 970*b6fb3261SAndroid Build Coastguard Worker shapes 971*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23569](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23569)) 972*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior in `SparseTensorSliceDataset` 973*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21736](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21736)) 974*b6fb3261SAndroid Build Coastguard Worker* Fixes an assertion failure based denial of service via faulty bin count 975*b6fb3261SAndroid Build Coastguard Worker operations 976*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21737](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21737)) 977*b6fb3261SAndroid Build Coastguard Worker* Fixes a reference binding to null pointer in `QuantizedMaxPool` 978*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21739](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21739)) 979*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer overflow leading to crash in `SparseCountSparseOutput` 980*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21738](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21738)) 981*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap overflow in `SparseCountSparseOutput` 982*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21740](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21740)) 983*b6fb3261SAndroid Build Coastguard Worker* Fixes an FPE in `BiasAndClamp` in TFLite 984*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23557](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23557)) 985*b6fb3261SAndroid Build Coastguard Worker* Fixes an FPE in depthwise convolutions in TFLite 986*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21741](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21741)) 987*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer overflow in TFLite array creation 988*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23558](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23558)) 989*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer overflow in TFLite 990*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23559](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23559)) 991*b6fb3261SAndroid Build Coastguard Worker* Fixes a dangerous OOB write in TFLite 992*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23561](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23561)) 993*b6fb3261SAndroid Build Coastguard Worker* Fixes a vulnerability leading to read and write outside of bounds in TFLite 994*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23560](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23560)) 995*b6fb3261SAndroid Build Coastguard Worker* Fixes a set of vulnerabilities caused by using insecure temporary files 996*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23563](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23563)) 997*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer overflow in Range resulting in undefined behavior and OOM 998*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23562](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23562)) 999*b6fb3261SAndroid Build Coastguard Worker* Fixes a vulnerability where missing validation causes `tf.sparse.split` to 1000*b6fb3261SAndroid Build Coastguard Worker crash when `axis` is a tuple 1001*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41206](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41206)) 1002*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail when decoding resource handles from proto 1003*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23564](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23564)) 1004*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail with repeated `AttrDef` 1005*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23565](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23565)) 1006*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB write in Grappler 1007*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23566](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23566)) 1008*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail when decoding invalid tensors from proto 1009*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23571](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23571)) 1010*b6fb3261SAndroid Build Coastguard Worker* Fixes a null-dereference when specializing tensor type 1011*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23570](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23570)) 1012*b6fb3261SAndroid Build Coastguard Worker* Fixes a crash when type cannot be specialized 1013*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23572](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23572)) 1014*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB read/write in `SpecializeType` 1015*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23574](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23574)) 1016*b6fb3261SAndroid Build Coastguard Worker* Fixes an unitialized variable access in `AssignOp` 1017*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23573](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23573)) 1018*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer overflow in `OpLevelCostEstimator::CalculateTensorSize` 1019*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23575](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23575)) 1020*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer overflow in `OpLevelCostEstimator::CalculateOutputSize` 1021*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23576](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23576)) 1022*b6fb3261SAndroid Build Coastguard Worker* Fixes a null dereference in `GetInitOp` 1023*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23577](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23577)) 1024*b6fb3261SAndroid Build Coastguard Worker* Fixes a memory leak when a graph node is invalid 1025*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23578](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23578)) 1026*b6fb3261SAndroid Build Coastguard Worker* Fixes an abort caused by allocating a vector that is too large 1027*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23580](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23580)) 1028*b6fb3261SAndroid Build Coastguard Worker* Fixes multiple `CHECK`-failures during Grappler's `IsSimplifiableReshape` 1029*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23581](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23581)) 1030*b6fb3261SAndroid Build Coastguard Worker* Fixes multiple `CHECK`-failures during Grappler's `SafeToRemoveIdentity` 1031*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23579](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23579)) 1032*b6fb3261SAndroid Build Coastguard Worker* Fixes multiple `CHECK`-failures in `TensorByteSize` 1033*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23582](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23582)) 1034*b6fb3261SAndroid Build Coastguard Worker* Fixes multiple `CHECK`-failures in binary ops due to type confusion 1035*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23583](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23583)) 1036*b6fb3261SAndroid Build Coastguard Worker* Fixes a use after free in `DecodePng` kernel 1037*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23584](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23584)) 1038*b6fb3261SAndroid Build Coastguard Worker* Fixes a memory leak in decoding PNG images 1039*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23585](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23585)) 1040*b6fb3261SAndroid Build Coastguard Worker* Fixes multiple `CHECK`-fails in `function.cc` 1041*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23586](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23586)) 1042*b6fb3261SAndroid Build Coastguard Worker* Fixes multiple `CHECK`-fails due to attempting to build a reference tensor 1043*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23588](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23588)) 1044*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer overflow in Grappler cost estimation of crop and resize 1045*b6fb3261SAndroid Build Coastguard Worker operation 1046*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23587](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23587)) 1047*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference in Grappler's `IsConstant` 1048*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23589](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23589)) 1049*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK` failure in constant folding 1050*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41197](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41197)) 1051*b6fb3261SAndroid Build Coastguard Worker* Fixes a stack overflow due to self-recursive function in `GraphDef` 1052*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23591](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23591)) 1053*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference in `BuildXlaCompilationCache` (XLA) 1054*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23595](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23595)) 1055*b6fb3261SAndroid Build Coastguard Worker* Updates `icu` to `69.1` to handle 1056*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-10531](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-10531) 1057*b6fb3261SAndroid Build Coastguard Worker 1058*b6fb3261SAndroid Build Coastguard Worker# Release 2.5.3 1059*b6fb3261SAndroid Build Coastguard Worker 1060*b6fb3261SAndroid Build Coastguard WorkerThis releases introduces several vulnerability fixes: 1061*b6fb3261SAndroid Build Coastguard Worker 1062*b6fb3261SAndroid Build Coastguard Worker* Fixes a floating point division by 0 when executing convolution operators 1063*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21725](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21725)) 1064*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB read in shape inference for `ReverseSequence` 1065*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21728](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21728)) 1066*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB access in `Dequantize` 1067*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21726](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21726)) 1068*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer overflow in shape inference for `Dequantize` 1069*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21727](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21727)) 1070*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB access in `FractionalAvgPoolGrad` 1071*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21730](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21730)) 1072*b6fb3261SAndroid Build Coastguard Worker* Fixes an overflow and divide by zero in `UnravelIndex` 1073*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21729](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21729)) 1074*b6fb3261SAndroid Build Coastguard Worker* Fixes a type confusion in shape inference for `ConcatV2` 1075*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21731](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21731)) 1076*b6fb3261SAndroid Build Coastguard Worker* Fixes an OOM in `ThreadPoolHandle` 1077*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21732](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21732)) 1078*b6fb3261SAndroid Build Coastguard Worker* Fixes an OOM due to integer overflow in `StringNGrams` 1079*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21733](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21733)) 1080*b6fb3261SAndroid Build Coastguard Worker* Fixes more issues caused by incomplete validation in boosted trees code 1081*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41208](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41208)) 1082*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer overflows in most sparse component-wise ops 1083*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23567](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23567)) 1084*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer overflows in `AddManySparseToTensorsMap` 1085*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23568](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23568)) 1086*b6fb3261SAndroid Build Coastguard Worker* Fixes a number of `CHECK`-failures in `MapStage` 1087*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21734](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21734)) 1088*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in `FractionalMaxPool` 1089*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21735](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21735)) 1090*b6fb3261SAndroid Build Coastguard Worker* Fixes a number of `CHECK`-fails when building invalid/overflowing tensor 1091*b6fb3261SAndroid Build Coastguard Worker shapes 1092*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23569](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23569)) 1093*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior in `SparseTensorSliceDataset` 1094*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21736](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21736)) 1095*b6fb3261SAndroid Build Coastguard Worker* Fixes an assertion failure based denial of service via faulty bin count 1096*b6fb3261SAndroid Build Coastguard Worker operations 1097*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21737](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21737)) 1098*b6fb3261SAndroid Build Coastguard Worker* Fixes a reference binding to null pointer in `QuantizedMaxPool` 1099*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21739](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21739)) 1100*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer overflow leading to crash in `SparseCountSparseOutput` 1101*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21738](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21738)) 1102*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap overflow in `SparseCountSparseOutput` 1103*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21740](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21740)) 1104*b6fb3261SAndroid Build Coastguard Worker* Fixes an FPE in `BiasAndClamp` in TFLite 1105*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23557](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23557)) 1106*b6fb3261SAndroid Build Coastguard Worker* Fixes an FPE in depthwise convolutions in TFLite 1107*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-21741](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21741)) 1108*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer overflow in TFLite array creation 1109*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23558](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23558)) 1110*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer overflow in TFLite 1111*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23559](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23559)) 1112*b6fb3261SAndroid Build Coastguard Worker* Fixes a dangerous OOB write in TFLite 1113*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23561](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23561)) 1114*b6fb3261SAndroid Build Coastguard Worker* Fixes a vulnerability leading to read and write outside of bounds in TFLite 1115*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23560](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23560)) 1116*b6fb3261SAndroid Build Coastguard Worker* Fixes a set of vulnerabilities caused by using insecure temporary files 1117*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23563](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23563)) 1118*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer overflow in Range resulting in undefined behavior and OOM 1119*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23562](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23562)) 1120*b6fb3261SAndroid Build Coastguard Worker* Fixes a vulnerability where missing validation causes `tf.sparse.split` to 1121*b6fb3261SAndroid Build Coastguard Worker crash when `axis` is a tuple 1122*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41206](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41206)) 1123*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail when decoding resource handles from proto 1124*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23564](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23564)) 1125*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail with repeated `AttrDef` 1126*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23565](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23565)) 1127*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB write in Grappler 1128*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23566](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23566)) 1129*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail when decoding invalid tensors from proto 1130*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23571](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23571)) 1131*b6fb3261SAndroid Build Coastguard Worker* Fixes an unitialized variable access in `AssignOp` 1132*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23573](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23573)) 1133*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer overflow in `OpLevelCostEstimator::CalculateTensorSize` 1134*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23575](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23575)) 1135*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer overflow in `OpLevelCostEstimator::CalculateOutputSize` 1136*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23576](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23576)) 1137*b6fb3261SAndroid Build Coastguard Worker* Fixes a null dereference in `GetInitOp` 1138*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23577](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23577)) 1139*b6fb3261SAndroid Build Coastguard Worker* Fixes a memory leak when a graph node is invalid 1140*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23578](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23578)) 1141*b6fb3261SAndroid Build Coastguard Worker* Fixes an abort caused by allocating a vector that is too large 1142*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23580](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23580)) 1143*b6fb3261SAndroid Build Coastguard Worker* Fixes multiple `CHECK`-failures during Grappler's `IsSimplifiableReshape` 1144*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23581](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23581)) 1145*b6fb3261SAndroid Build Coastguard Worker* Fixes multiple `CHECK`-failures during Grappler's `SafeToRemoveIdentity` 1146*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23579](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23579)) 1147*b6fb3261SAndroid Build Coastguard Worker* Fixes multiple `CHECK`-failures in `TensorByteSize` 1148*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23582](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23582)) 1149*b6fb3261SAndroid Build Coastguard Worker* Fixes multiple `CHECK`-failures in binary ops due to type confusion 1150*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23583](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23583)) 1151*b6fb3261SAndroid Build Coastguard Worker* Fixes a use after free in `DecodePng` kernel 1152*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23584](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23584)) 1153*b6fb3261SAndroid Build Coastguard Worker* Fixes a memory leak in decoding PNG images 1154*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23585](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23585)) 1155*b6fb3261SAndroid Build Coastguard Worker* Fixes multiple `CHECK`-fails in `function.cc` 1156*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23586](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23586)) 1157*b6fb3261SAndroid Build Coastguard Worker* Fixes multiple `CHECK`-fails due to attempting to build a reference tensor 1158*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23588](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23588)) 1159*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer overflow in Grappler cost estimation of crop and resize 1160*b6fb3261SAndroid Build Coastguard Worker operation 1161*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23587](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23587)) 1162*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference in Grappler's `IsConstant` 1163*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23589](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23589)) 1164*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK` failure in constant folding 1165*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41197](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41197)) 1166*b6fb3261SAndroid Build Coastguard Worker* Fixes a stack overflow due to self-recursive function in `GraphDef` 1167*b6fb3261SAndroid Build Coastguard Worker ([CVE-2022-23591](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23591)) 1168*b6fb3261SAndroid Build Coastguard Worker* Updates `icu` to `69.1` to handle 1169*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-10531](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-10531) 1170*b6fb3261SAndroid Build Coastguard Worker 1171*b6fb3261SAndroid Build Coastguard Worker# Release 2.7.0 1172*b6fb3261SAndroid Build Coastguard Worker 1173*b6fb3261SAndroid Build Coastguard Worker## Breaking Changes 1174*b6fb3261SAndroid Build Coastguard Worker 1175*b6fb3261SAndroid Build Coastguard Worker* `tf.keras`: 1176*b6fb3261SAndroid Build Coastguard Worker 1177*b6fb3261SAndroid Build Coastguard Worker * The methods `Model.fit()`, `Model.predict()`, and `Model.evaluate()` 1178*b6fb3261SAndroid Build Coastguard Worker will no longer uprank input data of shape `(batch_size,)` to become 1179*b6fb3261SAndroid Build Coastguard Worker `(batch_size, 1)`. This enables `Model` subclasses to process scalar 1180*b6fb3261SAndroid Build Coastguard Worker data in their `train_step()`/`test_step()`/`predict_step()` methods. \ 1181*b6fb3261SAndroid Build Coastguard Worker Note that this change may break certain subclassed models. You can 1182*b6fb3261SAndroid Build Coastguard Worker revert back to the previous behavior by adding upranking yourself in the 1183*b6fb3261SAndroid Build Coastguard Worker `train_step()`/`test_step()`/`predict_step()` methods, e.g. `if 1184*b6fb3261SAndroid Build Coastguard Worker x.shape.rank == 1: x = tf.expand_dims(x, axis=-1)`. Functional models as 1185*b6fb3261SAndroid Build Coastguard Worker well as Sequential models built with an explicit input shape are not 1186*b6fb3261SAndroid Build Coastguard Worker affected. 1187*b6fb3261SAndroid Build Coastguard Worker * The methods `Model.to_yaml()` and `keras.models.model_from_yaml` have 1188*b6fb3261SAndroid Build Coastguard Worker been replaced to raise a `RuntimeError` as they can be abused to cause 1189*b6fb3261SAndroid Build Coastguard Worker arbitrary code execution. It is recommended to use JSON serialization 1190*b6fb3261SAndroid Build Coastguard Worker instead of YAML, or, a better alternative, serialize to H5. 1191*b6fb3261SAndroid Build Coastguard Worker * `LinearModel` and `WideDeepModel` are moved to the 1192*b6fb3261SAndroid Build Coastguard Worker `tf.compat.v1.keras.models.` namespace 1193*b6fb3261SAndroid Build Coastguard Worker (`tf.compat.v1.keras.models.LinearModel` and 1194*b6fb3261SAndroid Build Coastguard Worker `tf.compat.v1.keras.models.WideDeepModel`), and their `experimental` 1195*b6fb3261SAndroid Build Coastguard Worker endpoints (`tf.keras.experimental.models.LinearModel` and 1196*b6fb3261SAndroid Build Coastguard Worker `tf.keras.experimental.models.WideDeepModel`) are being deprecated. 1197*b6fb3261SAndroid Build Coastguard Worker * RNG behavior change for all `tf.keras.initializers` classes. For any 1198*b6fb3261SAndroid Build Coastguard Worker class constructed with a fixed seed, it will no longer generate same 1199*b6fb3261SAndroid Build Coastguard Worker value when invoked multiple times. Instead, it will return different 1200*b6fb3261SAndroid Build Coastguard Worker value, but a deterministic sequence. This change will make the 1201*b6fb3261SAndroid Build Coastguard Worker initialize behavior align between v1 and v2. 1202*b6fb3261SAndroid Build Coastguard Worker 1203*b6fb3261SAndroid Build Coastguard Worker* `tf.lite`: 1204*b6fb3261SAndroid Build Coastguard Worker 1205*b6fb3261SAndroid Build Coastguard Worker * Rename fields `SignatureDef` table in schema to maximize the parity with 1206*b6fb3261SAndroid Build Coastguard Worker TF SavedModel's Signature concept. 1207*b6fb3261SAndroid Build Coastguard Worker * Deprecate Makefile builds. Makefile users need to migrate their builds 1208*b6fb3261SAndroid Build Coastguard Worker to CMake or Bazel. Please refer to the 1209*b6fb3261SAndroid Build Coastguard Worker [Build TensorFlow Lite with CMake](https://www.tensorflow.org/lite/guide/build_cmake) 1210*b6fb3261SAndroid Build Coastguard Worker and 1211*b6fb3261SAndroid Build Coastguard Worker [Build TensorFlow Lite for ARM boards](https://www.tensorflow.org/lite/guide/build_arm) 1212*b6fb3261SAndroid Build Coastguard Worker for the migration. 1213*b6fb3261SAndroid Build Coastguard Worker * Deprecate `tflite::OpResolver::GetDelegates`. The list returned by 1214*b6fb3261SAndroid Build Coastguard Worker TfLite's `BuiltinOpResolver::GetDelegates` is now always empty. Instead, 1215*b6fb3261SAndroid Build Coastguard Worker recommend using new method `tflite::OpResolver::GetDelegateCreators` in 1216*b6fb3261SAndroid Build Coastguard Worker order to achieve lazy initialization on TfLite delegate instances. 1217*b6fb3261SAndroid Build Coastguard Worker 1218*b6fb3261SAndroid Build Coastguard Worker* TF Core: 1219*b6fb3261SAndroid Build Coastguard Worker 1220*b6fb3261SAndroid Build Coastguard Worker * `tf.Graph.get_name_scope()` now always returns a string, as documented. 1221*b6fb3261SAndroid Build Coastguard Worker Previously, when called within `name_scope("")` or `name_scope(None)` 1222*b6fb3261SAndroid Build Coastguard Worker contexts, it returned `None`; now it returns the empty string. 1223*b6fb3261SAndroid Build Coastguard Worker * `tensorflow/core/ir/` contains a new MLIR-based Graph dialect that is 1224*b6fb3261SAndroid Build Coastguard Worker isomorphic to GraphDef and will be used to replace GraphDef-based (e.g., 1225*b6fb3261SAndroid Build Coastguard Worker Grappler) optimizations. 1226*b6fb3261SAndroid Build Coastguard Worker * Deprecated and removed `attrs()` function in shape inference. All 1227*b6fb3261SAndroid Build Coastguard Worker attributes should be queried by name now (rather than range returned) to 1228*b6fb3261SAndroid Build Coastguard Worker enable changing the underlying storage there. 1229*b6fb3261SAndroid Build Coastguard Worker * The following Python symbols were accidentally added in earlier versions 1230*b6fb3261SAndroid Build Coastguard Worker of TensorFlow and now are removed. Each symbol has a replacement that 1231*b6fb3261SAndroid Build Coastguard Worker should be used instead, but note the replacement's argument names are 1232*b6fb3261SAndroid Build Coastguard Worker different. 1233*b6fb3261SAndroid Build Coastguard Worker * `tf.quantize_and_dequantize_v4` (accidentally introduced in 1234*b6fb3261SAndroid Build Coastguard Worker TensorFlow 2.4): Use `tf.quantization.quantize_and_dequantize_v2` 1235*b6fb3261SAndroid Build Coastguard Worker instead. 1236*b6fb3261SAndroid Build Coastguard Worker * `tf.batch_mat_mul_v3` (accidentally introduced in TensorFlow 2.6): 1237*b6fb3261SAndroid Build Coastguard Worker Use `tf.linalg.matmul` instead. 1238*b6fb3261SAndroid Build Coastguard Worker * `tf.sparse_segment_sum_grad` (accidentally introduced in TensorFlow 1239*b6fb3261SAndroid Build Coastguard Worker 2.6): Use `tf.raw_ops.SparseSegmentSumGrad` instead. Directly 1240*b6fb3261SAndroid Build Coastguard Worker calling this op is typically not necessary, as it is automatically 1241*b6fb3261SAndroid Build Coastguard Worker used when computing the gradient of `tf.sparse.segment_sum`. 1242*b6fb3261SAndroid Build Coastguard Worker * Renaming of tensorflow::int64 to int_64_t in numerous places (the former 1243*b6fb3261SAndroid Build Coastguard Worker is an alias for the latter) which could result in needing to regenerate 1244*b6fb3261SAndroid Build Coastguard Worker selective op registration headers else execution would fail with 1245*b6fb3261SAndroid Build Coastguard Worker unregistered kernels error. 1246*b6fb3261SAndroid Build Coastguard Worker 1247*b6fb3261SAndroid Build Coastguard Worker* Modular File System Migration: 1248*b6fb3261SAndroid Build Coastguard Worker 1249*b6fb3261SAndroid Build Coastguard Worker * Support for S3 and HDFS file systems has been migrated to a modular file 1250*b6fb3261SAndroid Build Coastguard Worker systems based approach and is now available in 1251*b6fb3261SAndroid Build Coastguard Worker https://github.com/tensorflow/io. The `tensorflow-io` python package 1252*b6fb3261SAndroid Build Coastguard Worker should be installed for S3 and HDFS support with tensorflow. 1253*b6fb3261SAndroid Build Coastguard Worker 1254*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements 1255*b6fb3261SAndroid Build Coastguard Worker 1256*b6fb3261SAndroid Build Coastguard Worker* Improvements to the TensorFlow debugging experience: 1257*b6fb3261SAndroid Build Coastguard Worker 1258*b6fb3261SAndroid Build Coastguard Worker * Previously, TensorFlow error stack traces involved many internal frames, 1259*b6fb3261SAndroid Build Coastguard Worker which could be challenging to read through, while not being actionable 1260*b6fb3261SAndroid Build Coastguard Worker for end users. As of TF 2.7, TensorFlow filters internal frames in most 1261*b6fb3261SAndroid Build Coastguard Worker errors that it raises, to keep stack traces short, readable, and focused 1262*b6fb3261SAndroid Build Coastguard Worker on what's actionable for end users (their own code). 1263*b6fb3261SAndroid Build Coastguard Worker 1264*b6fb3261SAndroid Build Coastguard Worker This behavior can be disabled by calling 1265*b6fb3261SAndroid Build Coastguard Worker `tf.debugging.disable_traceback_filtering()`, and can be re-enabled via 1266*b6fb3261SAndroid Build Coastguard Worker `tf.debugging.enable_traceback_filtering()`. If you are debugging a 1267*b6fb3261SAndroid Build Coastguard Worker TensorFlow-internal issue (e.g. to prepare a TensorFlow PR), make sure to 1268*b6fb3261SAndroid Build Coastguard Worker disable traceback filtering. You can check whether this feature is currently 1269*b6fb3261SAndroid Build Coastguard Worker enabled by calling `tf.debugging.is_traceback_filtering_enabled()`. 1270*b6fb3261SAndroid Build Coastguard Worker 1271*b6fb3261SAndroid Build Coastguard Worker Note that this feature is only available with Python 3.7 or higher. 1272*b6fb3261SAndroid Build Coastguard Worker 1273*b6fb3261SAndroid Build Coastguard Worker * Improve the informativeness of error messages raised by Keras 1274*b6fb3261SAndroid Build Coastguard Worker `Layer.__call__()`, by adding the full list of argument values passed to 1275*b6fb3261SAndroid Build Coastguard Worker the layer in every exception. 1276*b6fb3261SAndroid Build Coastguard Worker 1277*b6fb3261SAndroid Build Coastguard Worker* Introduce the `tf.compat.v1.keras.utils.track_tf1_style_variables` 1278*b6fb3261SAndroid Build Coastguard Worker decorator, which enables using large classes of tf1-style variable_scope, 1279*b6fb3261SAndroid Build Coastguard Worker `get_variable`, and `compat.v1.layer`-based components from within TF2 1280*b6fb3261SAndroid Build Coastguard Worker models running with TF2 behavior enabled. 1281*b6fb3261SAndroid Build Coastguard Worker 1282*b6fb3261SAndroid Build Coastguard Worker* `tf.data`: 1283*b6fb3261SAndroid Build Coastguard Worker 1284*b6fb3261SAndroid Build Coastguard Worker * tf.data service now supports auto-sharding. Users specify the sharding 1285*b6fb3261SAndroid Build Coastguard Worker policy with `tf.data.experimental.service.ShardingPolicy` enum. It can 1286*b6fb3261SAndroid Build Coastguard Worker be one of `OFF` (equivalent to today's `"parallel_epochs"` mode), 1287*b6fb3261SAndroid Build Coastguard Worker `DYNAMIC` (equivalent to today's `"distributed_epoch"` mode), or one of 1288*b6fb3261SAndroid Build Coastguard Worker the static sharding policies: `FILE`, `DATA`, `FILE_OR_DATA`, or `HINT` 1289*b6fb3261SAndroid Build Coastguard Worker (corresponding to values of `tf.data.experimental.AutoShardPolicy`). 1290*b6fb3261SAndroid Build Coastguard Worker 1291*b6fb3261SAndroid Build Coastguard Worker Static sharding (auto-sharding) requires the number of tf.data service 1292*b6fb3261SAndroid Build Coastguard Worker workers be fixed. Users need to specify the worker addresses in 1293*b6fb3261SAndroid Build Coastguard Worker `tensorflow.data.experimental.DispatcherConfig`. 1294*b6fb3261SAndroid Build Coastguard Worker 1295*b6fb3261SAndroid Build Coastguard Worker * `tf.data.experimental.service.register_dataset` now accepts optional 1296*b6fb3261SAndroid Build Coastguard Worker `compression` argument. 1297*b6fb3261SAndroid Build Coastguard Worker 1298*b6fb3261SAndroid Build Coastguard Worker* Keras: 1299*b6fb3261SAndroid Build Coastguard Worker 1300*b6fb3261SAndroid Build Coastguard Worker * `tf.keras.layers.Conv` now includes a public `convolution_op` method. 1301*b6fb3261SAndroid Build Coastguard Worker This method can be used to simplify the implementation of Conv 1302*b6fb3261SAndroid Build Coastguard Worker subclasses. There are two primary ways to use this new method. The first 1303*b6fb3261SAndroid Build Coastguard Worker is to use the method directly in your own `call` method: `python class 1304*b6fb3261SAndroid Build Coastguard Worker StandardizedConv2D(tf.keras.layers.Conv2D): def call(self, inputs): 1305*b6fb3261SAndroid Build Coastguard Worker mean, var = tf.nn.moments(self.kernel, axes=[0, 1, 2], keepdims=True) 1306*b6fb3261SAndroid Build Coastguard Worker return self.convolution_op(inputs, (self.kernel - mean) / tf.sqrt(var + 1307*b6fb3261SAndroid Build Coastguard Worker 1e-10))` Alternatively, you can override `convolution_op`: `python class 1308*b6fb3261SAndroid Build Coastguard Worker StandardizedConv2D(tf.keras.Layer): def convolution_op(self, inputs, 1309*b6fb3261SAndroid Build Coastguard Worker kernel): mean, var = tf.nn.moments(kernel, axes=[0, 1, 2], 1310*b6fb3261SAndroid Build Coastguard Worker keepdims=True) # Author code uses std + 1e-5 return 1311*b6fb3261SAndroid Build Coastguard Worker super().convolution_op(inputs, (kernel - mean) / tf.sqrt(var + 1e-10))` 1312*b6fb3261SAndroid Build Coastguard Worker * Added `merge_state()` method to `tf.keras.metrics.Metric` for use in 1313*b6fb3261SAndroid Build Coastguard Worker distributed computations. 1314*b6fb3261SAndroid Build Coastguard Worker * Added `sparse` and `ragged` options to 1315*b6fb3261SAndroid Build Coastguard Worker `tf.keras.layers.TextVectorization` to allow for `SparseTensor` and 1316*b6fb3261SAndroid Build Coastguard Worker `RaggedTensor` outputs from the layer. 1317*b6fb3261SAndroid Build Coastguard Worker 1318*b6fb3261SAndroid Build Coastguard Worker* distribute.experimental.rpc package: 1319*b6fb3261SAndroid Build Coastguard Worker 1320*b6fb3261SAndroid Build Coastguard Worker * distribute.experimental.rpc package introduces APIs to create a GRPC 1321*b6fb3261SAndroid Build Coastguard Worker based server to register tf.function methods and a GRPC client to invoke 1322*b6fb3261SAndroid Build Coastguard Worker remote registered methods. RPC APIs are intended for multi-client setups 1323*b6fb3261SAndroid Build Coastguard Worker i.e. server and clients are started in separate binaries independently. 1324*b6fb3261SAndroid Build Coastguard Worker 1325*b6fb3261SAndroid Build Coastguard Worker * Example usage to create server: ```python server = 1326*b6fb3261SAndroid Build Coastguard Worker tf.distribute.experimental.rpc.Server.create("grpc", "127.0.0.1:1234") 1327*b6fb3261SAndroid Build Coastguard Worker @tf.function(input_signature=[ tf.TensorSpec([], tf.int32), 1328*b6fb3261SAndroid Build Coastguard Worker tf.TensorSpec([], dtypes.int32) ]) def _remote_multiply(a, b): return 1329*b6fb3261SAndroid Build Coastguard Worker tf.math.multiply(a, b) 1330*b6fb3261SAndroid Build Coastguard Worker 1331*b6fb3261SAndroid Build Coastguard Worker server.register("multiply", _remote_multiply) ``` 1332*b6fb3261SAndroid Build Coastguard Worker 1333*b6fb3261SAndroid Build Coastguard Worker * Example usage to create client: `python client = 1334*b6fb3261SAndroid Build Coastguard Worker tf.distribute.experimental.rpc.Client.create("grpc", address) a = 1335*b6fb3261SAndroid Build Coastguard Worker tf.constant(2, dtype=tf.int32) b = tf.constant(3, dtype=tf.int32) 1336*b6fb3261SAndroid Build Coastguard Worker result = client.multiply(a, b)` 1337*b6fb3261SAndroid Build Coastguard Worker 1338*b6fb3261SAndroid Build Coastguard Worker* `tf.lite`: 1339*b6fb3261SAndroid Build Coastguard Worker 1340*b6fb3261SAndroid Build Coastguard Worker * Add experimental API `experimental_from_jax` to support conversion from 1341*b6fb3261SAndroid Build Coastguard Worker Jax models to TensorFlow Lite. 1342*b6fb3261SAndroid Build Coastguard Worker * Support uint32 data type for cast op. 1343*b6fb3261SAndroid Build Coastguard Worker * Support int8 data type for cast op. 1344*b6fb3261SAndroid Build Coastguard Worker * Add experimental quantization debugger `tf.lite.QuantizationDebugger` 1345*b6fb3261SAndroid Build Coastguard Worker * Add lite.experimental.authoring.compatible API 1346*b6fb3261SAndroid Build Coastguard Worker * A Python decorator to provide a way to check TFLite compatibility 1347*b6fb3261SAndroid Build Coastguard Worker issue of `tf.function`. This returns a callable object which 1348*b6fb3261SAndroid Build Coastguard Worker validates TFLite compatibility. If an incompatible operation is 1349*b6fb3261SAndroid Build Coastguard Worker encountered during execution, an exception will be raised with 1350*b6fb3261SAndroid Build Coastguard Worker information about the incompatible ops. 1351*b6fb3261SAndroid Build Coastguard Worker * Add lite.experimental.Analyzer API 1352*b6fb3261SAndroid Build Coastguard Worker * An experimental tool to analyze TFLite flatbuffer models. This API 1353*b6fb3261SAndroid Build Coastguard Worker can be used to investigate TFLite model structure and check 1354*b6fb3261SAndroid Build Coastguard Worker compatibility with GPU delegate. 1355*b6fb3261SAndroid Build Coastguard Worker 1356*b6fb3261SAndroid Build Coastguard Worker* Extension Types 1357*b6fb3261SAndroid Build Coastguard Worker 1358*b6fb3261SAndroid Build Coastguard Worker * Add experimental API to define new Python classes that can be handled by 1359*b6fb3261SAndroid Build Coastguard Worker TensorFlow APIs. To create an extension type, simply define a Python 1360*b6fb3261SAndroid Build Coastguard Worker class with `tf.experimental.ExtensionType` as its base, and use type 1361*b6fb3261SAndroid Build Coastguard Worker annotations to specify the type for each field. E.g.: `python class 1362*b6fb3261SAndroid Build Coastguard Worker MaskedTensor(tf.experimental.ExtensionType): values: tf.Tensor mask: 1363*b6fb3261SAndroid Build Coastguard Worker tf.Tensor` The `tf.ExtensionType` base class works similarly to 1364*b6fb3261SAndroid Build Coastguard Worker [`typing.NamedTuple`](https://docs.python.org/3/library/typing.html#typing.NamedTuple) 1365*b6fb3261SAndroid Build Coastguard Worker and 1366*b6fb3261SAndroid Build Coastguard Worker [`@dataclasses.dataclass`](https://docs.python.org/3/library/dataclasses.html#dataclasses.dataclass) 1367*b6fb3261SAndroid Build Coastguard Worker from the standard Python library. 1368*b6fb3261SAndroid Build Coastguard Worker * Extension types are supported by Keras, tf.data, TF-hub, SavedModel, 1369*b6fb3261SAndroid Build Coastguard Worker tf.function, control flow ops, py_function, and distribution strategy. 1370*b6fb3261SAndroid Build Coastguard Worker * Add "dispatch decorators" that can be used to override the default 1371*b6fb3261SAndroid Build Coastguard Worker behavior of TensorFlow ops (such as `tf.add` or `tf.concat`) when they 1372*b6fb3261SAndroid Build Coastguard Worker are applied to ExtensionType values. 1373*b6fb3261SAndroid Build Coastguard Worker * The `BatchableExtensionType` API can be used to define extension types 1374*b6fb3261SAndroid Build Coastguard Worker that support APIs that make use of batching, such as `tf.data.Dataset` 1375*b6fb3261SAndroid Build Coastguard Worker and `tf.map_fn`. 1376*b6fb3261SAndroid Build Coastguard Worker * For more information, see the 1377*b6fb3261SAndroid Build Coastguard Worker [Extension types guide](https://www.tensorflow.org/guide/extension_type). 1378*b6fb3261SAndroid Build Coastguard Worker 1379*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 1380*b6fb3261SAndroid Build Coastguard Worker 1381*b6fb3261SAndroid Build Coastguard Worker* TF Core: 1382*b6fb3261SAndroid Build Coastguard Worker * Random number generation (RNG) system 1383*b6fb3261SAndroid Build Coastguard Worker * Add argument `alg` to `tf.random.stateless_*` functions to 1384*b6fb3261SAndroid Build Coastguard Worker explicitly select the RNG algorithm. 1385*b6fb3261SAndroid Build Coastguard Worker * Add `tf.nn.experimental.stateless_dropout`, a stateless version of 1386*b6fb3261SAndroid Build Coastguard Worker `tf.nn.dropout`. 1387*b6fb3261SAndroid Build Coastguard Worker * `tf.random.Generator` now can be created inside the scope of 1388*b6fb3261SAndroid Build Coastguard Worker `tf.distribute.experimental.ParameterServerStrategy` and 1389*b6fb3261SAndroid Build Coastguard Worker `tf.distribute.experimental.CentralStorageStrategy`. 1390*b6fb3261SAndroid Build Coastguard Worker * Add an experimental session config 1391*b6fb3261SAndroid Build Coastguard Worker `tf.experimental.disable_functional_ops_lowering` which disables 1392*b6fb3261SAndroid Build Coastguard Worker functional control flow op lowering optimization. This is useful when 1393*b6fb3261SAndroid Build Coastguard Worker executing within a portable runtime where control flow op kernels may 1394*b6fb3261SAndroid Build Coastguard Worker not be loaded due to selective registration. 1395*b6fb3261SAndroid Build Coastguard Worker * Add a new experimental argument `experimental_is_anonymous` to 1396*b6fb3261SAndroid Build Coastguard Worker `tf.lookup.StaticHashTable.__init__` to create the table in anonymous 1397*b6fb3261SAndroid Build Coastguard Worker mode. In this mode, the table resource can only be accessed via resource 1398*b6fb3261SAndroid Build Coastguard Worker handles (not resource names) and will be deleted automatically when all 1399*b6fb3261SAndroid Build Coastguard Worker resource handles pointing to it are gone. 1400*b6fb3261SAndroid Build Coastguard Worker* `tf.data`: 1401*b6fb3261SAndroid Build Coastguard Worker * Introduce the `tf.data.experimental.at` API which provides random access 1402*b6fb3261SAndroid Build Coastguard Worker for input pipelines that consist of transformations that support random 1403*b6fb3261SAndroid Build Coastguard Worker access. The initial set of transformations that support random access 1404*b6fb3261SAndroid Build Coastguard Worker includes: 1405*b6fb3261SAndroid Build Coastguard Worker `tf.data.Dataset.from_tensor_slices`,`tf.data.Dataset.shuffle`, 1406*b6fb3261SAndroid Build Coastguard Worker `tf.data.Dataset.batch`, `tf.data.Dataset.shard`, `tf.data.Dataset.map`, 1407*b6fb3261SAndroid Build Coastguard Worker and `tf.data.Dataset.range`. 1408*b6fb3261SAndroid Build Coastguard Worker * Promote `tf.data.Options.experimental_deterministic` API to 1409*b6fb3261SAndroid Build Coastguard Worker `tf.data.Options.deterministic` and deprecate the experimental endpoint. 1410*b6fb3261SAndroid Build Coastguard Worker * Move autotuning options 1411*b6fb3261SAndroid Build Coastguard Worker from`tf.data.Options.experimental_optimization.autotune*` to a newly 1412*b6fb3261SAndroid Build Coastguard Worker created `tf.data.Options.autotune.*` and remove support for 1413*b6fb3261SAndroid Build Coastguard Worker `tf.data.Options.experimental_optimization.autotune_buffers`. 1414*b6fb3261SAndroid Build Coastguard Worker * Add support for user-defined names of tf.data core Python API, which can 1415*b6fb3261SAndroid Build Coastguard Worker be used to disambiguate tf.data events in TF Profiler Trace Viewer. 1416*b6fb3261SAndroid Build Coastguard Worker * Promote `tf.data.experimental.sample_from_datasets` API to 1417*b6fb3261SAndroid Build Coastguard Worker `tf.data.Dataset.sample_from_datasets` and deprecate the experimental 1418*b6fb3261SAndroid Build Coastguard Worker endpoint. 1419*b6fb3261SAndroid Build Coastguard Worker * Added `TF_GPU_ALLOCATOR=cuda_malloc_async` that use cudaMallocAsync from 1420*b6fb3261SAndroid Build Coastguard Worker CUDA 11.2. This could become the default in the future. 1421*b6fb3261SAndroid Build Coastguard Worker* TF SavedModel: 1422*b6fb3261SAndroid Build Coastguard Worker * Custom gradients are now saved by default. See 1423*b6fb3261SAndroid Build Coastguard Worker `tf.saved_model.SaveOptions` to disable this. 1424*b6fb3261SAndroid Build Coastguard Worker * The saved_model_cli's `--input_examples` inputs are now restricted to 1425*b6fb3261SAndroid Build Coastguard Worker python literals to avoid code injection. 1426*b6fb3261SAndroid Build Coastguard Worker* XLA: 1427*b6fb3261SAndroid Build Coastguard Worker * Add a new API that allows custom call functions to signal errors. The 1428*b6fb3261SAndroid Build Coastguard Worker old API will be deprecated in a future release. See 1429*b6fb3261SAndroid Build Coastguard Worker https://www.tensorflow.org/xla/custom_call for details. 1430*b6fb3261SAndroid Build Coastguard Worker * XLA:GPU reductions are deterministic by default (reductions within 1431*b6fb3261SAndroid Build Coastguard Worker `jit_compile=True` are now deterministic). 1432*b6fb3261SAndroid Build Coastguard Worker * XLA:GPU works with Horovod (OSS contribution by Trent Lo from NVidia) 1433*b6fb3261SAndroid Build Coastguard Worker * XLA:CPU and XLA:GPU can compile tf.unique and tf.where when shapes are 1434*b6fb3261SAndroid Build Coastguard Worker provably correct at compile time. 1435*b6fb3261SAndroid Build Coastguard Worker* `tf.saved_model.save`: 1436*b6fb3261SAndroid Build Coastguard Worker * When saving a model, not specifying a namespace whitelist for custom ops 1437*b6fb3261SAndroid Build Coastguard Worker with a namespace will now default to allowing rather than rejecting them 1438*b6fb3261SAndroid Build Coastguard Worker all. 1439*b6fb3261SAndroid Build Coastguard Worker* Deterministic Op Functionality (enabled by setting the environment variable 1440*b6fb3261SAndroid Build Coastguard Worker `TF_DETERMINISTIC_OPS` to `"true"` or `"1"`): 1441*b6fb3261SAndroid Build Coastguard Worker * Add determinsitic GPU implementations of: 1442*b6fb3261SAndroid Build Coastguard Worker * `tf.math.segment_sum` 1443*b6fb3261SAndroid Build Coastguard Worker * `tf.math.segment_prod` 1444*b6fb3261SAndroid Build Coastguard Worker * `tf.math.segment_mean` 1445*b6fb3261SAndroid Build Coastguard Worker * `tf.math.unsorted_segment_sum` 1446*b6fb3261SAndroid Build Coastguard Worker * `tf.math.unsorted_segment_prod` 1447*b6fb3261SAndroid Build Coastguard Worker * `tf.math.unsorted_segment_sqrt` 1448*b6fb3261SAndroid Build Coastguard Worker * `tf.math.unsorted_segment_mean` 1449*b6fb3261SAndroid Build Coastguard Worker * `tf.gather` backprop 1450*b6fb3261SAndroid Build Coastguard Worker * `tf.convert_to_tensor` when fed with (sparse) `tf.IndexedSlices` 1451*b6fb3261SAndroid Build Coastguard Worker * `tf.nn.sparse_softmax_crossentropy_with_logits` 1452*b6fb3261SAndroid Build Coastguard Worker * `tf.nn.ctc_loss` (resolved, possibly in prior release, and confirmed 1453*b6fb3261SAndroid Build Coastguard Worker with tests) 1454*b6fb3261SAndroid Build Coastguard Worker * stateful ops used in `tf.data.Dataset` 1455*b6fb3261SAndroid Build Coastguard Worker * Run the following ops on CPU (with significant performance penalty): 1456*b6fb3261SAndroid Build Coastguard Worker * `tf.scatter_nd` and other related scatter functions, such as 1457*b6fb3261SAndroid Build Coastguard Worker `tf.tensor_scatter_nd_update` 1458*b6fb3261SAndroid Build Coastguard Worker * Add determinism-unimplemented exception-throwing to the following ops. 1459*b6fb3261SAndroid Build Coastguard Worker When op-determinism is expected (i.e. when the environment variable 1460*b6fb3261SAndroid Build Coastguard Worker `TF_DETERMINISTIC_OPS` is set to `"true"` or `"1"`), an attempt to use 1461*b6fb3261SAndroid Build Coastguard Worker the specified paths through the following ops on a GPU will cause 1462*b6fb3261SAndroid Build Coastguard Worker `tf.errors.UnimplementedError` (with an understandable message), unless 1463*b6fb3261SAndroid Build Coastguard Worker otherwise specified, to be thrown. 1464*b6fb3261SAndroid Build Coastguard Worker * `tf.compat.v1.nn.fused_batch_norm` backprop to `offset` when 1465*b6fb3261SAndroid Build Coastguard Worker `is_training=False` 1466*b6fb3261SAndroid Build Coastguard Worker * `tf.image.adjust_contrast` forward 1467*b6fb3261SAndroid Build Coastguard Worker * `tf.nn.depthwise_conv2d` backprop to `filter` when not using cuDNN 1468*b6fb3261SAndroid Build Coastguard Worker convolution 1469*b6fb3261SAndroid Build Coastguard Worker * `tf.image.resize` with `method=ResizeMethod.NEAREST` backprop 1470*b6fb3261SAndroid Build Coastguard Worker * `tf.math.bincount` - TODO: confirm exception added 1471*b6fb3261SAndroid Build Coastguard Worker * `tf.raw_ops.DebugNumericSummary` and 1472*b6fb3261SAndroid Build Coastguard Worker `tf.raw_ops.DebugNumericSummaryV2` 1473*b6fb3261SAndroid Build Coastguard Worker * `tf.Variable.scatter_add` (and other scatter methods, both on ref 1474*b6fb3261SAndroid Build Coastguard Worker and resource variables) 1475*b6fb3261SAndroid Build Coastguard Worker * `tf.linalg.svd` 1476*b6fb3261SAndroid Build Coastguard Worker * `tf.nn.dilation2d` gradient 1477*b6fb3261SAndroid Build Coastguard Worker * `tf.nn.max_pool_with_argmax` gradient 1478*b6fb3261SAndroid Build Coastguard Worker * `tf.timestamp`. Throws `FailedPrecondition` 1479*b6fb3261SAndroid Build Coastguard Worker * The random-number-generating ops in the `tf.random` module when the 1480*b6fb3261SAndroid Build Coastguard Worker global random seed has not yet been set (via `tf.random.set_seed`). 1481*b6fb3261SAndroid Build Coastguard Worker Throws `RuntimeError` from Python or `InvalidArgument` from C++ 1482*b6fb3261SAndroid Build Coastguard Worker * `tf.compat.v1.get_seed` if the global random seed has not yet been 1483*b6fb3261SAndroid Build Coastguard Worker set (via `tf.random.set_seed`). Throws `RuntimeError` from Python or 1484*b6fb3261SAndroid Build Coastguard Worker `InvalidArgument` from C++ 1485*b6fb3261SAndroid Build Coastguard Worker 1486*b6fb3261SAndroid Build Coastguard Worker## Security 1487*b6fb3261SAndroid Build Coastguard Worker 1488*b6fb3261SAndroid Build Coastguard Worker* Fixes a code injection issue in `saved_model_cli` 1489*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41228](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41228)) 1490*b6fb3261SAndroid Build Coastguard Worker* Fixes a vulnerability due to use of uninitialized value in Tensorflow 1491*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41225](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41225)) 1492*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in `FusedBatchNorm` kernels 1493*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41223](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41223)) 1494*b6fb3261SAndroid Build Coastguard Worker* Fixes an arbitrary memory read in `ImmutableConst` 1495*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41227](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41227)) 1496*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in `SparseBinCount` 1497*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41226](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41226)) 1498*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in `SparseFillEmptyRows` 1499*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41224](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41224)) 1500*b6fb3261SAndroid Build Coastguard Worker* Fixes a segfault due to negative splits in `SplitV` 1501*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41222](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41222)) 1502*b6fb3261SAndroid Build Coastguard Worker* Fixes segfaults and vulnerabilities caused by accesses to invalid memory 1503*b6fb3261SAndroid Build Coastguard Worker during shape inference in `Cudnn*` ops 1504*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41221](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41221)) 1505*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer exception when `Exit` node is not preceded by `Enter` 1506*b6fb3261SAndroid Build Coastguard Worker op 1507*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41217](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41217)) 1508*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer division by 0 in `tf.raw_ops.AllToAll` 1509*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41218](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41218)) 1510*b6fb3261SAndroid Build Coastguard Worker* Fixes a use after free and a memory leak in `CollectiveReduceV2` 1511*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41220](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41220)) 1512*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior via `nullptr` reference binding in sparse matrix 1513*b6fb3261SAndroid Build Coastguard Worker multiplication 1514*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41219](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41219)) 1515*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `Transpose` 1516*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41216](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41216)) 1517*b6fb3261SAndroid Build Coastguard Worker* Prevents deadlocks arising from mutually recursive `tf.function` objects 1518*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41213](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41213)) 1519*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer exception in `DeserializeSparse` 1520*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41215](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41215)) 1521*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior arising from reference binding to `nullptr` in 1522*b6fb3261SAndroid Build Coastguard Worker `tf.ragged.cross` 1523*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41214](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41214)) 1524*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB read in `tf.ragged.cross` 1525*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41212](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41212)) 1526*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in shape inference for `QuantizeV2` 1527*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41211](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41211)) 1528*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB read in all `tf.raw_ops.QuantizeAndDequantizeV*` ops 1529*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41205](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41205)) 1530*b6fb3261SAndroid Build Coastguard Worker* Fixes an FPE in `ParallelConcat` 1531*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41207](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41207)) 1532*b6fb3261SAndroid Build Coastguard Worker* Fixes FPE issues in convolutions with zero size filters 1533*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41209](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41209)) 1534*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB read in `tf.raw_ops.SparseCountSparseOutput` 1535*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41210](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41210)) 1536*b6fb3261SAndroid Build Coastguard Worker* Fixes vulnerabilities caused by incomplete validation in boosted trees code 1537*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41208](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41208)) 1538*b6fb3261SAndroid Build Coastguard Worker* Fixes vulnerabilities caused by incomplete validation of shapes in multiple 1539*b6fb3261SAndroid Build Coastguard Worker TF ops 1540*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41206](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41206)) 1541*b6fb3261SAndroid Build Coastguard Worker* Fixes a segfault produced while copying constant resource tensor 1542*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41204](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41204)) 1543*b6fb3261SAndroid Build Coastguard Worker* Fixes a vulnerability caused by unitialized access in 1544*b6fb3261SAndroid Build Coastguard Worker `EinsumHelper::ParseEquation` 1545*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41201](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41201)) 1546*b6fb3261SAndroid Build Coastguard Worker* Fixes several vulnerabilities and segfaults caused by missing validation 1547*b6fb3261SAndroid Build Coastguard Worker during checkpoint loading 1548*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41203](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41203)) 1549*b6fb3261SAndroid Build Coastguard Worker* Fixes an overflow producing a crash in `tf.range` 1550*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41202](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41202)) 1551*b6fb3261SAndroid Build Coastguard Worker* Fixes an overflow producing a crash in `tf.image.resize` when size is large 1552*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41199](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41199)) 1553*b6fb3261SAndroid Build Coastguard Worker* Fixes an overflow producing a crash in `tf.tile` when tiling tensor is large 1554*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41198](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41198)) 1555*b6fb3261SAndroid Build Coastguard Worker* Fixes a vulnerability produced due to incomplete validation in 1556*b6fb3261SAndroid Build Coastguard Worker `tf.summary.create_file_writer` 1557*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41200](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41200)) 1558*b6fb3261SAndroid Build Coastguard Worker* Fixes multiple crashes due to overflow and `CHECK`-fail in ops with large 1559*b6fb3261SAndroid Build Coastguard Worker tensor shapes 1560*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41197](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41197)) 1561*b6fb3261SAndroid Build Coastguard Worker* Fixes a crash in `max_pool3d` when size argument is 0 or negative 1562*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41196](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41196)) 1563*b6fb3261SAndroid Build Coastguard Worker* Fixes a crash in `tf.math.segment_*` operations 1564*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41195](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41195)) 1565*b6fb3261SAndroid Build Coastguard Worker* Updates `curl` to `7.78.0` to handle 1566*b6fb3261SAndroid Build Coastguard Worker [CVE-2021-22922](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22922), 1567*b6fb3261SAndroid Build Coastguard Worker [CVE-2021-22923](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22923), 1568*b6fb3261SAndroid Build Coastguard Worker [CVE-2021-22924](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22924), 1569*b6fb3261SAndroid Build Coastguard Worker [CVE-2021-22925](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22925), 1570*b6fb3261SAndroid Build Coastguard Worker and 1571*b6fb3261SAndroid Build Coastguard Worker [CVE-2021-22926](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22926). 1572*b6fb3261SAndroid Build Coastguard Worker 1573*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors 1574*b6fb3261SAndroid Build Coastguard Worker 1575*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as: 1576*b6fb3261SAndroid Build Coastguard Worker 1577*b6fb3261SAndroid Build Coastguard Worker8bitmp3, Abhilash Majumder, abhilash1910, AdeshChoudhar, Adrian Garcia 1578*b6fb3261SAndroid Build Coastguard WorkerBadaracco, Adrian Ratiu, ag.ramesh, Aleksandr Nikolaev, Alexander Bosch, 1579*b6fb3261SAndroid Build Coastguard WorkerAlexander Grund, Annie Tallund, Anush Elangovan, Artem Sokolovskii, azazhu, 1580*b6fb3261SAndroid Build Coastguard WorkerBalint Cristian, Bas Aarts, Ben Barsdell, bhack, cfRod, Cheney-Wang, Cheng Ren, 1581*b6fb3261SAndroid Build Coastguard WorkerChristopher Bate, collin, Danila Bespalov, David Datascientist, Deven Desai, 1582*b6fb3261SAndroid Build Coastguard WorkerDuncan Riach, Ehsan Kia, Ellie, Fan Du, fo40225, Frederic Bastien, fsx950223, 1583*b6fb3261SAndroid Build Coastguard WorkerGauri1 Deshpande, geetachavan1, Guillaume Klein, guozhong.zhuang, helen, Håkon 1584*b6fb3261SAndroid Build Coastguard WorkerSandsmark, japm48, jgehw, Jinzhe Zeng, Jonathan Dekhtiar, Kai Zhu, Kaixi Hou, 1585*b6fb3261SAndroid Build Coastguard WorkerKanvi Khanna, Koan-Sin Tan, Koki Ibukuro, Kulin Seth, KumaTea, Kun-Lu, Lemo, 1586*b6fb3261SAndroid Build Coastguard Workerlipracer, liuyuanqiang, Mahmoud Abuzaina, Marius Brehler, Maxiwell S. Garcia, 1587*b6fb3261SAndroid Build Coastguard Workermdfaijul, metarutaiga, Michal Szutenberg, nammbash, Neil Girdhar, Nishidha 1588*b6fb3261SAndroid Build Coastguard WorkerPanpaliya, Nyadla-Sys, Patrice Vignola, Peter Kasting, Philipp Hack, PINTO0309, 1589*b6fb3261SAndroid Build Coastguard WorkerPrateek Gupta, puneeshkhanna, Rahul Butani, Rajeshwar Reddy T, Reza Rahimi, 1590*b6fb3261SAndroid Build Coastguard WorkerRinozaJiffry, rmothukuru, Rohit Santhanam, Saduf2019, Samuel Marks, sclarkson, 1591*b6fb3261SAndroid Build Coastguard WorkerSergii Khomenko, Sheng, Yang, Sidong-Wei, slowy07, Srinivasan Narayanamoorthy, 1592*b6fb3261SAndroid Build Coastguard WorkerSrishti Srivastava, stanley, Stella Alice Schlotter, Steven I Reeves, 1593*b6fb3261SAndroid Build Coastguard Workerstevenireeves, svobora, Takayoshi Koizumi, Tamas Bela Feher, Thibaut 1594*b6fb3261SAndroid Build Coastguard WorkerGoetghebuer-Planchon, Trent Lo, Twice, Varghese, Jojimon, Vishnuvardhan 1595*b6fb3261SAndroid Build Coastguard WorkerJanapati, Wang Yanzhang, Wang,Quintin, William Muir, William Raveane, Yasir 1596*b6fb3261SAndroid Build Coastguard WorkerModak, Yasuhiro Matsumoto, Yi Li, Yong Tang, zhaozheng09, Zhoulong Jiang, 1597*b6fb3261SAndroid Build Coastguard Workerzzpmiracle 1598*b6fb3261SAndroid Build Coastguard Worker 1599*b6fb3261SAndroid Build Coastguard Worker# Release 2.6.2 1600*b6fb3261SAndroid Build Coastguard Worker 1601*b6fb3261SAndroid Build Coastguard WorkerFixes an issue where `keras`, `tensorflow_estimator` and `tensorboard` were 1602*b6fb3261SAndroid Build Coastguard Workermissing proper upper bounds and resulted in broken installs after TF 2.7 release 1603*b6fb3261SAndroid Build Coastguard Worker 1604*b6fb3261SAndroid Build Coastguard Worker# Release 2.6.1 1605*b6fb3261SAndroid Build Coastguard Worker 1606*b6fb3261SAndroid Build Coastguard WorkerThis release introduces several vulnerability fixes: 1607*b6fb3261SAndroid Build Coastguard Worker 1608*b6fb3261SAndroid Build Coastguard Worker* Fixes a code injection issue in `saved_model_cli` 1609*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41228](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41228)) 1610*b6fb3261SAndroid Build Coastguard Worker* Fixes a vulnerability due to use of uninitialized value in Tensorflow 1611*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41225](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41225)) 1612*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in `FusedBatchNorm` kernels 1613*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41223](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41223)) 1614*b6fb3261SAndroid Build Coastguard Worker* Fixes an arbitrary memory read in `ImmutableConst` 1615*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41227](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41227)) 1616*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in `SparseBinCount` 1617*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41226](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41226)) 1618*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in `SparseFillEmptyRows` 1619*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41224](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41224)) 1620*b6fb3261SAndroid Build Coastguard Worker* Fixes a segfault due to negative splits in `SplitV` 1621*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41222](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41222)) 1622*b6fb3261SAndroid Build Coastguard Worker* Fixes segfaults and vulnerabilities caused by accesses to invalid memory 1623*b6fb3261SAndroid Build Coastguard Worker during shape inference in `Cudnn*` ops 1624*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41221](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41221)) 1625*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer exception when `Exit` node is not preceded by `Enter` 1626*b6fb3261SAndroid Build Coastguard Worker op 1627*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41217](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41217)) 1628*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer division by 0 in `tf.raw_ops.AllToAll` 1629*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41218](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41218)) 1630*b6fb3261SAndroid Build Coastguard Worker* Fixes a use after free and a memory leak in `CollectiveReduceV2` 1631*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41220](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41220)) 1632*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior via `nullptr` reference binding in sparse matrix 1633*b6fb3261SAndroid Build Coastguard Worker multiplication 1634*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41219](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41219)) 1635*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `Transpose` 1636*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41216](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41216)) 1637*b6fb3261SAndroid Build Coastguard Worker* Prevents deadlocks arising from mutually recursive `tf.function` objects 1638*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41213](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41213)) 1639*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer exception in `DeserializeSparse` 1640*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41215](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41215)) 1641*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior arising from reference binding to `nullptr` in 1642*b6fb3261SAndroid Build Coastguard Worker `tf.ragged.cross` 1643*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41214](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41214)) 1644*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB read in `tf.ragged.cross` 1645*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41212](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41212)) 1646*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in shape inference for `QuantizeV2` 1647*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41211](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41211)) 1648*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB read in all `tf.raw_ops.QuantizeAndDequantizeV*` ops 1649*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41205](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41205)) 1650*b6fb3261SAndroid Build Coastguard Worker* Fixes an FPE in `ParallelConcat` 1651*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41207](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41207)) 1652*b6fb3261SAndroid Build Coastguard Worker* Fixes FPE issues in convolutions with zero size filters 1653*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41209](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41209)) 1654*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB read in `tf.raw_ops.SparseCountSparseOutput` 1655*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41210](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41210)) 1656*b6fb3261SAndroid Build Coastguard Worker* Fixes vulnerabilities caused by incomplete validation in boosted trees code 1657*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41208](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41208)) 1658*b6fb3261SAndroid Build Coastguard Worker* Fixes vulnerabilities caused by incomplete validation of shapes in multiple 1659*b6fb3261SAndroid Build Coastguard Worker TF ops 1660*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41206](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41206)) 1661*b6fb3261SAndroid Build Coastguard Worker* Fixes a segfault produced while copying constant resource tensor 1662*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41204](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41204)) 1663*b6fb3261SAndroid Build Coastguard Worker* Fixes a vulnerability caused by unitialized access in 1664*b6fb3261SAndroid Build Coastguard Worker `EinsumHelper::ParseEquation` 1665*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41201](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41201)) 1666*b6fb3261SAndroid Build Coastguard Worker* Fixes several vulnerabilities and segfaults caused by missing validation 1667*b6fb3261SAndroid Build Coastguard Worker during checkpoint loading 1668*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41203](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41203)) 1669*b6fb3261SAndroid Build Coastguard Worker* Fixes an overflow producing a crash in `tf.range` 1670*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41202](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41202)) 1671*b6fb3261SAndroid Build Coastguard Worker* Fixes an overflow producing a crash in `tf.image.resize` when size is large 1672*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41199](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41199)) 1673*b6fb3261SAndroid Build Coastguard Worker* Fixes an overflow producing a crash in `tf.tile` when tiling tensor is large 1674*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41198](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41198)) 1675*b6fb3261SAndroid Build Coastguard Worker* Fixes a vulnerability produced due to incomplete validation in 1676*b6fb3261SAndroid Build Coastguard Worker `tf.summary.create_file_writer` 1677*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41200](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41200)) 1678*b6fb3261SAndroid Build Coastguard Worker* Fixes multiple crashes due to overflow and `CHECK`-fail in ops with large 1679*b6fb3261SAndroid Build Coastguard Worker tensor shapes 1680*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41197](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41197)) 1681*b6fb3261SAndroid Build Coastguard Worker* Fixes a crash in `max_pool3d` when size argument is 0 or negative 1682*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41196](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41196)) 1683*b6fb3261SAndroid Build Coastguard Worker* Fixes a crash in `tf.math.segment_*` operations 1684*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41195](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41195)) 1685*b6fb3261SAndroid Build Coastguard Worker* Updates `curl` to `7.78.0` to handle 1686*b6fb3261SAndroid Build Coastguard Worker [CVE-2021-22922](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22922), 1687*b6fb3261SAndroid Build Coastguard Worker [CVE-2021-22923](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22923), 1688*b6fb3261SAndroid Build Coastguard Worker [CVE-2021-22924](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22924), 1689*b6fb3261SAndroid Build Coastguard Worker [CVE-2021-22925](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22925), 1690*b6fb3261SAndroid Build Coastguard Worker and 1691*b6fb3261SAndroid Build Coastguard Worker [CVE-2021-22926](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22926). 1692*b6fb3261SAndroid Build Coastguard Worker 1693*b6fb3261SAndroid Build Coastguard Worker# Release 2.6.0 1694*b6fb3261SAndroid Build Coastguard Worker 1695*b6fb3261SAndroid Build Coastguard Worker## Breaking Changes 1696*b6fb3261SAndroid Build Coastguard Worker 1697*b6fb3261SAndroid Build Coastguard Worker* `tf.train.experimental.enable_mixed_precision_graph_rewrite` is removed, as 1698*b6fb3261SAndroid Build Coastguard Worker the API only works in graph mode and is not customizable. The function is 1699*b6fb3261SAndroid Build Coastguard Worker still accessible under 1700*b6fb3261SAndroid Build Coastguard Worker `tf.compat.v1.mixed_precision.enable_mixed_precision_graph_rewrite`, but it 1701*b6fb3261SAndroid Build Coastguard Worker is recommended to use the 1702*b6fb3261SAndroid Build Coastguard Worker [Keras mixed precision API](https://www.tensorflow.org/guide/mixed_precision) 1703*b6fb3261SAndroid Build Coastguard Worker instead. 1704*b6fb3261SAndroid Build Coastguard Worker 1705*b6fb3261SAndroid Build Coastguard Worker* `tf.lite`: 1706*b6fb3261SAndroid Build Coastguard Worker 1707*b6fb3261SAndroid Build Coastguard Worker * Remove `experimental.nn.dynamic_rnn`, `experimental.nn.TfLiteRNNCell` 1708*b6fb3261SAndroid Build Coastguard Worker and `experimental.nn.TfLiteLSTMCell` since they're no longer supported. 1709*b6fb3261SAndroid Build Coastguard Worker It's recommended to just use 1710*b6fb3261SAndroid Build Coastguard Worker [keras lstm](https://www.tensorflow.org/api_docs/python/tf/keras/layers/LSTM) 1711*b6fb3261SAndroid Build Coastguard Worker instead. 1712*b6fb3261SAndroid Build Coastguard Worker 1713*b6fb3261SAndroid Build Coastguard Worker* `tf.keras`: 1714*b6fb3261SAndroid Build Coastguard Worker 1715*b6fb3261SAndroid Build Coastguard Worker * Keras been split into a separate PIP package (`keras`), and its code has 1716*b6fb3261SAndroid Build Coastguard Worker been moved to the GitHub 1717*b6fb3261SAndroid Build Coastguard Worker repository[keras-team/keras](http://github.com/keras-team/keras). The 1718*b6fb3261SAndroid Build Coastguard Worker API endpoints for `tf.keras` stay unchanged, but are now backed by the 1719*b6fb3261SAndroid Build Coastguard Worker `keras` PIP package. The existing code in tensorflow/python/keras is a 1720*b6fb3261SAndroid Build Coastguard Worker staled copy and will be removed in future release (2.7). Please remove 1721*b6fb3261SAndroid Build Coastguard Worker any imports to `tensorflow.python.keras` and replace them with public 1722*b6fb3261SAndroid Build Coastguard Worker tf.keras API instead. 1723*b6fb3261SAndroid Build Coastguard Worker * The methods `Model.to_yaml()` and `keras.models.model_from_yaml` have 1724*b6fb3261SAndroid Build Coastguard Worker been replaced to raise a `RuntimeError` as they can be abused to cause 1725*b6fb3261SAndroid Build Coastguard Worker arbitrary code execution. It is recommended to use JSON serialization 1726*b6fb3261SAndroid Build Coastguard Worker instead of YAML, or, a better alternative, serialize to H5. 1727*b6fb3261SAndroid Build Coastguard Worker 1728*b6fb3261SAndroid Build Coastguard Worker## Known Caveats 1729*b6fb3261SAndroid Build Coastguard Worker 1730*b6fb3261SAndroid Build Coastguard Worker* TF Core: 1731*b6fb3261SAndroid Build Coastguard Worker * A longstanding bug in `tf.while_loop`, which caused it to execute 1732*b6fb3261SAndroid Build Coastguard Worker sequentially, even when `parallel_iterations>1`, has now been fixed. 1733*b6fb3261SAndroid Build Coastguard Worker However, the increased parallelism may result in increased memory use. 1734*b6fb3261SAndroid Build Coastguard Worker Users who experience unwanted regressions should reset their 1735*b6fb3261SAndroid Build Coastguard Worker `while_loop`'s `parallel_iterations` value to 1, which is consistent 1736*b6fb3261SAndroid Build Coastguard Worker with prior behavior. 1737*b6fb3261SAndroid Build Coastguard Worker 1738*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements 1739*b6fb3261SAndroid Build Coastguard Worker 1740*b6fb3261SAndroid Build Coastguard Worker* `tf.keras`: 1741*b6fb3261SAndroid Build Coastguard Worker 1742*b6fb3261SAndroid Build Coastguard Worker * Keras has been split into a separate PIP package (`keras`), and its code 1743*b6fb3261SAndroid Build Coastguard Worker has been moved to the GitHub repository 1744*b6fb3261SAndroid Build Coastguard Worker [keras-team/keras](http://github.com/keras-team/keras). The API 1745*b6fb3261SAndroid Build Coastguard Worker endpoints for `tf.keras` stay unchanged, but are now backed by the 1746*b6fb3261SAndroid Build Coastguard Worker `keras` PIP package. All Keras-related PRs and issues should now be 1747*b6fb3261SAndroid Build Coastguard Worker directed to the GitHub repository. 1748*b6fb3261SAndroid Build Coastguard Worker [keras-team/keras](http://github.com/keras-team/keras). 1749*b6fb3261SAndroid Build Coastguard Worker * `tf.keras.utils.experimental.DatasetCreator` now takes an optional 1750*b6fb3261SAndroid Build Coastguard Worker `tf.distribute.InputOptions` for specific options when used with 1751*b6fb3261SAndroid Build Coastguard Worker distribution. 1752*b6fb3261SAndroid Build Coastguard Worker * `tf.keras.experimental.SidecarEvaluator` is now available for a program 1753*b6fb3261SAndroid Build Coastguard Worker intended to be run on an evaluator task, which is commonly used to 1754*b6fb3261SAndroid Build Coastguard Worker supplement a training cluster running with 1755*b6fb3261SAndroid Build Coastguard Worker `tf.distribute.experimental.ParameterServerStrategy` (see 1756*b6fb3261SAndroid Build Coastguard Worker `https://www.tensorflow.org/tutorials/distribute/parameter_server_training). 1757*b6fb3261SAndroid Build Coastguard Worker It can also be used with single-worker training or other strategies. See 1758*b6fb3261SAndroid Build Coastguard Worker docstring for more info. 1759*b6fb3261SAndroid Build Coastguard Worker * Preprocessing layers moved from experimental to core. 1760*b6fb3261SAndroid Build Coastguard Worker * Import paths moved from `tf.keras.layers.preprocessing.experimental` 1761*b6fb3261SAndroid Build Coastguard Worker to `tf.keras.layers`. 1762*b6fb3261SAndroid Build Coastguard Worker * Updates to Preprocessing layers API for consistency and clarity: 1763*b6fb3261SAndroid Build Coastguard Worker * `StringLookup` and `IntegerLookup` default for `mask_token` changed 1764*b6fb3261SAndroid Build Coastguard Worker to `None`. This matches the default masking behavior of `Hashing` 1765*b6fb3261SAndroid Build Coastguard Worker and `Embedding` layers. To keep existing behavior, pass 1766*b6fb3261SAndroid Build Coastguard Worker `mask_token=""` during layer creation. 1767*b6fb3261SAndroid Build Coastguard Worker * Renamed `"binary"` output mode to `"multi_hot"` for 1768*b6fb3261SAndroid Build Coastguard Worker `CategoryEncoding`, `StringLookup`, `IntegerLookup`, and 1769*b6fb3261SAndroid Build Coastguard Worker `TextVectorization`. Multi-hot encoding will no longer automatically 1770*b6fb3261SAndroid Build Coastguard Worker uprank rank 1 inputs, so these layers can now multi-hot encode 1771*b6fb3261SAndroid Build Coastguard Worker unbatched multi-dimensional samples. 1772*b6fb3261SAndroid Build Coastguard Worker * Added a new output mode `"one_hot"` for `CategoryEncoding`, 1773*b6fb3261SAndroid Build Coastguard Worker `StringLookup`, `IntegerLookup`, which will encode each element in 1774*b6fb3261SAndroid Build Coastguard Worker an input batch individually, and automatically append a new output 1775*b6fb3261SAndroid Build Coastguard Worker dimension if necessary. Use this mode on rank 1 inputs for the old 1776*b6fb3261SAndroid Build Coastguard Worker `"binary"` behavior of one-hot encoding a batch of scalars. 1777*b6fb3261SAndroid Build Coastguard Worker * `Normalization` will no longer automatically uprank rank 1 inputs, 1778*b6fb3261SAndroid Build Coastguard Worker allowing normalization of unbatched multi-dimensional samples. 1779*b6fb3261SAndroid Build Coastguard Worker 1780*b6fb3261SAndroid Build Coastguard Worker* `tf.lite`: 1781*b6fb3261SAndroid Build Coastguard Worker 1782*b6fb3261SAndroid Build Coastguard Worker * The recommended Android NDK version for building TensorFlow Lite has 1783*b6fb3261SAndroid Build Coastguard Worker been changed from r18b to r19c. 1784*b6fb3261SAndroid Build Coastguard Worker * Supports int64 for mul. 1785*b6fb3261SAndroid Build Coastguard Worker * Supports native variable builtin ops - ReadVariable, AssignVariable. 1786*b6fb3261SAndroid Build Coastguard Worker * Converter: 1787*b6fb3261SAndroid Build Coastguard Worker * Experimental support for variables in TFLite. To enable through 1788*b6fb3261SAndroid Build Coastguard Worker conversion, users need to set 1789*b6fb3261SAndroid Build Coastguard Worker `experimental_enable_resource_variables` on tf.lite.TFLiteConverter 1790*b6fb3261SAndroid Build Coastguard Worker to True. Note: mutable variables is only available using 1791*b6fb3261SAndroid Build Coastguard Worker `from_saved_model` in this release, support for other methods is 1792*b6fb3261SAndroid Build Coastguard Worker coming soon. 1793*b6fb3261SAndroid Build Coastguard Worker * Old Converter (TOCO) is getting removed from next release. It's been 1794*b6fb3261SAndroid Build Coastguard Worker deprecated for few releases already. 1795*b6fb3261SAndroid Build Coastguard Worker 1796*b6fb3261SAndroid Build Coastguard Worker* `tf.saved_model`: 1797*b6fb3261SAndroid Build Coastguard Worker 1798*b6fb3261SAndroid Build Coastguard Worker * SavedModels can now save custom gradients. Use the option 1799*b6fb3261SAndroid Build Coastguard Worker `tf.saved_model.SaveOption(experimental_custom_gradients=True)` to 1800*b6fb3261SAndroid Build Coastguard Worker enable this feature. The documentation in 1801*b6fb3261SAndroid Build Coastguard Worker [Advanced autodiff](https://www.tensorflow.org/guide/advanced_autodiff#custom_gradients) 1802*b6fb3261SAndroid Build Coastguard Worker has been updated. 1803*b6fb3261SAndroid Build Coastguard Worker * Object metadata has now been deprecated and no longer saved to the 1804*b6fb3261SAndroid Build Coastguard Worker SavedModel. 1805*b6fb3261SAndroid Build Coastguard Worker 1806*b6fb3261SAndroid Build Coastguard Worker* TF Core: 1807*b6fb3261SAndroid Build Coastguard Worker 1808*b6fb3261SAndroid Build Coastguard Worker * Added `tf.config.experimental.reset_memory_stats` to reset the tracked 1809*b6fb3261SAndroid Build Coastguard Worker peak memory returned by `tf.config.experimental.get_memory_info`. 1810*b6fb3261SAndroid Build Coastguard Worker 1811*b6fb3261SAndroid Build Coastguard Worker* `tf.data`: 1812*b6fb3261SAndroid Build Coastguard Worker 1813*b6fb3261SAndroid Build Coastguard Worker * Added `target_workers` param to `data_service_ops.from_dataset_id` and 1814*b6fb3261SAndroid Build Coastguard Worker `data_service_ops.distribute`. Users can specify `"AUTO"`, `"ANY"`, or 1815*b6fb3261SAndroid Build Coastguard Worker `"LOCAL"` (case insensitive). If `"AUTO"`, tf.data service runtime 1816*b6fb3261SAndroid Build Coastguard Worker decides which workers to read from. If `"ANY"`, TF workers read from any 1817*b6fb3261SAndroid Build Coastguard Worker tf.data service workers. If `"LOCAL"`, TF workers will only read from 1818*b6fb3261SAndroid Build Coastguard Worker local in-processs tf.data service workers. `"AUTO"` works well for most 1819*b6fb3261SAndroid Build Coastguard Worker cases, while users can specify other targets. For example, `"LOCAL"` 1820*b6fb3261SAndroid Build Coastguard Worker would help avoid RPCs and data copy if every TF worker colocates with a 1821*b6fb3261SAndroid Build Coastguard Worker tf.data service worker. Currently, `"AUTO"` reads from any tf.data 1822*b6fb3261SAndroid Build Coastguard Worker service workers to preserve existing behavior. The default value is 1823*b6fb3261SAndroid Build Coastguard Worker `"AUTO"`. 1824*b6fb3261SAndroid Build Coastguard Worker 1825*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 1826*b6fb3261SAndroid Build Coastguard Worker 1827*b6fb3261SAndroid Build Coastguard Worker* TF Core: 1828*b6fb3261SAndroid Build Coastguard Worker * Added `tf.lookup.experimental.MutableHashTable`, which provides a 1829*b6fb3261SAndroid Build Coastguard Worker generic mutable hash table implementation. 1830*b6fb3261SAndroid Build Coastguard Worker * Compared to `tf.lookup.experimental.DenseHashTable` this offers 1831*b6fb3261SAndroid Build Coastguard Worker lower overall memory usage, and a cleaner API. It does not require 1832*b6fb3261SAndroid Build Coastguard Worker specifying a `delete_key` and `empty_key` that cannot be inserted 1833*b6fb3261SAndroid Build Coastguard Worker into the table. 1834*b6fb3261SAndroid Build Coastguard Worker * Added support for specifying number of subdivisions in all reduce host 1835*b6fb3261SAndroid Build Coastguard Worker collective. This parallelizes work on CPU and speeds up the collective 1836*b6fb3261SAndroid Build Coastguard Worker performance. Default behavior is unchanged. 1837*b6fb3261SAndroid Build Coastguard Worker * Add an option `perturb_singular` to `tf.linalg.tridiagonal_solve` that 1838*b6fb3261SAndroid Build Coastguard Worker allows solving linear systems with a numerically singular tridiagonal 1839*b6fb3261SAndroid Build Coastguard Worker matrix, e.g. for use in inverse iteration. 1840*b6fb3261SAndroid Build Coastguard Worker * Added `tf.linalg.eigh_tridiagonal` that computes the eigenvalues of a 1841*b6fb3261SAndroid Build Coastguard Worker Hermitian tridiagonal matrix. 1842*b6fb3261SAndroid Build Coastguard Worker * `tf.constant` now places its output on the current default device. 1843*b6fb3261SAndroid Build Coastguard Worker * SavedModel 1844*b6fb3261SAndroid Build Coastguard Worker * Added `tf.saved_model.experimental.TrackableResource`, which allows 1845*b6fb3261SAndroid Build Coastguard Worker the creation of custom wrapper objects for resource tensors. 1846*b6fb3261SAndroid Build Coastguard Worker * Added a SavedModel load option to allow restoring partial 1847*b6fb3261SAndroid Build Coastguard Worker checkpoints into the SavedModel. See 1848*b6fb3261SAndroid Build Coastguard Worker [`tf.saved_model.LoadOptions`](https://www.tensorflow.org/api_docs/python/tf/saved_model/LoadOptions) 1849*b6fb3261SAndroid Build Coastguard Worker for details. 1850*b6fb3261SAndroid Build Coastguard Worker * Added a new op `SparseSegmentSumGrad` to match the other sparse segment 1851*b6fb3261SAndroid Build Coastguard Worker gradient ops and avoid an extra gather operation that was in the 1852*b6fb3261SAndroid Build Coastguard Worker previous gradient implementation. 1853*b6fb3261SAndroid Build Coastguard Worker * Added a new session config setting `internal_fragmentation_fraction`, 1854*b6fb3261SAndroid Build Coastguard Worker which controls when the BFC Allocator needs to split an oversized chunk 1855*b6fb3261SAndroid Build Coastguard Worker to satisfy an allocation request. 1856*b6fb3261SAndroid Build Coastguard Worker * Added `tf.get_current_name_scope()` which returns the current full name 1857*b6fb3261SAndroid Build Coastguard Worker scope string that will be prepended to op names. 1858*b6fb3261SAndroid Build Coastguard Worker* `tf.data`: 1859*b6fb3261SAndroid Build Coastguard Worker * Promoting `tf.data.experimental.bucket_by_sequence_length` API to 1860*b6fb3261SAndroid Build Coastguard Worker `tf.data.Dataset.bucket_by_sequence_length` and deprecating the 1861*b6fb3261SAndroid Build Coastguard Worker experimental endpoint. 1862*b6fb3261SAndroid Build Coastguard Worker * Promoting `tf.data.experimental.get_single_element` API to 1863*b6fb3261SAndroid Build Coastguard Worker `tf.data.Dataset.get_single_element` and deprecating the experimental 1864*b6fb3261SAndroid Build Coastguard Worker endpoint. 1865*b6fb3261SAndroid Build Coastguard Worker * Promoting `tf.data.experimental.group_by_window` API to 1866*b6fb3261SAndroid Build Coastguard Worker `tf.data.Dataset.group_by_window` and deprecating the experimental 1867*b6fb3261SAndroid Build Coastguard Worker endpoint. 1868*b6fb3261SAndroid Build Coastguard Worker * Promoting `tf.data.experimental.RandomDataset` API to 1869*b6fb3261SAndroid Build Coastguard Worker `tf.data.Dataset.random` and deprecating the experimental endpoint. 1870*b6fb3261SAndroid Build Coastguard Worker * Promoting `tf.data.experimental.scan` API to `tf.data.Dataset.scan` and 1871*b6fb3261SAndroid Build Coastguard Worker deprecating the experimental endpoint. 1872*b6fb3261SAndroid Build Coastguard Worker * Promoting `tf.data.experimental.snapshot` API to 1873*b6fb3261SAndroid Build Coastguard Worker `tf.data.Dataset.shapshot` and deprecating the experimental endpoint. 1874*b6fb3261SAndroid Build Coastguard Worker * Promoting `tf.data.experimental.take_while` API to 1875*b6fb3261SAndroid Build Coastguard Worker `tf.data.Dataset.take_while` and deprecating the experimental endpoint. 1876*b6fb3261SAndroid Build Coastguard Worker * Promoting `tf.data.experimental.ThreadingOptions` API to 1877*b6fb3261SAndroid Build Coastguard Worker `tf.data.ThreadingOptions` and deprecating the experimental endpoint. 1878*b6fb3261SAndroid Build Coastguard Worker * Promoting `tf.data.experimental.unique` API to `tf.data.Dataset.unique` 1879*b6fb3261SAndroid Build Coastguard Worker and deprecating the experimental endpoint. 1880*b6fb3261SAndroid Build Coastguard Worker * Added `stop_on_empty_dataset` parameter to `sample_from_datasets` and 1881*b6fb3261SAndroid Build Coastguard Worker `choose_from_datasets`. Setting `stop_on_empty_dataset=True` will stop 1882*b6fb3261SAndroid Build Coastguard Worker sampling if it encounters an empty dataset. This preserves the sampling 1883*b6fb3261SAndroid Build Coastguard Worker ratio throughout training. The prior behavior was to continue sampling, 1884*b6fb3261SAndroid Build Coastguard Worker skipping over exhausted datasets, until all datasets are exhausted. By 1885*b6fb3261SAndroid Build Coastguard Worker default, the original behavior (`stop_on_empty_dataset=False`) is 1886*b6fb3261SAndroid Build Coastguard Worker preserved. 1887*b6fb3261SAndroid Build Coastguard Worker * Removed previously deprecated tf.data statistics related APIs: 1888*b6fb3261SAndroid Build Coastguard Worker * `tf.data.Options.experimental_stats` 1889*b6fb3261SAndroid Build Coastguard Worker * `tf.data.experimental.StatsAggregator` 1890*b6fb3261SAndroid Build Coastguard Worker * `tf.data.experimental.StatsOptions.*` 1891*b6fb3261SAndroid Build Coastguard Worker * `tf.data.experimental.bytes_produced_stats` 1892*b6fb3261SAndroid Build Coastguard Worker * `tf.data.experimental.latency_stats` 1893*b6fb3261SAndroid Build Coastguard Worker * Removed the following experimental tf.data optimization APIs: 1894*b6fb3261SAndroid Build Coastguard Worker * `tf.data.experimental.MapVectorizationOptions.*` 1895*b6fb3261SAndroid Build Coastguard Worker * `tf.data.experimental.OptimizationOptions.filter_with_random_uniform_fusion` 1896*b6fb3261SAndroid Build Coastguard Worker * `tf.data.experimental.OptimizationOptions.hoist_random_uniform` 1897*b6fb3261SAndroid Build Coastguard Worker * `tf.data.experimental.OptimizationOptions.map_vectorization` * 1898*b6fb3261SAndroid Build Coastguard Worker `tf.data.experimental.OptimizationOptions.reorder_data_discarding_ops` 1899*b6fb3261SAndroid Build Coastguard Worker* `tf.keras`: 1900*b6fb3261SAndroid Build Coastguard Worker * Fix usage of `__getitem__` slicing in Keras Functional APIs when the 1901*b6fb3261SAndroid Build Coastguard Worker inputs are `RaggedTensor` objects. 1902*b6fb3261SAndroid Build Coastguard Worker * Add `keepdims` argument to all `GlobalPooling` layers. 1903*b6fb3261SAndroid Build Coastguard Worker * Add `include_preprocessing` argument to `MobileNetV3` architectures to 1904*b6fb3261SAndroid Build Coastguard Worker control the inclusion of `Rescaling` layer in the model. 1905*b6fb3261SAndroid Build Coastguard Worker * Add optional argument (`force`) to `make_(train|test|predict)_funtion` 1906*b6fb3261SAndroid Build Coastguard Worker methods to skip the cached function and generate a new one. This is 1907*b6fb3261SAndroid Build Coastguard Worker useful to regenerate in a single call the compiled training function 1908*b6fb3261SAndroid Build Coastguard Worker when any `.trainable` attribute of any model's layer has changed. 1909*b6fb3261SAndroid Build Coastguard Worker * Models now have a `save_spec` property which contains the `TensorSpec` 1910*b6fb3261SAndroid Build Coastguard Worker specs for calling the model. This spec is automatically saved when the 1911*b6fb3261SAndroid Build Coastguard Worker model is called for the first time. 1912*b6fb3261SAndroid Build Coastguard Worker* `tf.linalg`: 1913*b6fb3261SAndroid Build Coastguard Worker * Add `CompositeTensor` as a base class to `LinearOperator`. 1914*b6fb3261SAndroid Build Coastguard Worker* `tf.lite`: 1915*b6fb3261SAndroid Build Coastguard Worker * Fix mean op reference quantization rounding issue. 1916*b6fb3261SAndroid Build Coastguard Worker * Added `framework_stable` BUILD target, which links in only the 1917*b6fb3261SAndroid Build Coastguard Worker non-experimental TF Lite APIs. 1918*b6fb3261SAndroid Build Coastguard Worker * Remove deprecated Java `Interpreter` methods: 1919*b6fb3261SAndroid Build Coastguard Worker * `modifyGraphWithDelegate` - Use `Interpreter.Options.addDelegate` 1920*b6fb3261SAndroid Build Coastguard Worker * `setNumThreads` - Use `Interpreter.Options.setNumThreads` 1921*b6fb3261SAndroid Build Coastguard Worker * Add Conv3DTranspose as a builtin op. 1922*b6fb3261SAndroid Build Coastguard Worker* `tf.summary`: 1923*b6fb3261SAndroid Build Coastguard Worker * Fix `tf.summary.should_record_summaries()` so it correctly reflects when 1924*b6fb3261SAndroid Build Coastguard Worker summaries will be written, even when `tf.summary.record_if()` is not n 1925*b6fb3261SAndroid Build Coastguard Worker effect, by returning True tensor if default writer is present. 1926*b6fb3261SAndroid Build Coastguard Worker* Grappler: 1927*b6fb3261SAndroid Build Coastguard Worker * Disable default Grappler optimization timeout to make the optimization 1928*b6fb3261SAndroid Build Coastguard Worker pipeline deterministic. This may lead to increased model loading time, 1929*b6fb3261SAndroid Build Coastguard Worker because time spent in graph optimizations is now unbounded (was 20 1930*b6fb3261SAndroid Build Coastguard Worker minutes). 1931*b6fb3261SAndroid Build Coastguard Worker* Deterministic Op Functionality (enabled by setting `TF_DETERMINISTIC_OPS` to 1932*b6fb3261SAndroid Build Coastguard Worker `"true"` or `"1"`): 1933*b6fb3261SAndroid Build Coastguard Worker * Add a deterministic GPU implementation of 1934*b6fb3261SAndroid Build Coastguard Worker `tf.nn.softmax_cross_entropy_with_logits`. See PR 1935*b6fb3261SAndroid Build Coastguard Worker [49178](https://github.com/tensorflow/tensorflow/pull/49178). 1936*b6fb3261SAndroid Build Coastguard Worker * Add a deterministic CPU implementation of `tf.image.crop_and_resize`. 1937*b6fb3261SAndroid Build Coastguard Worker See PR [48905](https://github.com/tensorflow/tensorflow/pull/48905). 1938*b6fb3261SAndroid Build Coastguard Worker * Add determinism-unimplemented exception-throwing to the following ops. 1939*b6fb3261SAndroid Build Coastguard Worker When op-determinism is expected, an attempt to use the specified paths 1940*b6fb3261SAndroid Build Coastguard Worker through the following ops on a GPU will cause 1941*b6fb3261SAndroid Build Coastguard Worker `tf.errors.UnimplementedError` (with an understandable message) to be 1942*b6fb3261SAndroid Build Coastguard Worker thrown. 1943*b6fb3261SAndroid Build Coastguard Worker * `tf.nn.sparse_softmax_cross_entropy_with_logits` forwards and/or 1944*b6fb3261SAndroid Build Coastguard Worker backwards. See PR 1945*b6fb3261SAndroid Build Coastguard Worker [47925](https://github.com/tensorflow/tensorflow/pull/47925). 1946*b6fb3261SAndroid Build Coastguard Worker * `tf.image.crop_and_resize` gradient w.r.t. either `image` or 1947*b6fb3261SAndroid Build Coastguard Worker `boxes`. See PR 1948*b6fb3261SAndroid Build Coastguard Worker [48905](https://github.com/tensorflow/tensorflow/pull/48905). 1949*b6fb3261SAndroid Build Coastguard Worker * `tf.sparse.sparse_dense_matmul` forwards. See PR 1950*b6fb3261SAndroid Build Coastguard Worker [50355](https://github.com/tensorflow/tensorflow/pull/50355). 1951*b6fb3261SAndroid Build Coastguard Worker 1952*b6fb3261SAndroid Build Coastguard Worker## Security 1953*b6fb3261SAndroid Build Coastguard Worker 1954*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap out of bounds access in sparse reduction operations 1955*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37635](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37635)) 1956*b6fb3261SAndroid Build Coastguard Worker* Fixes a floating point exception in `SparseDenseCwiseDiv` 1957*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37636](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37636)) 1958*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference in `CompressElement` 1959*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37637](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37637)) 1960*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference in `RaggedTensorToTensor` 1961*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37638](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37638)) 1962*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference and a heap OOB read arising from operations 1963*b6fb3261SAndroid Build Coastguard Worker restoring tensors 1964*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37639](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37639)) 1965*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer division by 0 in sparse reshaping 1966*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37640](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37640)) 1967*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `ResourceScatterDiv` 1968*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37642](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37642)) 1969*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in `RaggedGather` 1970*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37641](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37641)) 1971*b6fb3261SAndroid Build Coastguard Worker* Fixes a `std::abort` raised from `TensorListReserve` 1972*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37644](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37644)) 1973*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference in `MatrixDiagPartOp` 1974*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37643](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37643)) 1975*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer overflow due to conversion to unsigned 1976*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37645](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37645)) 1977*b6fb3261SAndroid Build Coastguard Worker* Fixes a bad allocation error in `StringNGrams` caused by integer conversion 1978*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37646](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37646)) 1979*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference in `SparseTensorSliceDataset` 1980*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37647](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37647)) 1981*b6fb3261SAndroid Build Coastguard Worker* Fixes an incorrect validation of `SaveV2` inputs 1982*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37648](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37648)) 1983*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference in `UncompressElement` 1984*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37649](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37649)) 1985*b6fb3261SAndroid Build Coastguard Worker* Fixes a segfault and a heap buffer overflow in 1986*b6fb3261SAndroid Build Coastguard Worker `{Experimental,}DatasetToTFRecord` 1987*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37650](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37650)) 1988*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `FractionalAvgPoolGrad` 1989*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37651](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37651)) 1990*b6fb3261SAndroid Build Coastguard Worker* Fixes a use after free in boosted trees creation 1991*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37652](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37652)) 1992*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `ResourceGather` 1993*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37653](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37653)) 1994*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB and a `CHECK` fail in `ResourceGather` 1995*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37654](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37654)) 1996*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in `ResourceScatterUpdate` 1997*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37655](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37655)) 1998*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior arising from reference binding to nullptr in 1999*b6fb3261SAndroid Build Coastguard Worker `RaggedTensorToSparse` 2000*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37656](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37656)) 2001*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior arising from reference binding to nullptr in 2002*b6fb3261SAndroid Build Coastguard Worker `MatrixDiagV*` ops 2003*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37657](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37657)) 2004*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior arising from reference binding to nullptr in 2005*b6fb3261SAndroid Build Coastguard Worker `MatrixSetDiagV*` ops 2006*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37658](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37658)) 2007*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior arising from reference binding to nullptr and 2008*b6fb3261SAndroid Build Coastguard Worker heap OOB in binary cwise ops 2009*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37659](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37659)) 2010*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in inplace operations 2011*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37660](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37660)) 2012*b6fb3261SAndroid Build Coastguard Worker* Fixes a crash caused by integer conversion to unsigned 2013*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37661](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37661)) 2014*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior arising from reference binding to nullptr in 2015*b6fb3261SAndroid Build Coastguard Worker boosted trees 2016*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37662](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37662)) 2017*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in boosted trees 2018*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37664](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37664)) 2019*b6fb3261SAndroid Build Coastguard Worker* Fixes vulnerabilities arising from incomplete validation in `QuantizeV2` 2020*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37663](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37663)) 2021*b6fb3261SAndroid Build Coastguard Worker* Fixes vulnerabilities arising from incomplete validation in MKL 2022*b6fb3261SAndroid Build Coastguard Worker requantization 2023*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37665](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37665)) 2024*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior arising from reference binding to nullptr in 2025*b6fb3261SAndroid Build Coastguard Worker `RaggedTensorToVariant` 2026*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37666](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37666)) 2027*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior arising from reference binding to nullptr in 2028*b6fb3261SAndroid Build Coastguard Worker unicode encoding 2029*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37667](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37667)) 2030*b6fb3261SAndroid Build Coastguard Worker* Fixes an FPE in `tf.raw_ops.UnravelIndex` 2031*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37668](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37668)) 2032*b6fb3261SAndroid Build Coastguard Worker* Fixes a crash in NMS ops caused by integer conversion to unsigned 2033*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37669](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37669)) 2034*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in `UpperBound` and `LowerBound` 2035*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37670](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37670)) 2036*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior arising from reference binding to nullptr in map 2037*b6fb3261SAndroid Build Coastguard Worker operations 2038*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37671](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37671)) 2039*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in `SdcaOptimizerV2` 2040*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37672](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37672)) 2041*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in `MapStage` 2042*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37673](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37673)) 2043*b6fb3261SAndroid Build Coastguard Worker* Fixes a vulnerability arising from incomplete validation in `MaxPoolGrad` 2044*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37674](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37674)) 2045*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior arising from reference binding to nullptr in 2046*b6fb3261SAndroid Build Coastguard Worker shape inference 2047*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37676](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37676)) 2048*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in most convolution operators 2049*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37675](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37675)) 2050*b6fb3261SAndroid Build Coastguard Worker* Fixes vulnerabilities arising from missing validation in shape inference for 2051*b6fb3261SAndroid Build Coastguard Worker `Dequantize` 2052*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37677](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37677)) 2053*b6fb3261SAndroid Build Coastguard Worker* Fixes an arbitrary code execution due to YAML deserialization 2054*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37678](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37678)) 2055*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in nested `tf.map_fn` with `RaggedTensor`s 2056*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37679](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37679)) 2057*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite 2058*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37680](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37680)) 2059*b6fb3261SAndroid Build Coastguard Worker* Fixes an NPE in TFLite 2060*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37681](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37681)) 2061*b6fb3261SAndroid Build Coastguard Worker* Fixes a vulnerability arising from use of unitialized value in TFLite 2062*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37682](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37682)) 2063*b6fb3261SAndroid Build Coastguard Worker* Fixes an FPE in TFLite division operations 2064*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37683](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37683)) 2065*b6fb3261SAndroid Build Coastguard Worker* Fixes an FPE in TFLite pooling operations 2066*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37684](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37684)) 2067*b6fb3261SAndroid Build Coastguard Worker* Fixes an infinite loop in TFLite 2068*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37686](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37686)) 2069*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in TFLite 2070*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37685](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37685)) 2071*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in TFLite's `Gather*` implementations 2072*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37687](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37687)) 2073*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior arising from null pointer dereference in TFLite 2074*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37688](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37688)) 2075*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior arising from null pointer dereference in TFLite 2076*b6fb3261SAndroid Build Coastguard Worker MLIR optimizations 2077*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37689](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37689)) 2078*b6fb3261SAndroid Build Coastguard Worker* Fixes a FPE in LSH in TFLite 2079*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37691](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37691)) 2080*b6fb3261SAndroid Build Coastguard Worker* Fixes a segfault on strings tensors with mismatched dimensions, arising in 2081*b6fb3261SAndroid Build Coastguard Worker Go code 2082*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37692](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37692)) 2083*b6fb3261SAndroid Build Coastguard Worker* Fixes a use after free and a potential segfault in shape inference functions 2084*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37690](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37690)) 2085*b6fb3261SAndroid Build Coastguard Worker* Updates `curl` to `7.77.0` to handle 2086*b6fb3261SAndroid Build Coastguard Worker [CVE-2021-22876](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22876), 2087*b6fb3261SAndroid Build Coastguard Worker [CVE-2021-22897](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22897), 2088*b6fb3261SAndroid Build Coastguard Worker [CVE-2021-22898](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22898), 2089*b6fb3261SAndroid Build Coastguard Worker and 2090*b6fb3261SAndroid Build Coastguard Worker [CVE-2021-22901](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22901). 2091*b6fb3261SAndroid Build Coastguard Worker 2092*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors 2093*b6fb3261SAndroid Build Coastguard Worker 2094*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as: 2095*b6fb3261SAndroid Build Coastguard Worker 2096*b6fb3261SAndroid Build Coastguard WorkerAadhitya A, Abhilash Mahendrakar, Abhishek Varma, Abin Shahab, Adam Hillier, 2097*b6fb3261SAndroid Build Coastguard WorkerAditya Kane, AdityaKane2001, ag.ramesh, Amogh Joshi, Armen Poghosov, 2098*b6fb3261SAndroid Build Coastguard Workerarmkevincheng, Avrosh K, Ayan Moitra, azazhu, Banikumar Maiti, Bas Aarts, bhack, 2099*b6fb3261SAndroid Build Coastguard WorkerBhanu Prakash Bandaru Venkata, Billy Cao, Bohumir Zamecnik, Bradley Reece, 2100*b6fb3261SAndroid Build Coastguard WorkerCyanXu, Daniel Situnayake, David Pal, Ddavis-2015, DEKHTIARJonathan, Deven 2101*b6fb3261SAndroid Build Coastguard WorkerDesai, Duncan Riach, Edward, Eli Osherovich, Eugene Kuznetsov, europeanplaice, 2102*b6fb3261SAndroid Build Coastguard Workerevelynmitchell, Evgeniy Polyakov, Felix Vollmer, Florentin Hennecker, François 2103*b6fb3261SAndroid Build Coastguard WorkerChollet, Frederic Bastien, Fredrik Knutsson, Gabriele Macchi, Gaurav Shukla, 2104*b6fb3261SAndroid Build Coastguard WorkerGauri1 Deshpande, geetachavan1, Georgiy Manuilov, H, Hengwen Tong, Henri 2105*b6fb3261SAndroid Build Coastguard WorkerWoodcock, Hiran Sarkar, Ilya Arzhannikov, Janghoo Lee, jdematos, Jens Meder, 2106*b6fb3261SAndroid Build Coastguard WorkerJerry Shih, jgehw, Jim Fisher, Jingbei Li, Jiri Podivin, Joachim Gehweiler, 2107*b6fb3261SAndroid Build Coastguard WorkerJohannes Lade, Jonas I. Liechti, Jonas Liechti, Jonas Ohlsson, Jonathan 2108*b6fb3261SAndroid Build Coastguard WorkerDekhtiar, Julian Gross, Kaixi Hou, Kevin Cheng, Koan-Sin Tan, Kulin Seth, 2109*b6fb3261SAndroid Build Coastguard Workerlinzewen, Liubov Batanina, luisleee, Lukas Geiger, Mahmoud Abuzaina, mathgaming, 2110*b6fb3261SAndroid Build Coastguard WorkerMatt Conley, Max H. Gerlach, mdfaijul, Mh Kwon, Michael Martis, Michal 2111*b6fb3261SAndroid Build Coastguard WorkerSzutenberg, Måns Nilsson, nammbash, Neil Girdhar, Nicholas Vadivelu, Nick 2112*b6fb3261SAndroid Build Coastguard WorkerKreeger, Nirjas Jakilim, okyanusoz, Patrice Vignola, Patrik Laurell, Pedro 2113*b6fb3261SAndroid Build Coastguard WorkerMarques, Philipp Hack, Phillip Cloud, Piergiacomo De Marchi, Prashant Kumar, 2114*b6fb3261SAndroid Build Coastguard Workerpuneeshkhanna, pvarouktsis, QQ喵, Rajeshwar Reddy T, Rama Ketineni, Reza Rahimi, 2115*b6fb3261SAndroid Build Coastguard WorkerRobert Kalmar, rsun, Ryan Kuester, Saduf2019, Sean Morgan, Sean Moriarity, 2116*b6fb3261SAndroid Build Coastguard WorkerShaochen Shi, Sheng, Yang, Shu Wang, Shuai Zhang, Soojeong, Stanley-Nod, Steven 2117*b6fb3261SAndroid Build Coastguard WorkerI Reeves, stevenireeves, Suraj Sudhir, Sven Mayer, Tamas Bela Feher, 2118*b6fb3261SAndroid Build Coastguard Workertashuang.zk, tcervi, Teng Lu, Thales Elero Cervi, Thibaut Goetghebuer-Planchon, 2119*b6fb3261SAndroid Build Coastguard WorkerThomas Walther, Till Brychcy, Trent Lo, Uday Bondhugula, vishakha.agrawal, 2120*b6fb3261SAndroid Build Coastguard WorkerVishnuvardhan Janapati, wamuir, Wenwen Ouyang, wenwu, Williard Joshua Jose, 2121*b6fb3261SAndroid Build Coastguard Workerxiaohong1031, Xiaoming (Jason) Cui, Xinan Jiang, Yasir Modak, Yi Li, Yong Tang, 2122*b6fb3261SAndroid Build Coastguard Workerzilinzhu, 박상준, 이장 2123*b6fb3261SAndroid Build Coastguard Worker 2124*b6fb3261SAndroid Build Coastguard Worker# Release 2.5.2 2125*b6fb3261SAndroid Build Coastguard Worker 2126*b6fb3261SAndroid Build Coastguard WorkerThis release introduces several vulnerability fixes: 2127*b6fb3261SAndroid Build Coastguard Worker 2128*b6fb3261SAndroid Build Coastguard Worker* Fixes a code injection issue in `saved_model_cli` 2129*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41228](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41228)) 2130*b6fb3261SAndroid Build Coastguard Worker* Fixes a vulnerability due to use of uninitialized value in Tensorflow 2131*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41225](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41225)) 2132*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in `FusedBatchNorm` kernels 2133*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41223](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41223)) 2134*b6fb3261SAndroid Build Coastguard Worker* Fixes an arbitrary memory read in `ImmutableConst` 2135*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41227](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41227)) 2136*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in `SparseBinCount` 2137*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41226](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41226)) 2138*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in `SparseFillEmptyRows` 2139*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41224](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41224)) 2140*b6fb3261SAndroid Build Coastguard Worker* Fixes a segfault due to negative splits in `SplitV` 2141*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41222](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41222)) 2142*b6fb3261SAndroid Build Coastguard Worker* Fixes segfaults and vulnerabilities caused by accesses to invalid memory 2143*b6fb3261SAndroid Build Coastguard Worker during shape inference in `Cudnn*` ops 2144*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41221](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41221)) 2145*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer exception when `Exit` node is not preceded by `Enter` 2146*b6fb3261SAndroid Build Coastguard Worker op 2147*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41217](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41217)) 2148*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer division by 0 in `tf.raw_ops.AllToAll` 2149*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41218](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41218)) 2150*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior via `nullptr` reference binding in sparse matrix 2151*b6fb3261SAndroid Build Coastguard Worker multiplication 2152*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41219](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41219)) 2153*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `Transpose` 2154*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41216](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41216)) 2155*b6fb3261SAndroid Build Coastguard Worker* Prevents deadlocks arising from mutually recursive `tf.function` objects 2156*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41213](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41213)) 2157*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer exception in `DeserializeSparse` 2158*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41215](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41215)) 2159*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior arising from reference binding to `nullptr` in 2160*b6fb3261SAndroid Build Coastguard Worker `tf.ragged.cross` 2161*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41214](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41214)) 2162*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB read in `tf.ragged.cross` 2163*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41212](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41212)) 2164*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB read in all `tf.raw_ops.QuantizeAndDequantizeV*` ops 2165*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41205](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41205)) 2166*b6fb3261SAndroid Build Coastguard Worker* Fixes an FPE in `ParallelConcat` 2167*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41207](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41207)) 2168*b6fb3261SAndroid Build Coastguard Worker* Fixes FPE issues in convolutions with zero size filters 2169*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41209](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41209)) 2170*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB read in `tf.raw_ops.SparseCountSparseOutput` 2171*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41210](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41210)) 2172*b6fb3261SAndroid Build Coastguard Worker* Fixes vulnerabilities caused by incomplete validation in boosted trees code 2173*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41208](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41208)) 2174*b6fb3261SAndroid Build Coastguard Worker* Fixes vulnerabilities caused by incomplete validation of shapes in multiple 2175*b6fb3261SAndroid Build Coastguard Worker TF ops 2176*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41206](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41206)) 2177*b6fb3261SAndroid Build Coastguard Worker* Fixes a segfault produced while copying constant resource tensor 2178*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41204](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41204)) 2179*b6fb3261SAndroid Build Coastguard Worker* Fixes a vulnerability caused by unitialized access in 2180*b6fb3261SAndroid Build Coastguard Worker `EinsumHelper::ParseEquation` 2181*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41201](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41201)) 2182*b6fb3261SAndroid Build Coastguard Worker* Fixes several vulnerabilities and segfaults caused by missing validation 2183*b6fb3261SAndroid Build Coastguard Worker during checkpoint loading 2184*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41203](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41203)) 2185*b6fb3261SAndroid Build Coastguard Worker* Fixes an overflow producing a crash in `tf.range` 2186*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41202](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41202)) 2187*b6fb3261SAndroid Build Coastguard Worker* Fixes an overflow producing a crash in `tf.image.resize` when size is large 2188*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41199](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41199)) 2189*b6fb3261SAndroid Build Coastguard Worker* Fixes an overflow producing a crash in `tf.tile` when tiling tensor is large 2190*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41198](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41198)) 2191*b6fb3261SAndroid Build Coastguard Worker* Fixes a vulnerability produced due to incomplete validation in 2192*b6fb3261SAndroid Build Coastguard Worker `tf.summary.create_file_writer` 2193*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41200](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41200)) 2194*b6fb3261SAndroid Build Coastguard Worker* Fixes multiple crashes due to overflow and `CHECK`-fail in ops with large 2195*b6fb3261SAndroid Build Coastguard Worker tensor shapes 2196*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41197](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41197)) 2197*b6fb3261SAndroid Build Coastguard Worker* Fixes a crash in `max_pool3d` when size argument is 0 or negative 2198*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41196](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41196)) 2199*b6fb3261SAndroid Build Coastguard Worker* Fixes a crash in `tf.math.segment_*` operations 2200*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41195](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41195)) 2201*b6fb3261SAndroid Build Coastguard Worker* Updates `curl` to `7.78.0` to handle 2202*b6fb3261SAndroid Build Coastguard Worker [CVE-2021-22922](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22922), 2203*b6fb3261SAndroid Build Coastguard Worker [CVE-2021-22923](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22923), 2204*b6fb3261SAndroid Build Coastguard Worker [CVE-2021-22924](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22924), 2205*b6fb3261SAndroid Build Coastguard Worker [CVE-2021-22925](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22925), 2206*b6fb3261SAndroid Build Coastguard Worker and 2207*b6fb3261SAndroid Build Coastguard Worker [CVE-2021-22926](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22926). 2208*b6fb3261SAndroid Build Coastguard Worker 2209*b6fb3261SAndroid Build Coastguard Worker# Release 2.5.1 2210*b6fb3261SAndroid Build Coastguard Worker 2211*b6fb3261SAndroid Build Coastguard WorkerThis release introduces several vulnerability fixes: 2212*b6fb3261SAndroid Build Coastguard Worker 2213*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap out of bounds access in sparse reduction operations 2214*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37635](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37635)) 2215*b6fb3261SAndroid Build Coastguard Worker* Fixes a floating point exception in `SparseDenseCwiseDiv` 2216*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37636](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37636)) 2217*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference in `CompressElement` 2218*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37637](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37637)) 2219*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference in `RaggedTensorToTensor` 2220*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37638](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37638)) 2221*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference and a heap OOB read arising from operations 2222*b6fb3261SAndroid Build Coastguard Worker restoring tensors 2223*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37639](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37639)) 2224*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer division by 0 in sparse reshaping 2225*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37640](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37640)) 2226*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `ResourceScatterDiv` 2227*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37642](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37642)) 2228*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in `RaggedGather` 2229*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37641](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37641)) 2230*b6fb3261SAndroid Build Coastguard Worker* Fixes a `std::abort` raised from `TensorListReserve` 2231*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37644](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37644)) 2232*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference in `MatrixDiagPartOp` 2233*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37643](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37643)) 2234*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer overflow due to conversion to unsigned 2235*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37645](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37645)) 2236*b6fb3261SAndroid Build Coastguard Worker* Fixes a bad allocation error in `StringNGrams` caused by integer conversion 2237*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37646](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37646)) 2238*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference in `SparseTensorSliceDataset` 2239*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37647](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37647)) 2240*b6fb3261SAndroid Build Coastguard Worker* Fixes an incorrect validation of `SaveV2` inputs 2241*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37648](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37648)) 2242*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference in `UncompressElement` 2243*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37649](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37649)) 2244*b6fb3261SAndroid Build Coastguard Worker* Fixes a segfault and a heap buffer overflow in 2245*b6fb3261SAndroid Build Coastguard Worker `{Experimental,}DatasetToTFRecord` 2246*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37650](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37650)) 2247*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `FractionalAvgPoolGrad` 2248*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37651](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37651)) 2249*b6fb3261SAndroid Build Coastguard Worker* Fixes a use after free in boosted trees creation 2250*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37652](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37652)) 2251*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `ResourceGather` 2252*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37653](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37653)) 2253*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB and a `CHECK` fail in `ResourceGather` 2254*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37654](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37654)) 2255*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in `ResourceScatterUpdate` 2256*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37655](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37655)) 2257*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior arising from reference binding to nullptr in 2258*b6fb3261SAndroid Build Coastguard Worker `RaggedTensorToSparse` 2259*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37656](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37656)) 2260*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior arising from reference binding to nullptr in 2261*b6fb3261SAndroid Build Coastguard Worker `MatrixDiagV*` ops 2262*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37657](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37657)) 2263*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior arising from reference binding to nullptr in 2264*b6fb3261SAndroid Build Coastguard Worker `MatrixSetDiagV*` ops 2265*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37658](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37658)) 2266*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior arising from reference binding to nullptr and 2267*b6fb3261SAndroid Build Coastguard Worker heap OOB in binary cwise ops 2268*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37659](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37659)) 2269*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in inplace operations 2270*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37660](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37660)) 2271*b6fb3261SAndroid Build Coastguard Worker* Fixes a crash caused by integer conversion to unsigned 2272*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37661](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37661)) 2273*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior arising from reference binding to nullptr in 2274*b6fb3261SAndroid Build Coastguard Worker boosted trees 2275*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37662](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37662)) 2276*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in boosted trees 2277*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37664](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37664)) 2278*b6fb3261SAndroid Build Coastguard Worker* Fixes vulnerabilities arising from incomplete validation in `QuantizeV2` 2279*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37663](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37663)) 2280*b6fb3261SAndroid Build Coastguard Worker* Fixes vulnerabilities arising from incomplete validation in MKL 2281*b6fb3261SAndroid Build Coastguard Worker requantization 2282*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37665](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37665)) 2283*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior arising from reference binding to nullptr in 2284*b6fb3261SAndroid Build Coastguard Worker `RaggedTensorToVariant` 2285*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37666](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37666)) 2286*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior arising from reference binding to nullptr in 2287*b6fb3261SAndroid Build Coastguard Worker unicode encoding 2288*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37667](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37667)) 2289*b6fb3261SAndroid Build Coastguard Worker* Fixes an FPE in `tf.raw_ops.UnravelIndex` 2290*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37668](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37668)) 2291*b6fb3261SAndroid Build Coastguard Worker* Fixes a crash in NMS ops caused by integer conversion to unsigned 2292*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37669](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37669)) 2293*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in `UpperBound` and `LowerBound` 2294*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37670](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37670)) 2295*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior arising from reference binding to nullptr in map 2296*b6fb3261SAndroid Build Coastguard Worker operations 2297*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37671](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37671)) 2298*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in `SdcaOptimizerV2` 2299*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37672](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37672)) 2300*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in `MapStage` 2301*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37673](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37673)) 2302*b6fb3261SAndroid Build Coastguard Worker* Fixes a vulnerability arising from incomplete validation in `MaxPoolGrad` 2303*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37674](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37674)) 2304*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior arising from reference binding to nullptr in 2305*b6fb3261SAndroid Build Coastguard Worker shape inference 2306*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37676](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37676)) 2307*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in most convolution operators 2308*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37675](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37675)) 2309*b6fb3261SAndroid Build Coastguard Worker* Fixes vulnerabilities arising from missing validation in shape inference for 2310*b6fb3261SAndroid Build Coastguard Worker `Dequantize` 2311*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37677](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37677)) 2312*b6fb3261SAndroid Build Coastguard Worker* Fixes an arbitrary code execution due to YAML deserialization 2313*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37678](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37678)) 2314*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in nested `tf.map_fn` with `RaggedTensor`s 2315*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37679](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37679)) 2316*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite 2317*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37680](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37680)) 2318*b6fb3261SAndroid Build Coastguard Worker* Fixes an NPE in TFLite 2319*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37681](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37681)) 2320*b6fb3261SAndroid Build Coastguard Worker* Fixes a vulnerability arising from use of unitialized value in TFLite 2321*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37682](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37682)) 2322*b6fb3261SAndroid Build Coastguard Worker* Fixes an FPE in TFLite division operations 2323*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37683](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37683)) 2324*b6fb3261SAndroid Build Coastguard Worker* Fixes an FPE in TFLite pooling operations 2325*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37684](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37684)) 2326*b6fb3261SAndroid Build Coastguard Worker* Fixes an infinite loop in TFLite 2327*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37686](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37686)) 2328*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in TFLite 2329*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37685](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37685)) 2330*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in TFLite's `Gather*` implementations 2331*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37687](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37687)) 2332*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior arising from null pointer dereference in TFLite 2333*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37688](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37688)) 2334*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior arising from null pointer dereference in TFLite 2335*b6fb3261SAndroid Build Coastguard Worker MLIR optimizations 2336*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37689](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37689)) 2337*b6fb3261SAndroid Build Coastguard Worker* Fixes a FPE in LSH in TFLite 2338*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37691](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37691)) 2339*b6fb3261SAndroid Build Coastguard Worker* Fixes a segfault on strings tensors with mismatched dimensions, arising in 2340*b6fb3261SAndroid Build Coastguard Worker Go code 2341*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37692](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37692)) 2342*b6fb3261SAndroid Build Coastguard Worker* Fixes a use after free and a potential segfault in shape inference functions 2343*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37690](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37690)) 2344*b6fb3261SAndroid Build Coastguard Worker* Updates `curl` to `7.77.0` to handle 2345*b6fb3261SAndroid Build Coastguard Worker [CVE-2021-22876](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22876), 2346*b6fb3261SAndroid Build Coastguard Worker [CVE-2021-22897](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22897), 2347*b6fb3261SAndroid Build Coastguard Worker [CVE-2021-22898](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22898), 2348*b6fb3261SAndroid Build Coastguard Worker and 2349*b6fb3261SAndroid Build Coastguard Worker [CVE-2021-22901](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22901). 2350*b6fb3261SAndroid Build Coastguard Worker 2351*b6fb3261SAndroid Build Coastguard Worker# Release 2.4.4 2352*b6fb3261SAndroid Build Coastguard Worker 2353*b6fb3261SAndroid Build Coastguard WorkerThis release introduces several vulnerability fixes: 2354*b6fb3261SAndroid Build Coastguard Worker 2355*b6fb3261SAndroid Build Coastguard Worker* Fixes a code injection issue in `saved_model_cli` 2356*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41228](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41228)) 2357*b6fb3261SAndroid Build Coastguard Worker* Fixes a vulnerability due to use of uninitialized value in Tensorflow 2358*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41225](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41225)) 2359*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in `FusedBatchNorm` kernels 2360*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41223](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41223)) 2361*b6fb3261SAndroid Build Coastguard Worker* Fixes an arbitrary memory read in `ImmutableConst` 2362*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41227](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41227)) 2363*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in `SparseBinCount` 2364*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41226](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41226)) 2365*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in `SparseFillEmptyRows` 2366*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41224](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41224)) 2367*b6fb3261SAndroid Build Coastguard Worker* Fixes a segfault due to negative splits in `SplitV` 2368*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41222](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41222)) 2369*b6fb3261SAndroid Build Coastguard Worker* Fixes segfaults and vulnerabilities caused by accesses to invalid memory 2370*b6fb3261SAndroid Build Coastguard Worker during shape inference in `Cudnn*` ops 2371*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41221](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41221)) 2372*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer exception when `Exit` node is not preceded by `Enter` 2373*b6fb3261SAndroid Build Coastguard Worker op 2374*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41217](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41217)) 2375*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer division by 0 in `tf.raw_ops.AllToAll` 2376*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41218](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41218)) 2377*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior via `nullptr` reference binding in sparse matrix 2378*b6fb3261SAndroid Build Coastguard Worker multiplication 2379*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41219](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41219)) 2380*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `Transpose` 2381*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41216](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41216)) 2382*b6fb3261SAndroid Build Coastguard Worker* Prevents deadlocks arising from mutually recursive `tf.function` objects 2383*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41213](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41213)) 2384*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer exception in `DeserializeSparse` 2385*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41215](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41215)) 2386*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior arising from reference binding to `nullptr` in 2387*b6fb3261SAndroid Build Coastguard Worker `tf.ragged.cross` 2388*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41214](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41214)) 2389*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB read in `tf.ragged.cross` 2390*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41212](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41212)) 2391*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB read in all `tf.raw_ops.QuantizeAndDequantizeV*` ops 2392*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41205](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41205)) 2393*b6fb3261SAndroid Build Coastguard Worker* Fixes an FPE in `ParallelConcat` 2394*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41207](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41207)) 2395*b6fb3261SAndroid Build Coastguard Worker* Fixes FPE issues in convolutions with zero size filters 2396*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41209](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41209)) 2397*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB read in `tf.raw_ops.SparseCountSparseOutput` 2398*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41210](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41210)) 2399*b6fb3261SAndroid Build Coastguard Worker* Fixes vulnerabilities caused by incomplete validation in boosted trees code 2400*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41208](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41208)) 2401*b6fb3261SAndroid Build Coastguard Worker* Fixes vulnerabilities caused by incomplete validation of shapes in multiple 2402*b6fb3261SAndroid Build Coastguard Worker TF ops 2403*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41206](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41206)) 2404*b6fb3261SAndroid Build Coastguard Worker* Fixes a segfault produced while copying constant resource tensor 2405*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41204](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41204)) 2406*b6fb3261SAndroid Build Coastguard Worker* Fixes a vulnerability caused by unitialized access in 2407*b6fb3261SAndroid Build Coastguard Worker `EinsumHelper::ParseEquation` 2408*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41201](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41201)) 2409*b6fb3261SAndroid Build Coastguard Worker* Fixes several vulnerabilities and segfaults caused by missing validation 2410*b6fb3261SAndroid Build Coastguard Worker during checkpoint loading 2411*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41203](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41203)) 2412*b6fb3261SAndroid Build Coastguard Worker* Fixes an overflow producing a crash in `tf.range` 2413*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41202](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41202)) 2414*b6fb3261SAndroid Build Coastguard Worker* Fixes an overflow producing a crash in `tf.image.resize` when size is large 2415*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41199](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41199)) 2416*b6fb3261SAndroid Build Coastguard Worker* Fixes an overflow producing a crash in `tf.tile` when tiling tensor is large 2417*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41198](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41198)) 2418*b6fb3261SAndroid Build Coastguard Worker* Fixes a vulnerability produced due to incomplete validation in 2419*b6fb3261SAndroid Build Coastguard Worker `tf.summary.create_file_writer` 2420*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41200](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41200)) 2421*b6fb3261SAndroid Build Coastguard Worker* Fixes multiple crashes due to overflow and `CHECK`-fail in ops with large 2422*b6fb3261SAndroid Build Coastguard Worker tensor shapes 2423*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41197](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41197)) 2424*b6fb3261SAndroid Build Coastguard Worker* Fixes a crash in `max_pool3d` when size argument is 0 or negative 2425*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41196](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41196)) 2426*b6fb3261SAndroid Build Coastguard Worker* Fixes a crash in `tf.math.segment_*` operations 2427*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-41195](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41195)) 2428*b6fb3261SAndroid Build Coastguard Worker* Updates `curl` to `7.78.0` to handle 2429*b6fb3261SAndroid Build Coastguard Worker [CVE-2021-22922](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22922), 2430*b6fb3261SAndroid Build Coastguard Worker [CVE-2021-22923](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22923), 2431*b6fb3261SAndroid Build Coastguard Worker [CVE-2021-22924](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22924), 2432*b6fb3261SAndroid Build Coastguard Worker [CVE-2021-22925](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22925), 2433*b6fb3261SAndroid Build Coastguard Worker and 2434*b6fb3261SAndroid Build Coastguard Worker [CVE-2021-22926](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22926). 2435*b6fb3261SAndroid Build Coastguard Worker 2436*b6fb3261SAndroid Build Coastguard Worker# Release 2.4.3 2437*b6fb3261SAndroid Build Coastguard Worker 2438*b6fb3261SAndroid Build Coastguard WorkerThis release introduces several vulnerability fixes: 2439*b6fb3261SAndroid Build Coastguard Worker 2440*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap out of bounds access in sparse reduction operations 2441*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37635](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37635)) 2442*b6fb3261SAndroid Build Coastguard Worker* Fixes a floating point exception in `SparseDenseCwiseDiv` 2443*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37636](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37636)) 2444*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference in `CompressElement` 2445*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37637](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37637)) 2446*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference in `RaggedTensorToTensor` 2447*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37638](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37638)) 2448*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference and a heap OOB read arising from operations 2449*b6fb3261SAndroid Build Coastguard Worker restoring tensors 2450*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37639](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37639)) 2451*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer division by 0 in sparse reshaping 2452*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37640](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37640)) 2453*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `ResourceScatterDiv` 2454*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37642](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37642)) 2455*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in `RaggedGather` 2456*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37641](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37641)) 2457*b6fb3261SAndroid Build Coastguard Worker* Fixes a `std::abort` raised from `TensorListReserve` 2458*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37644](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37644)) 2459*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference in `MatrixDiagPartOp` 2460*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37643](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37643)) 2461*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer overflow due to conversion to unsigned 2462*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37645](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37645)) 2463*b6fb3261SAndroid Build Coastguard Worker* Fixes a bad allocation error in `StringNGrams` caused by integer conversion 2464*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37646](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37646)) 2465*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference in `SparseTensorSliceDataset` 2466*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37647](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37647)) 2467*b6fb3261SAndroid Build Coastguard Worker* Fixes an incorrect validation of `SaveV2` inputs 2468*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37648](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37648)) 2469*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference in `UncompressElement` 2470*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37649](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37649)) 2471*b6fb3261SAndroid Build Coastguard Worker* Fixes a segfault and a heap buffer overflow in 2472*b6fb3261SAndroid Build Coastguard Worker `{Experimental,}DatasetToTFRecord` 2473*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37650](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37650)) 2474*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `FractionalAvgPoolGrad` 2475*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37651](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37651)) 2476*b6fb3261SAndroid Build Coastguard Worker* Fixes a use after free in boosted trees creation 2477*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37652](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37652)) 2478*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `ResourceGather` 2479*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37653](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37653)) 2480*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB and a `CHECK` fail in `ResourceGather` 2481*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37654](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37654)) 2482*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in `ResourceScatterUpdate` 2483*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37655](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37655)) 2484*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior arising from reference binding to nullptr in 2485*b6fb3261SAndroid Build Coastguard Worker `RaggedTensorToSparse` 2486*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37656](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37656)) 2487*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior arising from reference binding to nullptr in 2488*b6fb3261SAndroid Build Coastguard Worker `MatrixDiagV*` ops 2489*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37657](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37657)) 2490*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior arising from reference binding to nullptr in 2491*b6fb3261SAndroid Build Coastguard Worker `MatrixSetDiagV*` ops 2492*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37658](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37658)) 2493*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior arising from reference binding to nullptr and 2494*b6fb3261SAndroid Build Coastguard Worker heap OOB in binary cwise ops 2495*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37659](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37659)) 2496*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in inplace operations 2497*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37660](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37660)) 2498*b6fb3261SAndroid Build Coastguard Worker* Fixes a crash caused by integer conversion to unsigned 2499*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37661](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37661)) 2500*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior arising from reference binding to nullptr in 2501*b6fb3261SAndroid Build Coastguard Worker boosted trees 2502*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37662](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37662)) 2503*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in boosted trees 2504*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37664](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37664)) 2505*b6fb3261SAndroid Build Coastguard Worker* Fixes vulnerabilities arising from incomplete validation in `QuantizeV2` 2506*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37663](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37663)) 2507*b6fb3261SAndroid Build Coastguard Worker* Fixes vulnerabilities arising from incomplete validation in MKL 2508*b6fb3261SAndroid Build Coastguard Worker requantization 2509*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37665](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37665)) 2510*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior arising from reference binding to nullptr in 2511*b6fb3261SAndroid Build Coastguard Worker `RaggedTensorToVariant` 2512*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37666](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37666)) 2513*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior arising from reference binding to nullptr in 2514*b6fb3261SAndroid Build Coastguard Worker unicode encoding 2515*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37667](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37667)) 2516*b6fb3261SAndroid Build Coastguard Worker* Fixes an FPE in `tf.raw_ops.UnravelIndex` 2517*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37668](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37668)) 2518*b6fb3261SAndroid Build Coastguard Worker* Fixes a crash in NMS ops caused by integer conversion to unsigned 2519*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37669](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37669)) 2520*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in `UpperBound` and `LowerBound` 2521*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37670](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37670)) 2522*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior arising from reference binding to nullptr in map 2523*b6fb3261SAndroid Build Coastguard Worker operations 2524*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37671](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37671)) 2525*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in `SdcaOptimizerV2` 2526*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37672](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37672)) 2527*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in `MapStage` 2528*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37673](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37673)) 2529*b6fb3261SAndroid Build Coastguard Worker* Fixes a vulnerability arising from incomplete validation in `MaxPoolGrad` 2530*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37674](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37674)) 2531*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior arising from reference binding to nullptr in 2532*b6fb3261SAndroid Build Coastguard Worker shape inference 2533*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37676](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37676)) 2534*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in most convolution operators 2535*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37675](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37675)) 2536*b6fb3261SAndroid Build Coastguard Worker* Fixes vulnerabilities arising from missing validation in shape inference for 2537*b6fb3261SAndroid Build Coastguard Worker `Dequantize` 2538*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37677](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37677)) 2539*b6fb3261SAndroid Build Coastguard Worker* Fixes an arbitrary code execution due to YAML deserialization 2540*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37678](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37678)) 2541*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in nested `tf.map_fn` with `RaggedTensor`s 2542*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37679](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37679)) 2543*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite 2544*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37680](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37680)) 2545*b6fb3261SAndroid Build Coastguard Worker* Fixes an NPE in TFLite 2546*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37681](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37681)) 2547*b6fb3261SAndroid Build Coastguard Worker* Fixes a vulnerability arising from use of unitialized value in TFLite 2548*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37682](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37682)) 2549*b6fb3261SAndroid Build Coastguard Worker* Fixes an FPE in TFLite division operations 2550*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37683](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37683)) 2551*b6fb3261SAndroid Build Coastguard Worker* Fixes an FPE in TFLite pooling operations 2552*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37684](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37684)) 2553*b6fb3261SAndroid Build Coastguard Worker* Fixes an infinite loop in TFLite 2554*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37686](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37686)) 2555*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in TFLite 2556*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37685](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37685)) 2557*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in TFLite's `Gather*` implementations 2558*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37687](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37687)) 2559*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior arising from null pointer dereference in TFLite 2560*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37688](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37688)) 2561*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior arising from null pointer dereference in TFLite 2562*b6fb3261SAndroid Build Coastguard Worker MLIR optimizations 2563*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37689](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37689)) 2564*b6fb3261SAndroid Build Coastguard Worker* Fixes a FPE in LSH in TFLite 2565*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37691](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37691)) 2566*b6fb3261SAndroid Build Coastguard Worker* Fixes a segfault on strings tensors with mismatched dimensions, arising in 2567*b6fb3261SAndroid Build Coastguard Worker Go code 2568*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37692](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37692)) 2569*b6fb3261SAndroid Build Coastguard Worker* Fixes a use after free and a potential segfault in shape inference functions 2570*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37690](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37690)) 2571*b6fb3261SAndroid Build Coastguard Worker* Updates `curl` to `7.77.0` to handle 2572*b6fb3261SAndroid Build Coastguard Worker [CVE-2021-22876](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22876), 2573*b6fb3261SAndroid Build Coastguard Worker [CVE-2021-22897](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22897), 2574*b6fb3261SAndroid Build Coastguard Worker [CVE-2021-22898](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22898), 2575*b6fb3261SAndroid Build Coastguard Worker and 2576*b6fb3261SAndroid Build Coastguard Worker [CVE-2021-22901](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22901). 2577*b6fb3261SAndroid Build Coastguard Worker 2578*b6fb3261SAndroid Build Coastguard Worker# Release 2.3.4 2579*b6fb3261SAndroid Build Coastguard Worker 2580*b6fb3261SAndroid Build Coastguard WorkerThis release introduces several vulnerability fixes: 2581*b6fb3261SAndroid Build Coastguard Worker 2582*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap out of bounds access in sparse reduction operations 2583*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37635](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37635)) 2584*b6fb3261SAndroid Build Coastguard Worker* Fixes a floating point exception in `SparseDenseCwiseDiv` 2585*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37636](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37636)) 2586*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference in `CompressElement` 2587*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37637](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37637)) 2588*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference in `RaggedTensorToTensor` 2589*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37638](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37638)) 2590*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference and a heap OOB read arising from operations 2591*b6fb3261SAndroid Build Coastguard Worker restoring tensors 2592*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37639](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37639)) 2593*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer division by 0 in sparse reshaping 2594*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37640](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37640)) 2595*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `ResourceScatterDiv` 2596*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37642](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37642)) 2597*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in `RaggedGather` 2598*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37641](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37641)) 2599*b6fb3261SAndroid Build Coastguard Worker* Fixes a `std::abort` raised from `TensorListReserve` 2600*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37644](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37644)) 2601*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference in `MatrixDiagPartOp` 2602*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37643](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37643)) 2603*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer overflow due to conversion to unsigned 2604*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37645](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37645)) 2605*b6fb3261SAndroid Build Coastguard Worker* Fixes a bad allocation error in `StringNGrams` caused by integer conversion 2606*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37646](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37646)) 2607*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference in `SparseTensorSliceDataset` 2608*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37647](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37647)) 2609*b6fb3261SAndroid Build Coastguard Worker* Fixes an incorrect validation of `SaveV2` inputs 2610*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37648](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37648)) 2611*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference in `UncompressElement` 2612*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37649](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37649)) 2613*b6fb3261SAndroid Build Coastguard Worker* Fixes a segfault and a heap buffer overflow in 2614*b6fb3261SAndroid Build Coastguard Worker `{Experimental,}DatasetToTFRecord` 2615*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37650](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37650)) 2616*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `FractionalAvgPoolGrad` 2617*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37651](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37651)) 2618*b6fb3261SAndroid Build Coastguard Worker* Fixes a use after free in boosted trees creation 2619*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37652](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37652)) 2620*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `ResourceGather` 2621*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37653](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37653)) 2622*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB and a `CHECK` fail in `ResourceGather` 2623*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37654](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37654)) 2624*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in `ResourceScatterUpdate` 2625*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37655](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37655)) 2626*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior arising from reference binding to nullptr in 2627*b6fb3261SAndroid Build Coastguard Worker `RaggedTensorToSparse` 2628*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37656](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37656)) 2629*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior arising from reference binding to nullptr in 2630*b6fb3261SAndroid Build Coastguard Worker `MatrixDiagV*` ops 2631*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37657](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37657)) 2632*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior arising from reference binding to nullptr in 2633*b6fb3261SAndroid Build Coastguard Worker `MatrixSetDiagV*` ops 2634*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37658](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37658)) 2635*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior arising from reference binding to nullptr and 2636*b6fb3261SAndroid Build Coastguard Worker heap OOB in binary cwise ops 2637*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37659](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37659)) 2638*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in inplace operations 2639*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37660](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37660)) 2640*b6fb3261SAndroid Build Coastguard Worker* Fixes a crash caused by integer conversion to unsigned 2641*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37661](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37661)) 2642*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior arising from reference binding to nullptr in 2643*b6fb3261SAndroid Build Coastguard Worker boosted trees 2644*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37662](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37662)) 2645*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in boosted trees 2646*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37664](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37664)) 2647*b6fb3261SAndroid Build Coastguard Worker* Fixes vulnerabilities arising from incomplete validation in `QuantizeV2` 2648*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37663](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37663)) 2649*b6fb3261SAndroid Build Coastguard Worker* Fixes vulnerabilities arising from incomplete validation in MKL 2650*b6fb3261SAndroid Build Coastguard Worker requantization 2651*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37665](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37665)) 2652*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior arising from reference binding to nullptr in 2653*b6fb3261SAndroid Build Coastguard Worker `RaggedTensorToVariant` 2654*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37666](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37666)) 2655*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior arising from reference binding to nullptr in 2656*b6fb3261SAndroid Build Coastguard Worker unicode encoding 2657*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37667](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37667)) 2658*b6fb3261SAndroid Build Coastguard Worker* Fixes an FPE in `tf.raw_ops.UnravelIndex` 2659*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37668](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37668)) 2660*b6fb3261SAndroid Build Coastguard Worker* Fixes a crash in NMS ops caused by integer conversion to unsigned 2661*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37669](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37669)) 2662*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in `UpperBound` and `LowerBound` 2663*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37670](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37670)) 2664*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior arising from reference binding to nullptr in map 2665*b6fb3261SAndroid Build Coastguard Worker operations 2666*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37671](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37671)) 2667*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in `SdcaOptimizerV2` 2668*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37672](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37672)) 2669*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in `MapStage` 2670*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37673](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37673)) 2671*b6fb3261SAndroid Build Coastguard Worker* Fixes a vulnerability arising from incomplete validation in `MaxPoolGrad` 2672*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37674](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37674)) 2673*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior arising from reference binding to nullptr in 2674*b6fb3261SAndroid Build Coastguard Worker shape inference 2675*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37676](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37676)) 2676*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in most convolution operators 2677*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37675](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37675)) 2678*b6fb3261SAndroid Build Coastguard Worker* Fixes vulnerabilities arising from missing validation in shape inference for 2679*b6fb3261SAndroid Build Coastguard Worker `Dequantize` 2680*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37677](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37677)) 2681*b6fb3261SAndroid Build Coastguard Worker* Fixes an arbitrary code execution due to YAML deserialization 2682*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37678](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37678)) 2683*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in nested `tf.map_fn` with `RaggedTensor`s 2684*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37679](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37679)) 2685*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite 2686*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37680](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37680)) 2687*b6fb3261SAndroid Build Coastguard Worker* Fixes an NPE in TFLite 2688*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37681](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37681)) 2689*b6fb3261SAndroid Build Coastguard Worker* Fixes a vulnerability arising from use of unitialized value in TFLite 2690*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37682](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37682)) 2691*b6fb3261SAndroid Build Coastguard Worker* Fixes an FPE in TFLite division operations 2692*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37683](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37683)) 2693*b6fb3261SAndroid Build Coastguard Worker* Fixes an FPE in TFLite pooling operations 2694*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37684](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37684)) 2695*b6fb3261SAndroid Build Coastguard Worker* Fixes an infinite loop in TFLite 2696*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37686](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37686)) 2697*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in TFLite 2698*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37685](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37685)) 2699*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in TFLite's `Gather*` implementations 2700*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37687](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37687)) 2701*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior arising from null pointer dereference in TFLite 2702*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37688](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37688)) 2703*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior arising from null pointer dereference in TFLite 2704*b6fb3261SAndroid Build Coastguard Worker MLIR optimizations 2705*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37689](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37689)) 2706*b6fb3261SAndroid Build Coastguard Worker* Fixes a FPE in LSH in TFLite 2707*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37691](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37691)) 2708*b6fb3261SAndroid Build Coastguard Worker* Fixes a segfault on strings tensors with mismatched dimensions, arising in 2709*b6fb3261SAndroid Build Coastguard Worker Go code 2710*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37692](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37692)) 2711*b6fb3261SAndroid Build Coastguard Worker* Fixes a use after free and a potential segfault in shape inference functions 2712*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-37690](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37690)) 2713*b6fb3261SAndroid Build Coastguard Worker* Updates `curl` to `7.77.0` to handle 2714*b6fb3261SAndroid Build Coastguard Worker [CVE-2021-22876](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22876), 2715*b6fb3261SAndroid Build Coastguard Worker [CVE-2021-22897](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22897), 2716*b6fb3261SAndroid Build Coastguard Worker [CVE-2021-22898](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22898), 2717*b6fb3261SAndroid Build Coastguard Worker and 2718*b6fb3261SAndroid Build Coastguard Worker [CVE-2021-22901](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22901). 2719*b6fb3261SAndroid Build Coastguard Worker 2720*b6fb3261SAndroid Build Coastguard Worker# Release 2.4.2 2721*b6fb3261SAndroid Build Coastguard Worker 2722*b6fb3261SAndroid Build Coastguard WorkerThis release introduces several vulnerability fixes: 2723*b6fb3261SAndroid Build Coastguard Worker 2724*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `RaggedBinCount` 2725*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29512](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29512)) 2726*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap out of bounds write in `RaggedBinCount` 2727*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29514](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29514)) 2728*b6fb3261SAndroid Build Coastguard Worker* Fixes a type confusion during tensor casts which leads to dereferencing null 2729*b6fb3261SAndroid Build Coastguard Worker pointers 2730*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29513](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29513)) 2731*b6fb3261SAndroid Build Coastguard Worker* Fixes a reference binding to null pointer in `MatrixDiag*` ops 2732*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29515](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29515)) 2733*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference via invalid Ragged Tensors 2734*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29516](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29516)) 2735*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in `Conv3D` 2736*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29517](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29517)) 2737*b6fb3261SAndroid Build Coastguard Worker* Fixes vulnerabilities where session operations in eager mode lead to null 2738*b6fb3261SAndroid Build Coastguard Worker pointer dereferences 2739*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29518](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29518)) 2740*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in `SparseCross` caused by type confusion 2741*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29519](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29519)) 2742*b6fb3261SAndroid Build Coastguard Worker* Fixes a segfault in `SparseCountSparseOutput` 2743*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29521](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29521)) 2744*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `Conv3DBackprop*` 2745*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29520](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29520)) 2746*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `Conv3DBackprop*` 2747*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29522](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29522)) 2748*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in `AddManySparseToTensorsMap` 2749*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29523](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29523)) 2750*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `Conv2DBackpropFilter` 2751*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29524](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29524)) 2752*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `Conv2DBackpropInput` 2753*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29525](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29525)) 2754*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `Conv2D` 2755*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29526](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29526)) 2756*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `QuantizedConv2D` 2757*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29527](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29527)) 2758*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `QuantizedMul` 2759*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29528](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29528)) 2760*b6fb3261SAndroid Build Coastguard Worker* Fixes vulnerabilities caused by invalid validation in 2761*b6fb3261SAndroid Build Coastguard Worker `SparseMatrixSparseCholesky` 2762*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29530](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29530)) 2763*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow caused by rounding 2764*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29529](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29529)) 2765*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in `tf.raw_ops.EncodePng` 2766*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29531](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29531)) 2767*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap out of bounds read in `RaggedCross` 2768*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29532](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29532)) 2769*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in `DrawBoundingBoxes` 2770*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29533](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29533)) 2771*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `QuantizedMul` 2772*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29535](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29535)) 2773*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in `SparseConcat` 2774*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29534](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29534)) 2775*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `QuantizedResizeBilinear` 2776*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29537](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29537)) 2777*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `QuantizedReshape` 2778*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29536](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29536)) 2779*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in `Conv2DBackpropFilter` 2780*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29538](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29538)) 2781*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `Conv2DBackpropFilter` 2782*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29540](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29540)) 2783*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `StringNGrams` 2784*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29542](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29542)) 2785*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference in `StringNGrams` 2786*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29541](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29541)) 2787*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in `QuantizeAndDequantizeV4Grad` 2788*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29544](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29544)) 2789*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in `CTCGreedyDecoder` 2790*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29543](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29543)) 2791*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `SparseTensorToCSRSparseMatrix` 2792*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29545](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29545)) 2793*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `QuantizedBiasAdd` 2794*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29546](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29546)) 2795*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap out of bounds in `QuantizedBatchNormWithGlobalNormalization` 2796*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29547](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29547)) 2797*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `QuantizedBatchNormWithGlobalNormalization` 2798*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29548](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29548)) 2799*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `QuantizedAdd` 2800*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29549](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29549)) 2801*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `FractionalAvgPool` 2802*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29550](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29550)) 2803*b6fb3261SAndroid Build Coastguard Worker* Fixes an OOB read in `MatrixTriangularSolve` 2804*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29551](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29551)) 2805*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in `QuantizeAndDequantizeV3` 2806*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29553](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29553)) 2807*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-failure in `UnsortedSegmentJoin` 2808*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29552](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29552)) 2809*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `DenseCountSparseOutput` 2810*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29554](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29554)) 2811*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `FusedBatchNorm` 2812*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29555](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29555)) 2813*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `SparseMatMul` 2814*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29557](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29557)) 2815*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `Reverse` 2816*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29556](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29556)) 2817*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `SparseSplit` 2818*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29558](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29558)) 2819*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB access in unicode ops 2820*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29559](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29559)) 2821*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `RaggedTensorToTensor` 2822*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29560](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29560)) 2823*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in `LoadAndRemapMatrix` 2824*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29561](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29561)) 2825*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in `tf.raw_ops.IRFFT` 2826*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29562](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29562)) 2827*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in `tf.raw_ops.RFFT` 2828*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29563](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29563)) 2829*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference in `EditDistance` 2830*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29564](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29564)) 2831*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference in `SparseFillEmptyRows` 2832*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29565](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29565)) 2833*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB access in `Dilation2DBackpropInput` 2834*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29566](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29566)) 2835*b6fb3261SAndroid Build Coastguard Worker* Fixes a reference binding to null in `ParameterizedTruncatedNormal` 2836*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29568](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29568)) 2837*b6fb3261SAndroid Build Coastguard Worker* Fixes a set of vulnerabilities caused by lack of validation in 2838*b6fb3261SAndroid Build Coastguard Worker `SparseDenseCwiseMul` 2839*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29567](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29567)) 2840*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap out of bounds read in `MaxPoolGradWithArgmax` 2841*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29570](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29570)) 2842*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap out of bounds read in `RequantizationRange` 2843*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29569](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29569)) 2844*b6fb3261SAndroid Build Coastguard Worker* Fixes a memory corruption in `DrawBoundingBoxesV2` 2845*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29571](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29571)) 2846*b6fb3261SAndroid Build Coastguard Worker* Fixes a reference binding to nullptr in `SdcaOptimizer` 2847*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29572](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29572)) 2848*b6fb3261SAndroid Build Coastguard Worker* Fixes an overflow and a denial of service in `tf.raw_ops.ReverseSequence` 2849*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29575](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29575)) 2850*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `MaxPoolGradWithArgmax` 2851*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29573](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29573)) 2852*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior in `MaxPool3DGradGrad` 2853*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29574](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29574)) 2854*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `MaxPool3DGradGrad` 2855*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29576](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29576)) 2856*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `AvgPool3DGrad` 2857*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29577](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29577)) 2858*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior and a `CHECK`-fail in `FractionalMaxPoolGrad` 2859*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29580](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29580)) 2860*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `FractionalAvgPoolGrad` 2861*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29578](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29578)) 2862*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `MaxPoolGrad` 2863*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29579](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29579)) 2864*b6fb3261SAndroid Build Coastguard Worker* Fixes a segfault in `CTCBeamSearchDecoder` 2865*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29581](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29581)) 2866*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB read in `tf.raw_ops.Dequantize` 2867*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29582](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29582)) 2868*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail due to integer overflow 2869*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29584](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29584)) 2870*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow and undefined behavior in `FusedBatchNorm` 2871*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29583](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29583)) 2872*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in padding computation in TFLite 2873*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29585](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29585)) 2874*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in optimized pooling implementations in TFLite 2875*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29586](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29586)) 2876*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's implementation of `SpaceToDepth` 2877*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29587](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29587)) 2878*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's implementation of `GatherNd` 2879*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29589](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29589)) 2880*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's implementation of `TransposeConv` 2881*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29588](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29588)) 2882*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB read in TFLite's implementation of `Minimum` or `Maximum` 2883*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29590](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29590)) 2884*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference in TFLite's `Reshape` operator 2885*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29592](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29592)) 2886*b6fb3261SAndroid Build Coastguard Worker* Fixes a stack overflow due to looping TFLite subgraph 2887*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29591](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29591)) 2888*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's implementation of `DepthToSpace` 2889*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29595](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29595)) 2890*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's convolution code 2891*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29594](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29594)) 2892*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's implementation of `EmbeddingLookup` 2893*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29596](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29596)) 2894*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's implementation of `BatchToSpaceNd` 2895*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29593](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29593)) 2896*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's implementation of `SpaceToBatchNd` 2897*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29597](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29597)) 2898*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's implementation of `SVDF` 2899*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29598](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29598)) 2900*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's implementation of `Split` 2901*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29599](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29599)) 2902*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's implementation of `OneHot` 2903*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29600](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29600)) 2904*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's implementation of `DepthwiseConv` 2905*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29602](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29602)) 2906*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's implementation of hashtable lookup 2907*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29604](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29604)) 2908*b6fb3261SAndroid Build Coastguard Worker* Fixes a integer overflow in TFLite concatentation 2909*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29601](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29601)) 2910*b6fb3261SAndroid Build Coastguard Worker* Fixes a integer overflow in TFLite memory allocation 2911*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29605](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29605)) 2912*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB write in TFLite 2913*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29603](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29603)) 2914*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB read in TFLite 2915*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29606](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29606)) 2916*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB and null pointer dereference in `RaggedTensorToTensor` 2917*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29608](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29608)) 2918*b6fb3261SAndroid Build Coastguard Worker* Fixes vulnerabilities caused by incomplete validation in `SparseAdd` 2919*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29609](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29609)) 2920*b6fb3261SAndroid Build Coastguard Worker* Fixes vulnerabilities caused by incomplete validation in 2921*b6fb3261SAndroid Build Coastguard Worker `SparseSparseMinimum` 2922*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29607](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29607)) 2923*b6fb3261SAndroid Build Coastguard Worker* Fixes vulnerabilities caused by incomplete validation in `SparseReshape` 2924*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29611](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29611)) 2925*b6fb3261SAndroid Build Coastguard Worker* Fixes vulnerabilities caused by invalid validation in 2926*b6fb3261SAndroid Build Coastguard Worker `QuantizeAndDequantizeV2` 2927*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29610](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29610)) 2928*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `BandedTriangularSolve` 2929*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29612](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29612)) 2930*b6fb3261SAndroid Build Coastguard Worker* Fixes vulnerabilities caused by incomplete validation in 2931*b6fb3261SAndroid Build Coastguard Worker `tf.raw_ops.CTCLoss` 2932*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29613](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29613)) 2933*b6fb3261SAndroid Build Coastguard Worker* Fixes an interpreter crash from vulnerabilities in `tf.io.decode_raw` 2934*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29614](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29614)) 2935*b6fb3261SAndroid Build Coastguard Worker* Fixes a stack overflow in `ParseAttrValue` with nested tensors 2936*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29615](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29615)) 2937*b6fb3261SAndroid Build Coastguard Worker* Fixes a null dereference in Grappler's `TrySimplify` 2938*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29616](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29616)) 2939*b6fb3261SAndroid Build Coastguard Worker* Fixes a crash in `tf.transpose` with complex inputs 2940*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29618](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29618)) 2941*b6fb3261SAndroid Build Coastguard Worker* Fixes a crash in `tf.strings.substr` due to `CHECK`-fail 2942*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29617](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29617)) 2943*b6fb3261SAndroid Build Coastguard Worker* Fixes a segfault in `tf.raw_ops.SparseCountSparseOutput` 2944*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29619](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29619)) 2945*b6fb3261SAndroid Build Coastguard Worker* Fixes a segfault in `tf.raw_ops.ImmutableConst` 2946*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29539](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29539)) 2947*b6fb3261SAndroid Build Coastguard Worker* Updates `curl` to `7.76.0` to handle 2948*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-8169](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8169), 2949*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-8177](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8177), 2950*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-8231](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8231), 2951*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-8284](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8284), 2952*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-8285](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8285) 2953*b6fb3261SAndroid Build Coastguard Worker and 2954*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-8286](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8286). 2955*b6fb3261SAndroid Build Coastguard Worker 2956*b6fb3261SAndroid Build Coastguard Worker# Release 2.3.3 2957*b6fb3261SAndroid Build Coastguard Worker 2958*b6fb3261SAndroid Build Coastguard WorkerThis release introduces several vulnerability fixes: 2959*b6fb3261SAndroid Build Coastguard Worker 2960*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `RaggedBinCount` 2961*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29512](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29512)) 2962*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap out of bounds write in `RaggedBinCount` 2963*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29514](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29514)) 2964*b6fb3261SAndroid Build Coastguard Worker* Fixes a type confusion during tensor casts which leads to dereferencing null 2965*b6fb3261SAndroid Build Coastguard Worker pointers 2966*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29513](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29513)) 2967*b6fb3261SAndroid Build Coastguard Worker* Fixes a reference binding to null pointer in `MatrixDiag*` ops 2968*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29515](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29515)) 2969*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference via invalid Ragged Tensors 2970*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29516](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29516)) 2971*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in `Conv3D` 2972*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29517](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29517)) 2973*b6fb3261SAndroid Build Coastguard Worker* Fixes vulnerabilities where session operations in eager mode lead to null 2974*b6fb3261SAndroid Build Coastguard Worker pointer dereferences 2975*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29518](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29518)) 2976*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in `SparseCross` caused by type confusion 2977*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29519](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29519)) 2978*b6fb3261SAndroid Build Coastguard Worker* Fixes a segfault in `SparseCountSparseOutput` 2979*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29521](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29521)) 2980*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `Conv3DBackprop*` 2981*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29520](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29520)) 2982*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `Conv3DBackprop*` 2983*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29522](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29522)) 2984*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in `AddManySparseToTensorsMap` 2985*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29523](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29523)) 2986*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `Conv2DBackpropFilter` 2987*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29524](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29524)) 2988*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `Conv2DBackpropInput` 2989*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29525](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29525)) 2990*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `Conv2D` 2991*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29526](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29526)) 2992*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `QuantizedConv2D` 2993*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29527](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29527)) 2994*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `QuantizedMul` 2995*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29528](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29528)) 2996*b6fb3261SAndroid Build Coastguard Worker* Fixes vulnerabilities caused by invalid validation in 2997*b6fb3261SAndroid Build Coastguard Worker `SparseMatrixSparseCholesky` 2998*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29530](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29530)) 2999*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow caused by rounding 3000*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29529](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29529)) 3001*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in `tf.raw_ops.EncodePng` 3002*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29531](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29531)) 3003*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap out of bounds read in `RaggedCross` 3004*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29532](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29532)) 3005*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in `DrawBoundingBoxes` 3006*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29533](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29533)) 3007*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `QuantizedMul` 3008*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29535](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29535)) 3009*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in `SparseConcat` 3010*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29534](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29534)) 3011*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `QuantizedResizeBilinear` 3012*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29537](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29537)) 3013*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `QuantizedReshape` 3014*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29536](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29536)) 3015*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in `Conv2DBackpropFilter` 3016*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29538](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29538)) 3017*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `Conv2DBackpropFilter` 3018*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29540](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29540)) 3019*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `StringNGrams` 3020*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29542](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29542)) 3021*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference in `StringNGrams` 3022*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29541](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29541)) 3023*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in `QuantizeAndDequantizeV4Grad` 3024*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29544](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29544)) 3025*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in `CTCGreedyDecoder` 3026*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29543](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29543)) 3027*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `SparseTensorToCSRSparseMatrix` 3028*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29545](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29545)) 3029*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `QuantizedBiasAdd` 3030*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29546](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29546)) 3031*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap out of bounds in `QuantizedBatchNormWithGlobalNormalization` 3032*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29547](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29547)) 3033*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `QuantizedBatchNormWithGlobalNormalization` 3034*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29548](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29548)) 3035*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `QuantizedAdd` 3036*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29549](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29549)) 3037*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `FractionalAvgPool` 3038*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29550](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29550)) 3039*b6fb3261SAndroid Build Coastguard Worker* Fixes an OOB read in `MatrixTriangularSolve` 3040*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29551](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29551)) 3041*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in `QuantizeAndDequantizeV3` 3042*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29553](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29553)) 3043*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-failure in `UnsortedSegmentJoin` 3044*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29552](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29552)) 3045*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `DenseCountSparseOutput` 3046*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29554](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29554)) 3047*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `FusedBatchNorm` 3048*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29555](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29555)) 3049*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `SparseMatMul` 3050*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29557](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29557)) 3051*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `Reverse` 3052*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29556](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29556)) 3053*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `SparseSplit` 3054*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29558](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29558)) 3055*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB access in unicode ops 3056*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29559](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29559)) 3057*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `RaggedTensorToTensor` 3058*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29560](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29560)) 3059*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in `LoadAndRemapMatrix` 3060*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29561](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29561)) 3061*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in `tf.raw_ops.IRFFT` 3062*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29562](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29562)) 3063*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in `tf.raw_ops.RFFT` 3064*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29563](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29563)) 3065*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference in `EditDistance` 3066*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29564](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29564)) 3067*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference in `SparseFillEmptyRows` 3068*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29565](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29565)) 3069*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB access in `Dilation2DBackpropInput` 3070*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29566](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29566)) 3071*b6fb3261SAndroid Build Coastguard Worker* Fixes a reference binding to null in `ParameterizedTruncatedNormal` 3072*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29568](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29568)) 3073*b6fb3261SAndroid Build Coastguard Worker* Fixes a set of vulnerabilities caused by lack of validation in 3074*b6fb3261SAndroid Build Coastguard Worker `SparseDenseCwiseMul` 3075*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29567](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29567)) 3076*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap out of bounds read in `MaxPoolGradWithArgmax` 3077*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29570](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29570)) 3078*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap out of bounds read in `RequantizationRange` 3079*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29569](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29569)) 3080*b6fb3261SAndroid Build Coastguard Worker* Fixes a memory corruption in `DrawBoundingBoxesV2` 3081*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29571](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29571)) 3082*b6fb3261SAndroid Build Coastguard Worker* Fixes a reference binding to nullptr in `SdcaOptimizer` 3083*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29572](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29572)) 3084*b6fb3261SAndroid Build Coastguard Worker* Fixes an overflow and a denial of service in `tf.raw_ops.ReverseSequence` 3085*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29575](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29575)) 3086*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `MaxPoolGradWithArgmax` 3087*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29573](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29573)) 3088*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior in `MaxPool3DGradGrad` 3089*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29574](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29574)) 3090*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `MaxPool3DGradGrad` 3091*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29576](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29576)) 3092*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `AvgPool3DGrad` 3093*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29577](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29577)) 3094*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior and a `CHECK`-fail in `FractionalMaxPoolGrad` 3095*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29580](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29580)) 3096*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `FractionalAvgPoolGrad` 3097*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29578](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29578)) 3098*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `MaxPoolGrad` 3099*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29579](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29579)) 3100*b6fb3261SAndroid Build Coastguard Worker* Fixes a segfault in `CTCBeamSearchDecoder` 3101*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29581](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29581)) 3102*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB read in `tf.raw_ops.Dequantize` 3103*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29582](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29582)) 3104*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail due to integer overflow 3105*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29584](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29584)) 3106*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow and undefined behavior in `FusedBatchNorm` 3107*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29583](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29583)) 3108*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in padding computation in TFLite 3109*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29585](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29585)) 3110*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in optimized pooling implementations in TFLite 3111*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29586](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29586)) 3112*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's implementation of `SpaceToDepth` 3113*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29587](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29587)) 3114*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's implementation of `GatherNd` 3115*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29589](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29589)) 3116*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's implementation of `TransposeConv` 3117*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29588](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29588)) 3118*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB read in TFLite's implementation of `Minimum` or `Maximum` 3119*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29590](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29590)) 3120*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference in TFLite's `Reshape` operator 3121*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29592](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29592)) 3122*b6fb3261SAndroid Build Coastguard Worker* Fixes a stack overflow due to looping TFLite subgraph 3123*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29591](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29591)) 3124*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's implementation of `DepthToSpace` 3125*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29595](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29595)) 3126*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's convolution code 3127*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29594](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29594)) 3128*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's implementation of `EmbeddingLookup` 3129*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29596](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29596)) 3130*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's implementation of `BatchToSpaceNd` 3131*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29593](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29593)) 3132*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's implementation of `SpaceToBatchNd` 3133*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29597](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29597)) 3134*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's implementation of `SVDF` 3135*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29598](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29598)) 3136*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's implementation of `Split` 3137*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29599](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29599)) 3138*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's implementation of `OneHot` 3139*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29600](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29600)) 3140*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's implementation of `DepthwiseConv` 3141*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29602](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29602)) 3142*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's implementation of hashtable lookup 3143*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29604](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29604)) 3144*b6fb3261SAndroid Build Coastguard Worker* Fixes a integer overflow in TFLite concatentation 3145*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29601](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29601)) 3146*b6fb3261SAndroid Build Coastguard Worker* Fixes a integer overflow in TFLite memory allocation 3147*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29605](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29605)) 3148*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB write in TFLite 3149*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29603](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29603)) 3150*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB read in TFLite 3151*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29606](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29606)) 3152*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB and null pointer dereference in `RaggedTensorToTensor` 3153*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29608](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29608)) 3154*b6fb3261SAndroid Build Coastguard Worker* Fixes vulnerabilities caused by incomplete validation in `SparseAdd` 3155*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29609](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29609)) 3156*b6fb3261SAndroid Build Coastguard Worker* Fixes vulnerabilities caused by incomplete validation in 3157*b6fb3261SAndroid Build Coastguard Worker `SparseSparseMinimum` 3158*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29607](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29607)) 3159*b6fb3261SAndroid Build Coastguard Worker* Fixes vulnerabilities caused by incomplete validation in `SparseReshape` 3160*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29611](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29611)) 3161*b6fb3261SAndroid Build Coastguard Worker* Fixes vulnerabilities caused by invalid validation in 3162*b6fb3261SAndroid Build Coastguard Worker `QuantizeAndDequantizeV2` 3163*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29610](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29610)) 3164*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `BandedTriangularSolve` 3165*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29612](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29612)) 3166*b6fb3261SAndroid Build Coastguard Worker* Fixes vulnerabilities caused by incomplete validation in 3167*b6fb3261SAndroid Build Coastguard Worker `tf.raw_ops.CTCLoss` 3168*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29613](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29613)) 3169*b6fb3261SAndroid Build Coastguard Worker* Fixes an interpreter crash from vulnerabilities in `tf.io.decode_raw` 3170*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29614](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29614)) 3171*b6fb3261SAndroid Build Coastguard Worker* Fixes a stack overflow in `ParseAttrValue` with nested tensors 3172*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29615](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29615)) 3173*b6fb3261SAndroid Build Coastguard Worker* Fixes a null dereference in Grappler's `TrySimplify` 3174*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29616](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29616)) 3175*b6fb3261SAndroid Build Coastguard Worker* Fixes a crash in `tf.transpose` with complex inputs 3176*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29618](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29618)) 3177*b6fb3261SAndroid Build Coastguard Worker* Fixes a crash in `tf.strings.substr` due to `CHECK`-fail 3178*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29617](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29617)) 3179*b6fb3261SAndroid Build Coastguard Worker* Fixes a segfault in `tf.raw_ops.SparseCountSparseOutput` 3180*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29619](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29619)) 3181*b6fb3261SAndroid Build Coastguard Worker* Fixes a segfault in `tf.raw_ops.ImmutableConst` 3182*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29539](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29539)) 3183*b6fb3261SAndroid Build Coastguard Worker* Updates `curl` to `7.76.0` to handle 3184*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-8169](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8169), 3185*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-8177](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8177), 3186*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-8231](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8231), 3187*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-8284](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8284), 3188*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-8285](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8285) 3189*b6fb3261SAndroid Build Coastguard Worker and 3190*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-8286](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8286). 3191*b6fb3261SAndroid Build Coastguard Worker 3192*b6fb3261SAndroid Build Coastguard Worker# Release 2.2.3 3193*b6fb3261SAndroid Build Coastguard Worker 3194*b6fb3261SAndroid Build Coastguard WorkerThis release introduces several vulnerability fixes: 3195*b6fb3261SAndroid Build Coastguard Worker 3196*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `RaggedBinCount` 3197*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29512](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29512)) 3198*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap out of bounds write in `RaggedBinCount` 3199*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29514](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29514)) 3200*b6fb3261SAndroid Build Coastguard Worker* Fixes a type confusion during tensor casts which leads to dereferencing null 3201*b6fb3261SAndroid Build Coastguard Worker pointers 3202*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29513](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29513)) 3203*b6fb3261SAndroid Build Coastguard Worker* Fixes a reference binding to null pointer in `MatrixDiag*` ops 3204*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29515](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29515)) 3205*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference via invalid Ragged Tensors 3206*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29516](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29516)) 3207*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in `Conv3D` 3208*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29517](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29517)) 3209*b6fb3261SAndroid Build Coastguard Worker* Fixes vulnerabilities where session operations in eager mode lead to null 3210*b6fb3261SAndroid Build Coastguard Worker pointer dereferences 3211*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29518](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29518)) 3212*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in `SparseCross` caused by type confusion 3213*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29519](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29519)) 3214*b6fb3261SAndroid Build Coastguard Worker* Fixes a segfault in `SparseCountSparseOutput` 3215*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29521](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29521)) 3216*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `Conv3DBackprop*` 3217*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29520](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29520)) 3218*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `Conv3DBackprop*` 3219*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29522](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29522)) 3220*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in `AddManySparseToTensorsMap` 3221*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29523](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29523)) 3222*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `Conv2DBackpropFilter` 3223*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29524](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29524)) 3224*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `Conv2DBackpropInput` 3225*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29525](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29525)) 3226*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `Conv2D` 3227*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29526](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29526)) 3228*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `QuantizedConv2D` 3229*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29527](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29527)) 3230*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `QuantizedMul` 3231*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29528](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29528)) 3232*b6fb3261SAndroid Build Coastguard Worker* Fixes vulnerabilities caused by invalid validation in 3233*b6fb3261SAndroid Build Coastguard Worker `SparseMatrixSparseCholesky` 3234*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29530](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29530)) 3235*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow caused by rounding 3236*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29529](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29529)) 3237*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in `tf.raw_ops.EncodePng` 3238*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29531](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29531)) 3239*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap out of bounds read in `RaggedCross` 3240*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29532](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29532)) 3241*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in `DrawBoundingBoxes` 3242*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29533](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29533)) 3243*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `QuantizedMul` 3244*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29535](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29535)) 3245*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in `SparseConcat` 3246*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29534](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29534)) 3247*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `QuantizedResizeBilinear` 3248*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29537](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29537)) 3249*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `QuantizedReshape` 3250*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29536](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29536)) 3251*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in `Conv2DBackpropFilter` 3252*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29538](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29538)) 3253*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `Conv2DBackpropFilter` 3254*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29540](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29540)) 3255*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `StringNGrams` 3256*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29542](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29542)) 3257*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference in `StringNGrams` 3258*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29541](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29541)) 3259*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in `QuantizeAndDequantizeV4Grad` 3260*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29544](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29544)) 3261*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in `CTCGreedyDecoder` 3262*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29543](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29543)) 3263*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `SparseTensorToCSRSparseMatrix` 3264*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29545](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29545)) 3265*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `QuantizedBiasAdd` 3266*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29546](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29546)) 3267*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap out of bounds in `QuantizedBatchNormWithGlobalNormalization` 3268*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29547](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29547)) 3269*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `QuantizedBatchNormWithGlobalNormalization` 3270*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29548](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29548)) 3271*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `QuantizedAdd` 3272*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29549](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29549)) 3273*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `FractionalAvgPool` 3274*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29550](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29550)) 3275*b6fb3261SAndroid Build Coastguard Worker* Fixes an OOB read in `MatrixTriangularSolve` 3276*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29551](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29551)) 3277*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in `QuantizeAndDequantizeV3` 3278*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29553](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29553)) 3279*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-failure in `UnsortedSegmentJoin` 3280*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29552](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29552)) 3281*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `DenseCountSparseOutput` 3282*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29554](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29554)) 3283*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `FusedBatchNorm` 3284*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29555](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29555)) 3285*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `SparseMatMul` 3286*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29557](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29557)) 3287*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `Reverse` 3288*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29556](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29556)) 3289*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `SparseSplit` 3290*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29558](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29558)) 3291*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB access in unicode ops 3292*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29559](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29559)) 3293*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `RaggedTensorToTensor` 3294*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29560](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29560)) 3295*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in `LoadAndRemapMatrix` 3296*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29561](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29561)) 3297*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in `tf.raw_ops.IRFFT` 3298*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29562](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29562)) 3299*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in `tf.raw_ops.RFFT` 3300*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29563](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29563)) 3301*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference in `EditDistance` 3302*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29564](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29564)) 3303*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference in `SparseFillEmptyRows` 3304*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29565](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29565)) 3305*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB access in `Dilation2DBackpropInput` 3306*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29566](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29566)) 3307*b6fb3261SAndroid Build Coastguard Worker* Fixes a reference binding to null in `ParameterizedTruncatedNormal` 3308*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29568](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29568)) 3309*b6fb3261SAndroid Build Coastguard Worker* Fixes a set of vulnerabilities caused by lack of validation in 3310*b6fb3261SAndroid Build Coastguard Worker `SparseDenseCwiseMul` 3311*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29567](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29567)) 3312*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap out of bounds read in `MaxPoolGradWithArgmax` 3313*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29570](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29570)) 3314*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap out of bounds read in `RequantizationRange` 3315*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29569](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29569)) 3316*b6fb3261SAndroid Build Coastguard Worker* Fixes a memory corruption in `DrawBoundingBoxesV2` 3317*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29571](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29571)) 3318*b6fb3261SAndroid Build Coastguard Worker* Fixes a reference binding to nullptr in `SdcaOptimizer` 3319*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29572](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29572)) 3320*b6fb3261SAndroid Build Coastguard Worker* Fixes an overflow and a denial of service in `tf.raw_ops.ReverseSequence` 3321*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29575](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29575)) 3322*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `MaxPoolGradWithArgmax` 3323*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29573](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29573)) 3324*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior in `MaxPool3DGradGrad` 3325*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29574](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29574)) 3326*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `MaxPool3DGradGrad` 3327*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29576](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29576)) 3328*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `AvgPool3DGrad` 3329*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29577](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29577)) 3330*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior and a `CHECK`-fail in `FractionalMaxPoolGrad` 3331*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29580](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29580)) 3332*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `FractionalAvgPoolGrad` 3333*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29578](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29578)) 3334*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `MaxPoolGrad` 3335*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29579](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29579)) 3336*b6fb3261SAndroid Build Coastguard Worker* Fixes a segfault in `CTCBeamSearchDecoder` 3337*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29581](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29581)) 3338*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB read in `tf.raw_ops.Dequantize` 3339*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29582](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29582)) 3340*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail due to integer overflow 3341*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29584](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29584)) 3342*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow and undefined behavior in `FusedBatchNorm` 3343*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29583](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29583)) 3344*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in padding computation in TFLite 3345*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29585](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29585)) 3346*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in optimized pooling implementations in TFLite 3347*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29586](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29586)) 3348*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's implementation of `SpaceToDepth` 3349*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29587](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29587)) 3350*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's implementation of `GatherNd` 3351*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29589](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29589)) 3352*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's implementation of `TransposeConv` 3353*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29588](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29588)) 3354*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB read in TFLite's implementation of `Minimum` or `Maximum` 3355*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29590](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29590)) 3356*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference in TFLite's `Reshape` operator 3357*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29592](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29592)) 3358*b6fb3261SAndroid Build Coastguard Worker* Fixes a stack overflow due to looping TFLite subgraph 3359*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29591](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29591)) 3360*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's implementation of `DepthToSpace` 3361*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29595](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29595)) 3362*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's convolution code 3363*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29594](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29594)) 3364*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's implementation of `EmbeddingLookup` 3365*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29596](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29596)) 3366*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's implementation of `BatchToSpaceNd` 3367*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29593](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29593)) 3368*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's implementation of `SpaceToBatchNd` 3369*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29597](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29597)) 3370*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's implementation of `SVDF` 3371*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29598](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29598)) 3372*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's implementation of `Split` 3373*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29599](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29599)) 3374*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's implementation of `OneHot` 3375*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29600](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29600)) 3376*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's implementation of `DepthwiseConv` 3377*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29602](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29602)) 3378*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's implementation of hashtable lookup 3379*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29604](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29604)) 3380*b6fb3261SAndroid Build Coastguard Worker* Fixes a integer overflow in TFLite concatentation 3381*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29601](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29601)) 3382*b6fb3261SAndroid Build Coastguard Worker* Fixes a integer overflow in TFLite memory allocation 3383*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29605](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29605)) 3384*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB write in TFLite 3385*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29603](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29603)) 3386*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB read in TFLite 3387*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29606](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29606)) 3388*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB and null pointer dereference in `RaggedTensorToTensor` 3389*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29608](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29608)) 3390*b6fb3261SAndroid Build Coastguard Worker* Fixes vulnerabilities caused by incomplete validation in `SparseAdd` 3391*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29609](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29609)) 3392*b6fb3261SAndroid Build Coastguard Worker* Fixes vulnerabilities caused by incomplete validation in 3393*b6fb3261SAndroid Build Coastguard Worker `SparseSparseMinimum` 3394*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29607](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29607)) 3395*b6fb3261SAndroid Build Coastguard Worker* Fixes vulnerabilities caused by incomplete validation in `SparseReshape` 3396*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29611](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29611)) 3397*b6fb3261SAndroid Build Coastguard Worker* Fixes vulnerabilities caused by invalid validation in 3398*b6fb3261SAndroid Build Coastguard Worker `QuantizeAndDequantizeV2` 3399*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29610](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29610)) 3400*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `BandedTriangularSolve` 3401*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29612](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29612)) 3402*b6fb3261SAndroid Build Coastguard Worker* Fixes vulnerabilities caused by incomplete validation in 3403*b6fb3261SAndroid Build Coastguard Worker `tf.raw_ops.CTCLoss` 3404*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29613](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29613)) 3405*b6fb3261SAndroid Build Coastguard Worker* Fixes an interpreter crash from vulnerabilities in `tf.io.decode_raw` 3406*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29614](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29614)) 3407*b6fb3261SAndroid Build Coastguard Worker* Fixes a stack overflow in `ParseAttrValue` with nested tensors 3408*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29615](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29615)) 3409*b6fb3261SAndroid Build Coastguard Worker* Fixes a null dereference in Grappler's `TrySimplify` 3410*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29616](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29616)) 3411*b6fb3261SAndroid Build Coastguard Worker* Fixes a crash in `tf.transpose` with complex inputs 3412*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29618](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29618)) 3413*b6fb3261SAndroid Build Coastguard Worker* Fixes a crash in `tf.strings.substr` due to `CHECK`-fail 3414*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29617](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29617)) 3415*b6fb3261SAndroid Build Coastguard Worker* Fixes a segfault in `tf.raw_ops.SparseCountSparseOutput` 3416*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29619](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29619)) 3417*b6fb3261SAndroid Build Coastguard Worker* Fixes a segfault in `tf.raw_ops.ImmutableConst` 3418*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29539](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29539)) 3419*b6fb3261SAndroid Build Coastguard Worker* Updates `curl` to `7.76.0` to handle 3420*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-8169](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8169), 3421*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-8177](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8177), 3422*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-8231](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8231), 3423*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-8284](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8284), 3424*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-8285](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8285) 3425*b6fb3261SAndroid Build Coastguard Worker and 3426*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-8286](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8286). 3427*b6fb3261SAndroid Build Coastguard Worker 3428*b6fb3261SAndroid Build Coastguard Worker# Release 2.1.4 3429*b6fb3261SAndroid Build Coastguard Worker 3430*b6fb3261SAndroid Build Coastguard WorkerThis release introduces several vulnerability fixes: 3431*b6fb3261SAndroid Build Coastguard Worker 3432*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `RaggedBinCount` 3433*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29512](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29512)) 3434*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap out of bounds write in `RaggedBinCount` 3435*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29514](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29514)) 3436*b6fb3261SAndroid Build Coastguard Worker* Fixes a type confusion during tensor casts which leads to dereferencing null 3437*b6fb3261SAndroid Build Coastguard Worker pointers 3438*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29513](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29513)) 3439*b6fb3261SAndroid Build Coastguard Worker* Fixes a reference binding to null pointer in `MatrixDiag*` ops 3440*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29515](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29515)) 3441*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference via invalid Ragged Tensors 3442*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29516](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29516)) 3443*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in `Conv3D` 3444*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29517](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29517)) 3445*b6fb3261SAndroid Build Coastguard Worker* Fixes vulnerabilities where session operations in eager mode lead to null 3446*b6fb3261SAndroid Build Coastguard Worker pointer dereferences 3447*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29518](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29518)) 3448*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in `SparseCross` caused by type confusion 3449*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29519](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29519)) 3450*b6fb3261SAndroid Build Coastguard Worker* Fixes a segfault in `SparseCountSparseOutput` 3451*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29521](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29521)) 3452*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `Conv3DBackprop*` 3453*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29520](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29520)) 3454*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `Conv3DBackprop*` 3455*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29522](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29522)) 3456*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in `AddManySparseToTensorsMap` 3457*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29523](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29523)) 3458*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `Conv2DBackpropFilter` 3459*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29524](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29524)) 3460*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `Conv2DBackpropInput` 3461*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29525](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29525)) 3462*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `Conv2D` 3463*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29526](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29526)) 3464*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `QuantizedConv2D` 3465*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29527](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29527)) 3466*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `QuantizedMul` 3467*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29528](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29528)) 3468*b6fb3261SAndroid Build Coastguard Worker* Fixes vulnerabilities caused by invalid validation in 3469*b6fb3261SAndroid Build Coastguard Worker `SparseMatrixSparseCholesky` 3470*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29530](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29530)) 3471*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow caused by rounding 3472*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29529](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29529)) 3473*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in `tf.raw_ops.EncodePng` 3474*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29531](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29531)) 3475*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap out of bounds read in `RaggedCross` 3476*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29532](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29532)) 3477*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in `DrawBoundingBoxes` 3478*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29533](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29533)) 3479*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `QuantizedMul` 3480*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29535](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29535)) 3481*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in `SparseConcat` 3482*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29534](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29534)) 3483*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `QuantizedResizeBilinear` 3484*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29537](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29537)) 3485*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `QuantizedReshape` 3486*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29536](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29536)) 3487*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in `Conv2DBackpropFilter` 3488*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29538](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29538)) 3489*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `Conv2DBackpropFilter` 3490*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29540](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29540)) 3491*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `StringNGrams` 3492*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29542](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29542)) 3493*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference in `StringNGrams` 3494*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29541](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29541)) 3495*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in `QuantizeAndDequantizeV4Grad` 3496*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29544](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29544)) 3497*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in `CTCGreedyDecoder` 3498*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29543](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29543)) 3499*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `SparseTensorToCSRSparseMatrix` 3500*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29545](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29545)) 3501*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `QuantizedBiasAdd` 3502*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29546](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29546)) 3503*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap out of bounds in `QuantizedBatchNormWithGlobalNormalization` 3504*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29547](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29547)) 3505*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `QuantizedBatchNormWithGlobalNormalization` 3506*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29548](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29548)) 3507*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `QuantizedAdd` 3508*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29549](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29549)) 3509*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `FractionalAvgPool` 3510*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29550](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29550)) 3511*b6fb3261SAndroid Build Coastguard Worker* Fixes an OOB read in `MatrixTriangularSolve` 3512*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29551](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29551)) 3513*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB in `QuantizeAndDequantizeV3` 3514*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29553](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29553)) 3515*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-failure in `UnsortedSegmentJoin` 3516*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29552](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29552)) 3517*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `DenseCountSparseOutput` 3518*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29554](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29554)) 3519*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `FusedBatchNorm` 3520*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29555](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29555)) 3521*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `SparseMatMul` 3522*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29557](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29557)) 3523*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `Reverse` 3524*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29556](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29556)) 3525*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `SparseSplit` 3526*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29558](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29558)) 3527*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB access in unicode ops 3528*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29559](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29559)) 3529*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `RaggedTensorToTensor` 3530*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29560](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29560)) 3531*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in `LoadAndRemapMatrix` 3532*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29561](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29561)) 3533*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in `tf.raw_ops.IRFFT` 3534*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29562](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29562)) 3535*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in `tf.raw_ops.RFFT` 3536*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29563](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29563)) 3537*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference in `EditDistance` 3538*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29564](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29564)) 3539*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference in `SparseFillEmptyRows` 3540*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29565](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29565)) 3541*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB access in `Dilation2DBackpropInput` 3542*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29566](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29566)) 3543*b6fb3261SAndroid Build Coastguard Worker* Fixes a reference binding to null in `ParameterizedTruncatedNormal` 3544*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29568](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29568)) 3545*b6fb3261SAndroid Build Coastguard Worker* Fixes a set of vulnerabilities caused by lack of validation in 3546*b6fb3261SAndroid Build Coastguard Worker `SparseDenseCwiseMul` 3547*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29567](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29567)) 3548*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap out of bounds read in `MaxPoolGradWithArgmax` 3549*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29570](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29570)) 3550*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap out of bounds read in `RequantizationRange` 3551*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29569](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29569)) 3552*b6fb3261SAndroid Build Coastguard Worker* Fixes a memory corruption in `DrawBoundingBoxesV2` 3553*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29571](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29571)) 3554*b6fb3261SAndroid Build Coastguard Worker* Fixes a reference binding to nullptr in `SdcaOptimizer` 3555*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29572](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29572)) 3556*b6fb3261SAndroid Build Coastguard Worker* Fixes an overflow and a denial of service in `tf.raw_ops.ReverseSequence` 3557*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29575](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29575)) 3558*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by 0 in `MaxPoolGradWithArgmax` 3559*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29573](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29573)) 3560*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior in `MaxPool3DGradGrad` 3561*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29574](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29574)) 3562*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `MaxPool3DGradGrad` 3563*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29576](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29576)) 3564*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `AvgPool3DGrad` 3565*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29577](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29577)) 3566*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior and a `CHECK`-fail in `FractionalMaxPoolGrad` 3567*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29580](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29580)) 3568*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `FractionalAvgPoolGrad` 3569*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29578](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29578)) 3570*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `MaxPoolGrad` 3571*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29579](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29579)) 3572*b6fb3261SAndroid Build Coastguard Worker* Fixes a segfault in `CTCBeamSearchDecoder` 3573*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29581](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29581)) 3574*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB read in `tf.raw_ops.Dequantize` 3575*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29582](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29582)) 3576*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail due to integer overflow 3577*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29584](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29584)) 3578*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow and undefined behavior in `FusedBatchNorm` 3579*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29583](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29583)) 3580*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in padding computation in TFLite 3581*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29585](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29585)) 3582*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in optimized pooling implementations in TFLite 3583*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29586](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29586)) 3584*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's implementation of `SpaceToDepth` 3585*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29587](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29587)) 3586*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's implementation of `GatherNd` 3587*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29589](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29589)) 3588*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's implementation of `TransposeConv` 3589*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29588](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29588)) 3590*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB read in TFLite's implementation of `Minimum` or `Maximum` 3591*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29590](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29590)) 3592*b6fb3261SAndroid Build Coastguard Worker* Fixes a null pointer dereference in TFLite's `Reshape` operator 3593*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29592](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29592)) 3594*b6fb3261SAndroid Build Coastguard Worker* Fixes a stack overflow due to looping TFLite subgraph 3595*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29591](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29591)) 3596*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's implementation of `DepthToSpace` 3597*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29595](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29595)) 3598*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's convolution code 3599*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29594](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29594)) 3600*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's implementation of `EmbeddingLookup` 3601*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29596](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29596)) 3602*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's implementation of `BatchToSpaceNd` 3603*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29593](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29593)) 3604*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's implementation of `SpaceToBatchNd` 3605*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29597](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29597)) 3606*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's implementation of `SVDF` 3607*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29598](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29598)) 3608*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's implementation of `Split` 3609*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29599](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29599)) 3610*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's implementation of `OneHot` 3611*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29600](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29600)) 3612*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's implementation of `DepthwiseConv` 3613*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29602](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29602)) 3614*b6fb3261SAndroid Build Coastguard Worker* Fixes a division by zero in TFLite's implementation of hashtable lookup 3615*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29604](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29604)) 3616*b6fb3261SAndroid Build Coastguard Worker* Fixes a integer overflow in TFLite concatentation 3617*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29601](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29601)) 3618*b6fb3261SAndroid Build Coastguard Worker* Fixes a integer overflow in TFLite memory allocation 3619*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29605](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29605)) 3620*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB write in TFLite 3621*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29603](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29603)) 3622*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB read in TFLite 3623*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29606](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29606)) 3624*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap OOB and null pointer dereference in `RaggedTensorToTensor` 3625*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29608](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29608)) 3626*b6fb3261SAndroid Build Coastguard Worker* Fixes vulnerabilities caused by incomplete validation in `SparseAdd` 3627*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29609](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29609)) 3628*b6fb3261SAndroid Build Coastguard Worker* Fixes vulnerabilities caused by incomplete validation in 3629*b6fb3261SAndroid Build Coastguard Worker `SparseSparseMinimum` 3630*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29607](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29607)) 3631*b6fb3261SAndroid Build Coastguard Worker* Fixes vulnerabilities caused by incomplete validation in `SparseReshape` 3632*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29611](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29611)) 3633*b6fb3261SAndroid Build Coastguard Worker* Fixes vulnerabilities caused by invalid validation in 3634*b6fb3261SAndroid Build Coastguard Worker `QuantizeAndDequantizeV2` 3635*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29610](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29610)) 3636*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap buffer overflow in `BandedTriangularSolve` 3637*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29612](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29612)) 3638*b6fb3261SAndroid Build Coastguard Worker* Fixes vulnerabilities caused by incomplete validation in 3639*b6fb3261SAndroid Build Coastguard Worker `tf.raw_ops.CTCLoss` 3640*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29613](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29613)) 3641*b6fb3261SAndroid Build Coastguard Worker* Fixes an interpreter crash from vulnerabilities in `tf.io.decode_raw` 3642*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29614](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29614)) 3643*b6fb3261SAndroid Build Coastguard Worker* Fixes a stack overflow in `ParseAttrValue` with nested tensors 3644*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29615](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29615)) 3645*b6fb3261SAndroid Build Coastguard Worker* Fixes a null dereference in Grappler's `TrySimplify` 3646*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29616](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29616)) 3647*b6fb3261SAndroid Build Coastguard Worker* Fixes a crash in `tf.transpose` with complex inputs 3648*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29618](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29618)) 3649*b6fb3261SAndroid Build Coastguard Worker* Fixes a crash in `tf.strings.substr` due to `CHECK`-fail 3650*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29617](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29617)) 3651*b6fb3261SAndroid Build Coastguard Worker* Fixes a segfault in `tf.raw_ops.SparseCountSparseOutput` 3652*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29619](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29619)) 3653*b6fb3261SAndroid Build Coastguard Worker* Fixes a segfault in `tf.raw_ops.ImmutableConst` 3654*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29539](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29539)) 3655*b6fb3261SAndroid Build Coastguard Worker* Updates `curl` to `7.76.0` to handle 3656*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-8169](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8169), 3657*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-8177](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8177), 3658*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-8231](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8231), 3659*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-8284](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8284), 3660*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-8285](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8285) 3661*b6fb3261SAndroid Build Coastguard Worker and 3662*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-8286](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8286). 3663*b6fb3261SAndroid Build Coastguard Worker 3664*b6fb3261SAndroid Build Coastguard Worker# Release 2.5.0 3665*b6fb3261SAndroid Build Coastguard Worker 3666*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements 3667*b6fb3261SAndroid Build Coastguard Worker 3668*b6fb3261SAndroid Build Coastguard Worker* Support for Python3.9 has been added. 3669*b6fb3261SAndroid Build Coastguard Worker* `tf.data`: 3670*b6fb3261SAndroid Build Coastguard Worker * `tf.data` service now supports strict round-robin reads, which is useful 3671*b6fb3261SAndroid Build Coastguard Worker for synchronous training workloads where example sizes vary. With strict 3672*b6fb3261SAndroid Build Coastguard Worker round robin reads, users can guarantee that consumers get similar-sized 3673*b6fb3261SAndroid Build Coastguard Worker examples in the same step. 3674*b6fb3261SAndroid Build Coastguard Worker * tf.data service now supports optional compression. Previously data would 3675*b6fb3261SAndroid Build Coastguard Worker always be compressed, but now you can disable compression by passing 3676*b6fb3261SAndroid Build Coastguard Worker `compression=None` to `tf.data.experimental.service.distribute(...)`. 3677*b6fb3261SAndroid Build Coastguard Worker * `tf.data.Dataset.batch()` now supports `num_parallel_calls` and 3678*b6fb3261SAndroid Build Coastguard Worker `deterministic` arguments. `num_parallel_calls` is used to indicate that 3679*b6fb3261SAndroid Build Coastguard Worker multiple input batches should be computed in parallel. With 3680*b6fb3261SAndroid Build Coastguard Worker `num_parallel_calls` set, `deterministic` is used to indicate that 3681*b6fb3261SAndroid Build Coastguard Worker outputs can be obtained in the non-deterministic order. 3682*b6fb3261SAndroid Build Coastguard Worker * Options returned by `tf.data.Dataset.options()` are no longer mutable. 3683*b6fb3261SAndroid Build Coastguard Worker * tf.data input pipelines can now be executed in debug mode, which 3684*b6fb3261SAndroid Build Coastguard Worker disables any asynchrony, parallelism, or non-determinism and forces 3685*b6fb3261SAndroid Build Coastguard Worker Python execution (as opposed to trace-compiled graph execution) of 3686*b6fb3261SAndroid Build Coastguard Worker user-defined functions passed into transformations such as `map`. The 3687*b6fb3261SAndroid Build Coastguard Worker debug mode can be enabled through 3688*b6fb3261SAndroid Build Coastguard Worker `tf.data.experimental.enable_debug_mode()`. 3689*b6fb3261SAndroid Build Coastguard Worker* `tf.lite` 3690*b6fb3261SAndroid Build Coastguard Worker * Enabled the new MLIR-based quantization backend by default 3691*b6fb3261SAndroid Build Coastguard Worker * The new backend is used for 8 bits full integer post-training 3692*b6fb3261SAndroid Build Coastguard Worker quantization 3693*b6fb3261SAndroid Build Coastguard Worker * The new backend removes the redundant rescales and fixes some bugs 3694*b6fb3261SAndroid Build Coastguard Worker (shared weight/bias, extremely small scales, etc) 3695*b6fb3261SAndroid Build Coastguard Worker * Set `experimental_new_quantizer` in tf.lite.TFLiteConverter to False 3696*b6fb3261SAndroid Build Coastguard Worker to disable this change 3697*b6fb3261SAndroid Build Coastguard Worker* `tf.keras` 3698*b6fb3261SAndroid Build Coastguard Worker * `tf.keras.metrics.AUC` now support logit predictions. 3699*b6fb3261SAndroid Build Coastguard Worker * Enabled a new supported input type in `Model.fit`, 3700*b6fb3261SAndroid Build Coastguard Worker `tf.keras.utils.experimental.DatasetCreator`, which takes a callable, 3701*b6fb3261SAndroid Build Coastguard Worker `dataset_fn`. `DatasetCreator` is intended to work across all 3702*b6fb3261SAndroid Build Coastguard Worker `tf.distribute` strategies, and is the only input type supported for 3703*b6fb3261SAndroid Build Coastguard Worker Parameter Server strategy. 3704*b6fb3261SAndroid Build Coastguard Worker* `tf.distribute` 3705*b6fb3261SAndroid Build Coastguard Worker * `tf.distribute.experimental.ParameterServerStrategy` now supports 3706*b6fb3261SAndroid Build Coastguard Worker training with Keras `Model.fit` when used with `DatasetCreator`. 3707*b6fb3261SAndroid Build Coastguard Worker * Creating `tf.random.Generator` under `tf.distribute.Strategy` scopes is 3708*b6fb3261SAndroid Build Coastguard Worker now allowed (except for 3709*b6fb3261SAndroid Build Coastguard Worker `tf.distribute.experimental.CentralStorageStrategy` and 3710*b6fb3261SAndroid Build Coastguard Worker `tf.distribute.experimental.ParameterServerStrategy`). Different 3711*b6fb3261SAndroid Build Coastguard Worker replicas will get different random-number streams. 3712*b6fb3261SAndroid Build Coastguard Worker* TPU embedding support 3713*b6fb3261SAndroid Build Coastguard Worker * Added `profile_data_directory` to `EmbeddingConfigSpec` in 3714*b6fb3261SAndroid Build Coastguard Worker `_tpu_estimator_embedding.py`. This allows embedding lookup statistics 3715*b6fb3261SAndroid Build Coastguard Worker gathered at runtime to be used in embedding layer partitioning 3716*b6fb3261SAndroid Build Coastguard Worker decisions. 3717*b6fb3261SAndroid Build Coastguard Worker* PluggableDevice 3718*b6fb3261SAndroid Build Coastguard Worker * Third-party devices can now connect to TensorFlow as plug-ins through 3719*b6fb3261SAndroid Build Coastguard Worker [StreamExecutor C API](https://github.com/tensorflow/community/blob/master/rfcs/20200612-stream-executor-c-api.md). 3720*b6fb3261SAndroid Build Coastguard Worker and 3721*b6fb3261SAndroid Build Coastguard Worker [PluggableDevice](https://github.com/tensorflow/community/blob/master/rfcs/20200624-pluggable-device-for-tensorflow.md) 3722*b6fb3261SAndroid Build Coastguard Worker interface. 3723*b6fb3261SAndroid Build Coastguard Worker * Add custom ops and kernels through 3724*b6fb3261SAndroid Build Coastguard Worker [kernel and op registration C API](https://github.com/tensorflow/community/blob/master/rfcs/20190814-kernel-and-op-registration.md). 3725*b6fb3261SAndroid Build Coastguard Worker * Register custom graph optimization passes with 3726*b6fb3261SAndroid Build Coastguard Worker [graph optimization C API](https://github.com/tensorflow/community/blob/master/rfcs/20201027-modular-tensorflow-graph-c-api.md). 3727*b6fb3261SAndroid Build Coastguard Worker* [oneAPI Deep Neural Network Library (oneDNN)](https://github.com/oneapi-src/oneDNN) 3728*b6fb3261SAndroid Build Coastguard Worker CPU performance optimizations from 3729*b6fb3261SAndroid Build Coastguard Worker [Intel-optimized TensorFlow](https://software.intel.com/content/www/us/en/develop/articles/intel-optimization-for-tensorflow-installation-guide.html) 3730*b6fb3261SAndroid Build Coastguard Worker are now available in the official x86-64 Linux and Windows builds. 3731*b6fb3261SAndroid Build Coastguard Worker * They are off by default. Enable them by setting the environment variable 3732*b6fb3261SAndroid Build Coastguard Worker `TF_ENABLE_ONEDNN_OPTS=1`. 3733*b6fb3261SAndroid Build Coastguard Worker * We do not recommend using them in GPU systems, as they have not been 3734*b6fb3261SAndroid Build Coastguard Worker sufficiently tested with GPUs yet. 3735*b6fb3261SAndroid Build Coastguard Worker* TensorFlow pip packages are now built with CUDA11.2 and cuDNN 8.1.0 3736*b6fb3261SAndroid Build Coastguard Worker 3737*b6fb3261SAndroid Build Coastguard Worker## Breaking Changes 3738*b6fb3261SAndroid Build Coastguard Worker 3739*b6fb3261SAndroid Build Coastguard Worker* The `TF_CPP_MIN_VLOG_LEVEL` environment variable has been renamed to 3740*b6fb3261SAndroid Build Coastguard Worker `TF_CPP_MAX_VLOG_LEVEL` which correctly describes its effect. 3741*b6fb3261SAndroid Build Coastguard Worker 3742*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 3743*b6fb3261SAndroid Build Coastguard Worker 3744*b6fb3261SAndroid Build Coastguard Worker* `tf.keras`: 3745*b6fb3261SAndroid Build Coastguard Worker 3746*b6fb3261SAndroid Build Coastguard Worker * Preprocessing layers API consistency changes: 3747*b6fb3261SAndroid Build Coastguard Worker * `StringLookup` added `output_mode`, `sparse`, and 3748*b6fb3261SAndroid Build Coastguard Worker `pad_to_max_tokens` arguments with same semantics as 3749*b6fb3261SAndroid Build Coastguard Worker `TextVectorization`. 3750*b6fb3261SAndroid Build Coastguard Worker * `IntegerLookup` added `output_mode`, `sparse`, and 3751*b6fb3261SAndroid Build Coastguard Worker `pad_to_max_tokens` arguments with same semantics as 3752*b6fb3261SAndroid Build Coastguard Worker `TextVectorization`. Renamed `max_values`, `oov_value` and 3753*b6fb3261SAndroid Build Coastguard Worker `mask_value` to `max_tokens`, `oov_token` and `mask_token` to align 3754*b6fb3261SAndroid Build Coastguard Worker with `StringLookup` and `TextVectorization`. 3755*b6fb3261SAndroid Build Coastguard Worker * `TextVectorization` default for `pad_to_max_tokens` switched to 3756*b6fb3261SAndroid Build Coastguard Worker False. 3757*b6fb3261SAndroid Build Coastguard Worker * `CategoryEncoding` no longer supports `adapt`, `IntegerLookup` now 3758*b6fb3261SAndroid Build Coastguard Worker supports equivalent functionality. `max_tokens` argument renamed to 3759*b6fb3261SAndroid Build Coastguard Worker `num_tokens`. 3760*b6fb3261SAndroid Build Coastguard Worker * `Discretization` added `num_bins` argument for learning bins 3761*b6fb3261SAndroid Build Coastguard Worker boundaries through calling `adapt` on a dataset. Renamed `bins` 3762*b6fb3261SAndroid Build Coastguard Worker argument to `bin_boundaries` for specifying bins without `adapt`. 3763*b6fb3261SAndroid Build Coastguard Worker * Improvements to model saving/loading: 3764*b6fb3261SAndroid Build Coastguard Worker * `model.load_weights` now accepts paths to saved models. 3765*b6fb3261SAndroid Build Coastguard Worker * Keras inputs can now be created directly from arbitrary `tf.TypeSpecs`. 3766*b6fb3261SAndroid Build Coastguard Worker * Two new learning rate schedules added: 3767*b6fb3261SAndroid Build Coastguard Worker `tf.keras.optimizers.schedules.CosineDecay` 3768*b6fb3261SAndroid Build Coastguard Worker and`tf.keras.optimizers.schedules.CosineDecayRestarts`. 3769*b6fb3261SAndroid Build Coastguard Worker 3770*b6fb3261SAndroid Build Coastguard Worker* `tf.data`: 3771*b6fb3261SAndroid Build Coastguard Worker 3772*b6fb3261SAndroid Build Coastguard Worker * Exposing `tf.data.experimental.ExternalStatePolicy`, which can be used 3773*b6fb3261SAndroid Build Coastguard Worker to control how external state should be handled during dataset 3774*b6fb3261SAndroid Build Coastguard Worker serialization or iterator checkpointing. 3775*b6fb3261SAndroid Build Coastguard Worker * Changing `tf.data.experimental.save` to store the type specification of 3776*b6fb3261SAndroid Build Coastguard Worker the dataset elements. This avoids the need for explicitly specifying the 3777*b6fb3261SAndroid Build Coastguard Worker `element_spec` argument of `tf.data.experimental.load` when loading the 3778*b6fb3261SAndroid Build Coastguard Worker previously saved dataset. 3779*b6fb3261SAndroid Build Coastguard Worker * Add `.element_spec` property to `tf.data.DatasetSpec` to access the 3780*b6fb3261SAndroid Build Coastguard Worker inner spec. This can be used to extract the structure of nested 3781*b6fb3261SAndroid Build Coastguard Worker datasets. 3782*b6fb3261SAndroid Build Coastguard Worker * Add `tf.data.experimental.AutoShardingPolicy.HINT` which can be used to 3783*b6fb3261SAndroid Build Coastguard Worker provide hints to tf.distribute-based auto-sharding as to where in the 3784*b6fb3261SAndroid Build Coastguard Worker input pipeline to insert sharding transformations. 3785*b6fb3261SAndroid Build Coastguard Worker * Make tf.data.Options persistent across `tf.function` and `GraphDef` 3786*b6fb3261SAndroid Build Coastguard Worker boundaries. 3787*b6fb3261SAndroid Build Coastguard Worker 3788*b6fb3261SAndroid Build Coastguard Worker* XLA compilation: 3789*b6fb3261SAndroid Build Coastguard Worker 3790*b6fb3261SAndroid Build Coastguard Worker * `tf.function(experimental_compile=True)` has become a stable API, 3791*b6fb3261SAndroid Build Coastguard Worker renamed `tf.function(jit_compile=True)`. 3792*b6fb3261SAndroid Build Coastguard Worker * XLA can now compile MirroredStrategy: the step function passed 3793*b6fb3261SAndroid Build Coastguard Worker to`strategy.run` can now be annoted with `jit_compile=True`. 3794*b6fb3261SAndroid Build Coastguard Worker 3795*b6fb3261SAndroid Build Coastguard Worker* `tf.distribute`: 3796*b6fb3261SAndroid Build Coastguard Worker 3797*b6fb3261SAndroid Build Coastguard Worker * Rename `experimental_prefetch_to_device` in `tf.distribute.InputOptions` 3798*b6fb3261SAndroid Build Coastguard Worker to `experimental_fetch_to_device` to better reflect the purpose. 3799*b6fb3261SAndroid Build Coastguard Worker 3800*b6fb3261SAndroid Build Coastguard Worker* `tf.lite`: 3801*b6fb3261SAndroid Build Coastguard Worker 3802*b6fb3261SAndroid Build Coastguard Worker * class `tflite::Subgraph`: 3803*b6fb3261SAndroid Build Coastguard Worker * Removed the `tensors()` method and the non-const overload of the 3804*b6fb3261SAndroid Build Coastguard Worker `nodes_and_registration()` method, both of which were previously 3805*b6fb3261SAndroid Build Coastguard Worker documented as temporary and to be removed. 3806*b6fb3261SAndroid Build Coastguard Worker * Uses of `tensors()` can be replaced by calling the existing 3807*b6fb3261SAndroid Build Coastguard Worker methods `tensors_size()` and `tensor(int)`. 3808*b6fb3261SAndroid Build Coastguard Worker * Uses of the non-const overload of `nodes_and_registration` can 3809*b6fb3261SAndroid Build Coastguard Worker be replaced by calling the existing methods `nodes_size()` and 3810*b6fb3261SAndroid Build Coastguard Worker `context()`, and then calling the `GetNodeAndRegistration` 3811*b6fb3261SAndroid Build Coastguard Worker method in the `TfLiteContext` returned by `context()`. 3812*b6fb3261SAndroid Build Coastguard Worker * NNAPI 3813*b6fb3261SAndroid Build Coastguard Worker * Removed deprecated `Interpreter::UseNNAPI(bool)` C++ API. 3814*b6fb3261SAndroid Build Coastguard Worker * Use `NnApiDelegate()` and related delegate configuration methods 3815*b6fb3261SAndroid Build Coastguard Worker directly. 3816*b6fb3261SAndroid Build Coastguard Worker * Replaced the model cache key for models computation algorithm with 3817*b6fb3261SAndroid Build Coastguard Worker one guaranteed to be stable across runs. 3818*b6fb3261SAndroid Build Coastguard Worker * 16 bits quantization 3819*b6fb3261SAndroid Build Coastguard Worker * Added int16x8 support for ABS, REDUCE_MAX and REDUCE_MIN operators. 3820*b6fb3261SAndroid Build Coastguard Worker * Additional tests and fixes for ADD and SUB operators. 3821*b6fb3261SAndroid Build Coastguard Worker * Added support for saved model's session initializer through 3822*b6fb3261SAndroid Build Coastguard Worker `TFLiteConverter.from_saved_model`. 3823*b6fb3261SAndroid Build Coastguard Worker * Added DEPTH_TO_SPACE support in Post training quantization. 3824*b6fb3261SAndroid Build Coastguard Worker * Added dynamic range quantization support for the BatchMatMul op. 3825*b6fb3261SAndroid Build Coastguard Worker * Both symmetric and asymmetric quantized input tensor are supported. 3826*b6fb3261SAndroid Build Coastguard Worker * Add `RFFT2D` as builtin op. (`RFFT2D` also supports `RFFTD`.) Currently 3827*b6fb3261SAndroid Build Coastguard Worker only supports float32 input. 3828*b6fb3261SAndroid Build Coastguard Worker * Add 5D support to `SLICE` op. 3829*b6fb3261SAndroid Build Coastguard Worker * TFLite Supports SingatureDef: 3830*b6fb3261SAndroid Build Coastguard Worker * TFLiteConverter exports models with SignatureDef 3831*b6fb3261SAndroid Build Coastguard Worker * Interpreter supports getting a list of signatures and getting 3832*b6fb3261SAndroid Build Coastguard Worker callable function for a given signaturedef. 3833*b6fb3261SAndroid Build Coastguard Worker * Add int8 support for `ReshapeV2`. 3834*b6fb3261SAndroid Build Coastguard Worker * Add experimental support for optimization with sparsity. 3835*b6fb3261SAndroid Build Coastguard Worker * Add nominal support for unsigned 32-bit integer tensor types. Note that 3836*b6fb3261SAndroid Build Coastguard Worker very few TFLite kernels support this type natively, so its use in mobile 3837*b6fb3261SAndroid Build Coastguard Worker ML authoring is generally discouraged. 3838*b6fb3261SAndroid Build Coastguard Worker * Add support for static hash tables through 3839*b6fb3261SAndroid Build Coastguard Worker `TFLiteConverter.from_saved_model`. 3840*b6fb3261SAndroid Build Coastguard Worker * The Python TF Lite Interpreter bindings now has an option 3841*b6fb3261SAndroid Build Coastguard Worker `experimental_preserve_all_tensors` to aid in debugging conversion. 3842*b6fb3261SAndroid Build Coastguard Worker * Quantized x86 execution defaults to Ruy GEMM library for platforms with 3843*b6fb3261SAndroid Build Coastguard Worker AVX support. 3844*b6fb3261SAndroid Build Coastguard Worker * Deprecate 3845*b6fb3261SAndroid Build Coastguard Worker `tf.compat.v1.lite.experimental.get_potentially_supported_ops`. Use 3846*b6fb3261SAndroid Build Coastguard Worker `tf.lite.TFLiteConverter` directly to check whether a model is 3847*b6fb3261SAndroid Build Coastguard Worker convertible. 3848*b6fb3261SAndroid Build Coastguard Worker * Add support to select one of three different built-in op resolvers 3849*b6fb3261SAndroid Build Coastguard Worker * Enabled post training with calibrations for models that require user 3850*b6fb3261SAndroid Build Coastguard Worker provided TensorFlow Lite custom op libraries via 3851*b6fb3261SAndroid Build Coastguard Worker `converter.target_spec._experimental_custom_op_registerers`. used in 3852*b6fb3261SAndroid Build Coastguard Worker Python Interpreter API. 3853*b6fb3261SAndroid Build Coastguard Worker 3854*b6fb3261SAndroid Build Coastguard Worker* TF Core: 3855*b6fb3261SAndroid Build Coastguard Worker 3856*b6fb3261SAndroid Build Coastguard Worker * Corrected higher-order gradients of control flow constructs (`tf.cond`, 3857*b6fb3261SAndroid Build Coastguard Worker `tf.while_loop`, and compositions like `tf.foldl`) computed with 3858*b6fb3261SAndroid Build Coastguard Worker `tf.GradientTape` inside a `tf.function`. 3859*b6fb3261SAndroid Build Coastguard Worker * Changed the default step size in `gradient_checker_v2.compute_gradients` 3860*b6fb3261SAndroid Build Coastguard Worker to be exactly representable as a binary floating point numbers. This 3861*b6fb3261SAndroid Build Coastguard Worker avoids poluting gradient approximations needlessly, which is some cases 3862*b6fb3261SAndroid Build Coastguard Worker leads to false negatives in op gradient tests. 3863*b6fb3261SAndroid Build Coastguard Worker * Added `tf.config.experimental.get_memory_info`, returning a dict with 3864*b6fb3261SAndroid Build Coastguard Worker the current and peak memory usage. Deprecated 3865*b6fb3261SAndroid Build Coastguard Worker `tf.config.experimental.get_memory_usage` in favor of this new function. 3866*b6fb3261SAndroid Build Coastguard Worker * Extended `tf.config.experimental.enable_tensor_float_32_execution` to 3867*b6fb3261SAndroid Build Coastguard Worker control Tensor-Float-32 evaluation in RNNs. 3868*b6fb3261SAndroid Build Coastguard Worker * Added a 'experimental_payloads' field to tf.errors.OpError and its 3869*b6fb3261SAndroid Build Coastguard Worker subclasses to support more detailed error reporting. This is inspired 3870*b6fb3261SAndroid Build Coastguard Worker from Abseil Status payloads: 3871*b6fb3261SAndroid Build Coastguard Worker https://github.com/abseil/abseil-cpp/blob/master/absl/status/status.h 3872*b6fb3261SAndroid Build Coastguard Worker 3873*b6fb3261SAndroid Build Coastguard Worker* `tf.summary`: 3874*b6fb3261SAndroid Build Coastguard Worker 3875*b6fb3261SAndroid Build Coastguard Worker * New `tf.summary.graph` allows manual write of TensorFlow graph 3876*b6fb3261SAndroid Build Coastguard Worker (`tf.Graph` or `tf.compat.v1.GraphDef`) as a summary. This is not a 3877*b6fb3261SAndroid Build Coastguard Worker replacement for the trace-based API. 3878*b6fb3261SAndroid Build Coastguard Worker 3879*b6fb3261SAndroid Build Coastguard Worker* Set `/d2ReducedOptimizeHugeFunctions` by default for Windows builds. This 3880*b6fb3261SAndroid Build Coastguard Worker provides a big compile-time speedup, and effectively raises the minimum 3881*b6fb3261SAndroid Build Coastguard Worker supported MSVC version to 16.4 (current: 16.8). 3882*b6fb3261SAndroid Build Coastguard Worker 3883*b6fb3261SAndroid Build Coastguard Worker * See: 3884*b6fb3261SAndroid Build Coastguard Worker https://groups.google.com/a/tensorflow.org/d/topic/build/SsW98Eo7l3o/discussion 3885*b6fb3261SAndroid Build Coastguard Worker 3886*b6fb3261SAndroid Build Coastguard Worker* TensorRT 3887*b6fb3261SAndroid Build Coastguard Worker 3888*b6fb3261SAndroid Build Coastguard Worker * Removed the deprecated `session_config` parameter for the TF1-TRT 3889*b6fb3261SAndroid Build Coastguard Worker converter `TrtGraphConverter`. Previously, we issued a warning when the 3890*b6fb3261SAndroid Build Coastguard Worker value of the parameter is not None. 3891*b6fb3261SAndroid Build Coastguard Worker * The TF2-TRT converter `TrtGraphConverterV2` takes an object of class 3892*b6fb3261SAndroid Build Coastguard Worker TrtConversionParams as a parameter. Removed three deprecated fields from 3893*b6fb3261SAndroid Build Coastguard Worker this class: `rewriter_config_template`, `is_dynamic_op`, and 3894*b6fb3261SAndroid Build Coastguard Worker `max_batch_size`. Previously, we issued a warning when the value of 3895*b6fb3261SAndroid Build Coastguard Worker `rewriter_config_template` is not None. We issued an error when the 3896*b6fb3261SAndroid Build Coastguard Worker value of `is_dynamic_op` is not True. We didn't use the value for 3897*b6fb3261SAndroid Build Coastguard Worker `max_batch_size` for building TensorRT engines. Add parameters 3898*b6fb3261SAndroid Build Coastguard Worker `use_dynamic_shape` to enable dynamic shape support. The default is to 3899*b6fb3261SAndroid Build Coastguard Worker disable dynamic shape support. Add `dynamic_shape_profile_strategy` for 3900*b6fb3261SAndroid Build Coastguard Worker selecting a dynamic shape profile strategy. The default is profile 3901*b6fb3261SAndroid Build Coastguard Worker strategy is `Range`. 3902*b6fb3261SAndroid Build Coastguard Worker * Issue a warning when function get_tensorrt_rewriter_config is used. 3903*b6fb3261SAndroid Build Coastguard Worker 3904*b6fb3261SAndroid Build Coastguard Worker* TF XLA 3905*b6fb3261SAndroid Build Coastguard Worker 3906*b6fb3261SAndroid Build Coastguard Worker * Add new enum value `MLIR_BRIDGE_ROLLOUT_SAFE_MODE_ENABLED` to 3907*b6fb3261SAndroid Build Coastguard Worker `tf.config.experimental.mlir_bridge_rollout` to enable a \"safe\" mode. 3908*b6fb3261SAndroid Build Coastguard Worker This runs the MLIR bridge only when an analysis of the graph only when 3909*b6fb3261SAndroid Build Coastguard Worker an analysis of the graph determines that it is safe to run. 3910*b6fb3261SAndroid Build Coastguard Worker * Add new enum value `MLIR_BRIDGE_ROLLOUT_SAFE_MODE_FALLBACK_ENABLED' 3911*b6fb3261SAndroid Build Coastguard Worker to`tf.config.experimental.mlir_bridge_rollout` to enable a fallback for 3912*b6fb3261SAndroid Build Coastguard Worker the MLIR bridge in a \"safe\" mode. This runs the MLIR bridge in a 3913*b6fb3261SAndroid Build Coastguard Worker FallbackEnabled mode when an analysis of the graph determines that the 3914*b6fb3261SAndroid Build Coastguard Worker graph does not have unsupported features. 3915*b6fb3261SAndroid Build Coastguard Worker 3916*b6fb3261SAndroid Build Coastguard Worker* Deterministic Op Functionality: 3917*b6fb3261SAndroid Build Coastguard Worker 3918*b6fb3261SAndroid Build Coastguard Worker * Add determinism-unimplemented exception-throwing to the segment-sum ops. 3919*b6fb3261SAndroid Build Coastguard Worker When the environment variable `TF_DETERMINISTIC_OPS` is set to `"true"` 3920*b6fb3261SAndroid Build Coastguard Worker or `"1"` (when op-determinism is expected), an attempt to run the 3921*b6fb3261SAndroid Build Coastguard Worker following ops on a GPU will throw `tf.errors.UnimplementedError` (with 3922*b6fb3261SAndroid Build Coastguard Worker an understandable message) when `data` is a floating-point type, 3923*b6fb3261SAndroid Build Coastguard Worker including complex types (if supported): `tf.math.segment_prod`, 3924*b6fb3261SAndroid Build Coastguard Worker `tf.math.segment_sum`, `tf.math.unsorted_segment_mean`, 3925*b6fb3261SAndroid Build Coastguard Worker `tf.math.unsorted_segment_sqrt_n`, `tf.math.unsorted_segment_prod`, 3926*b6fb3261SAndroid Build Coastguard Worker `tf.math.unsorted_segment_sum`, and therefore also 3927*b6fb3261SAndroid Build Coastguard Worker `tf.convert_to_tensor` when `value` is of type `tf.IndexedSlices` (such 3928*b6fb3261SAndroid Build Coastguard Worker as in the back prop though `tf.gather` into a dense embedding). See 3929*b6fb3261SAndroid Build Coastguard Worker issue [39751](https://github.com/tensorflow/tensorflow/issues/39751) 3930*b6fb3261SAndroid Build Coastguard Worker which this change addresses, but does not solve. This exception-throwing 3931*b6fb3261SAndroid Build Coastguard Worker behavior can be disabled by setting the environment variable 3932*b6fb3261SAndroid Build Coastguard Worker `TF_DISABLE_SEGMENT_REDUCTION_OP_DETERMINISM_EXCEPTIONS` to `"true"` or 3933*b6fb3261SAndroid Build Coastguard Worker `"1"`. For more information about these changes, see the description in 3934*b6fb3261SAndroid Build Coastguard Worker pull request 3935*b6fb3261SAndroid Build Coastguard Worker [47772](https://github.com/tensorflow/tensorflow/pull/47772). 3936*b6fb3261SAndroid Build Coastguard Worker * In previous versions of TensorFlow, when a GPU was available, 3937*b6fb3261SAndroid Build Coastguard Worker `tf.sparse.sparse_dense_matmul` introduced truly random noise in the 3938*b6fb3261SAndroid Build Coastguard Worker forward path for data of type `tf.float32` but not for data of type 3939*b6fb3261SAndroid Build Coastguard Worker `tf.float64` (for which there was no GPU implementation). In this 3940*b6fb3261SAndroid Build Coastguard Worker current release, GPU support for other floating-point types 3941*b6fb3261SAndroid Build Coastguard Worker (`tf.float16`, `tf.float64`, `tf.complex64`, and `tf.complex128`) has 3942*b6fb3261SAndroid Build Coastguard Worker been added for this op. If you were relying on the determinism of the 3943*b6fb3261SAndroid Build Coastguard Worker `tf.float64` CPU implementation being automatically selected because of 3944*b6fb3261SAndroid Build Coastguard Worker the absence of the `tf.float64` GPU implementation, you with either need 3945*b6fb3261SAndroid Build Coastguard Worker to force the op to run on the CPU or use a different data type. 3946*b6fb3261SAndroid Build Coastguard Worker 3947*b6fb3261SAndroid Build Coastguard Worker* Security 3948*b6fb3261SAndroid Build Coastguard Worker 3949*b6fb3261SAndroid Build Coastguard Worker * Fixes a heap buffer overflow in `RaggedBinCount` 3950*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29512](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29512)) 3951*b6fb3261SAndroid Build Coastguard Worker * Fixes a heap out of bounds write in `RaggedBinCount` 3952*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29514](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29514)) 3953*b6fb3261SAndroid Build Coastguard Worker * Fixes a type confusion during tensor casts which leads to dereferencing 3954*b6fb3261SAndroid Build Coastguard Worker null pointers 3955*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29513](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29513)) 3956*b6fb3261SAndroid Build Coastguard Worker * Fixes a reference binding to null pointer in `MatrixDiag*` ops 3957*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29515](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29515)) 3958*b6fb3261SAndroid Build Coastguard Worker * Fixes a null pointer dereference via invalid Ragged Tensors 3959*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29516](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29516)) 3960*b6fb3261SAndroid Build Coastguard Worker * Fixes a division by zero in `Conv3D` 3961*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29517](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29517)) 3962*b6fb3261SAndroid Build Coastguard Worker * Fixes vulnerabilities where session operations in eager mode lead to 3963*b6fb3261SAndroid Build Coastguard Worker null pointer dereferences 3964*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29518](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29518)) 3965*b6fb3261SAndroid Build Coastguard Worker * Fixes a `CHECK`-fail in `SparseCross` caused by type confusion 3966*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29519](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29519)) 3967*b6fb3261SAndroid Build Coastguard Worker * Fixes a segfault in `SparseCountSparseOutput` 3968*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29521](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29521)) 3969*b6fb3261SAndroid Build Coastguard Worker * Fixes a heap buffer overflow in `Conv3DBackprop*` 3970*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29520](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29520)) 3971*b6fb3261SAndroid Build Coastguard Worker * Fixes a division by 0 in `Conv3DBackprop*` 3972*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29522](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29522)) 3973*b6fb3261SAndroid Build Coastguard Worker * Fixes a `CHECK`-fail in `AddManySparseToTensorsMap` 3974*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29523](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29523)) 3975*b6fb3261SAndroid Build Coastguard Worker * Fixes a division by 0 in `Conv2DBackpropFilter` 3976*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29524](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29524)) 3977*b6fb3261SAndroid Build Coastguard Worker * Fixes a division by 0 in `Conv2DBackpropInput` 3978*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29525](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29525)) 3979*b6fb3261SAndroid Build Coastguard Worker * Fixes a division by 0 in `Conv2D` 3980*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29526](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29526)) 3981*b6fb3261SAndroid Build Coastguard Worker * Fixes a division by 0 in `QuantizedConv2D` 3982*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29527](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29527)) 3983*b6fb3261SAndroid Build Coastguard Worker * Fixes a division by 0 in `QuantizedMul` 3984*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29528](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29528)) 3985*b6fb3261SAndroid Build Coastguard Worker * Fixes vulnerabilities caused by invalid validation in 3986*b6fb3261SAndroid Build Coastguard Worker `SparseMatrixSparseCholesky` 3987*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29530](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29530)) 3988*b6fb3261SAndroid Build Coastguard Worker * Fixes a heap buffer overflow caused by rounding 3989*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29529](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29529)) 3990*b6fb3261SAndroid Build Coastguard Worker * Fixes a `CHECK`-fail in `tf.raw_ops.EncodePng` 3991*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29531](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29531)) 3992*b6fb3261SAndroid Build Coastguard Worker * Fixes a heap out of bounds read in `RaggedCross` 3993*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29532](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29532)) 3994*b6fb3261SAndroid Build Coastguard Worker * Fixes a `CHECK`-fail in `DrawBoundingBoxes` 3995*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29533](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29533)) 3996*b6fb3261SAndroid Build Coastguard Worker * Fixes a heap buffer overflow in `QuantizedMul` 3997*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29535](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29535)) 3998*b6fb3261SAndroid Build Coastguard Worker * Fixes a `CHECK`-fail in `SparseConcat` 3999*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29534](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29534)) 4000*b6fb3261SAndroid Build Coastguard Worker * Fixes a heap buffer overflow in `QuantizedResizeBilinear` 4001*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29537](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29537)) 4002*b6fb3261SAndroid Build Coastguard Worker * Fixes a heap buffer overflow in `QuantizedReshape` 4003*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29536](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29536)) 4004*b6fb3261SAndroid Build Coastguard Worker * Fixes a division by zero in `Conv2DBackpropFilter` 4005*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29538](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29538)) 4006*b6fb3261SAndroid Build Coastguard Worker * Fixes a heap buffer overflow in `Conv2DBackpropFilter` 4007*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29540](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29540)) 4008*b6fb3261SAndroid Build Coastguard Worker * Fixes a heap buffer overflow in `StringNGrams` 4009*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29542](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29542)) 4010*b6fb3261SAndroid Build Coastguard Worker * Fixes a null pointer dereference in `StringNGrams` 4011*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29541](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29541)) 4012*b6fb3261SAndroid Build Coastguard Worker * Fixes a `CHECK`-fail in `QuantizeAndDequantizeV4Grad` 4013*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29544](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29544)) 4014*b6fb3261SAndroid Build Coastguard Worker * Fixes a `CHECK`-fail in `CTCGreedyDecoder` 4015*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29543](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29543)) 4016*b6fb3261SAndroid Build Coastguard Worker * Fixes a heap buffer overflow in `SparseTensorToCSRSparseMatrix` 4017*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29545](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29545)) 4018*b6fb3261SAndroid Build Coastguard Worker * Fixes a division by 0 in `QuantizedBiasAdd` 4019*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29546](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29546)) 4020*b6fb3261SAndroid Build Coastguard Worker * Fixes a heap out of bounds in 4021*b6fb3261SAndroid Build Coastguard Worker `QuantizedBatchNormWithGlobalNormalization` 4022*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29547](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29547)) 4023*b6fb3261SAndroid Build Coastguard Worker * Fixes a division by 0 in `QuantizedBatchNormWithGlobalNormalization` 4024*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29548](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29548)) 4025*b6fb3261SAndroid Build Coastguard Worker * Fixes a division by 0 in `QuantizedAdd` 4026*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29549](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29549)) 4027*b6fb3261SAndroid Build Coastguard Worker * Fixes a division by 0 in `FractionalAvgPool` 4028*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29550](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29550)) 4029*b6fb3261SAndroid Build Coastguard Worker * Fixes an OOB read in `MatrixTriangularSolve` 4030*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29551](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29551)) 4031*b6fb3261SAndroid Build Coastguard Worker * Fixes a heap OOB in `QuantizeAndDequantizeV3` 4032*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29553](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29553)) 4033*b6fb3261SAndroid Build Coastguard Worker * Fixes a `CHECK`-failure in `UnsortedSegmentJoin` 4034*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29552](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29552)) 4035*b6fb3261SAndroid Build Coastguard Worker * Fixes a division by 0 in `DenseCountSparseOutput` 4036*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29554](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29554)) 4037*b6fb3261SAndroid Build Coastguard Worker * Fixes a division by 0 in `FusedBatchNorm` 4038*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29555](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29555)) 4039*b6fb3261SAndroid Build Coastguard Worker * Fixes a division by 0 in `SparseMatMul` 4040*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29557](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29557)) 4041*b6fb3261SAndroid Build Coastguard Worker * Fixes a division by 0 in `Reverse` 4042*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29556](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29556)) 4043*b6fb3261SAndroid Build Coastguard Worker * Fixes a heap buffer overflow in `SparseSplit` 4044*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29558](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29558)) 4045*b6fb3261SAndroid Build Coastguard Worker * Fixes a heap OOB access in unicode ops 4046*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29559](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29559)) 4047*b6fb3261SAndroid Build Coastguard Worker * Fixes a heap buffer overflow in `RaggedTensorToTensor` 4048*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29560](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29560)) 4049*b6fb3261SAndroid Build Coastguard Worker * Fixes a `CHECK`-fail in `LoadAndRemapMatrix` 4050*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29561](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29561)) 4051*b6fb3261SAndroid Build Coastguard Worker * Fixes a `CHECK`-fail in `tf.raw_ops.IRFFT` 4052*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29562](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29562)) 4053*b6fb3261SAndroid Build Coastguard Worker * Fixes a `CHECK`-fail in `tf.raw_ops.RFFT` 4054*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29563](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29563)) 4055*b6fb3261SAndroid Build Coastguard Worker * Fixes a null pointer dereference in `EditDistance` 4056*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29564](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29564)) 4057*b6fb3261SAndroid Build Coastguard Worker * Fixes a null pointer dereference in `SparseFillEmptyRows` 4058*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29565](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29565)) 4059*b6fb3261SAndroid Build Coastguard Worker * Fixes a heap OOB access in `Dilation2DBackpropInput` 4060*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29566](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29566)) 4061*b6fb3261SAndroid Build Coastguard Worker * Fixes a reference binding to null in `ParameterizedTruncatedNormal` 4062*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29568](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29568)) 4063*b6fb3261SAndroid Build Coastguard Worker * Fixes a set of vulnerabilities caused by lack of validation in 4064*b6fb3261SAndroid Build Coastguard Worker `SparseDenseCwiseMul` 4065*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29567](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29567)) 4066*b6fb3261SAndroid Build Coastguard Worker * Fixes a heap out of bounds read in `MaxPoolGradWithArgmax` 4067*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29570](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29570)) 4068*b6fb3261SAndroid Build Coastguard Worker * Fixes a heap out of bounds read in `RequantizationRange` 4069*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29569](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29569)) 4070*b6fb3261SAndroid Build Coastguard Worker * Fixes a memory corruption in `DrawBoundingBoxesV2` 4071*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29571](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29571)) 4072*b6fb3261SAndroid Build Coastguard Worker * Fixes a reference binding to nullptr in `SdcaOptimizer` 4073*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29572](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29572)) 4074*b6fb3261SAndroid Build Coastguard Worker * Fixes an overflow and a denial of service in 4075*b6fb3261SAndroid Build Coastguard Worker `tf.raw_ops.ReverseSequence` 4076*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29575](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29575)) 4077*b6fb3261SAndroid Build Coastguard Worker * Fixes a division by 0 in `MaxPoolGradWithArgmax` 4078*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29573](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29573)) 4079*b6fb3261SAndroid Build Coastguard Worker * Fixes an undefined behavior in `MaxPool3DGradGrad` 4080*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29574](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29574)) 4081*b6fb3261SAndroid Build Coastguard Worker * Fixes a heap buffer overflow in `MaxPool3DGradGrad` 4082*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29576](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29576)) 4083*b6fb3261SAndroid Build Coastguard Worker * Fixes a heap buffer overflow in `AvgPool3DGrad` 4084*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29577](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29577)) 4085*b6fb3261SAndroid Build Coastguard Worker * Fixes an undefined behavior and a `CHECK`-fail in 4086*b6fb3261SAndroid Build Coastguard Worker `FractionalMaxPoolGrad` 4087*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29580](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29580)) 4088*b6fb3261SAndroid Build Coastguard Worker * Fixes a heap buffer overflow in `FractionalAvgPoolGrad` 4089*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29578](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29578)) 4090*b6fb3261SAndroid Build Coastguard Worker * Fixes a heap buffer overflow in `MaxPoolGrad` 4091*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29579](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29579)) 4092*b6fb3261SAndroid Build Coastguard Worker * Fixes a segfault in `CTCBeamSearchDecoder` 4093*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29581](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29581)) 4094*b6fb3261SAndroid Build Coastguard Worker * Fixes a heap OOB read in `tf.raw_ops.Dequantize` 4095*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29582](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29582)) 4096*b6fb3261SAndroid Build Coastguard Worker * Fixes a `CHECK`-fail due to integer overflow 4097*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29584](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29584)) 4098*b6fb3261SAndroid Build Coastguard Worker * Fixes a heap buffer overflow and undefined behavior in `FusedBatchNorm` 4099*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29583](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29583)) 4100*b6fb3261SAndroid Build Coastguard Worker * Fixes a division by zero in padding computation in TFLite 4101*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29585](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29585)) 4102*b6fb3261SAndroid Build Coastguard Worker * Fixes a division by zero in optimized pooling implementations in TFLite 4103*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29586](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29586)) 4104*b6fb3261SAndroid Build Coastguard Worker * Fixes a division by zero in TFLite's implementation of `SpaceToDepth` 4105*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29587](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29587)) 4106*b6fb3261SAndroid Build Coastguard Worker * Fixes a division by zero in TFLite's implementation of `GatherNd` 4107*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29589](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29589)) 4108*b6fb3261SAndroid Build Coastguard Worker * Fixes a division by zero in TFLite's implementation of `TransposeConv` 4109*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29588](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29588)) 4110*b6fb3261SAndroid Build Coastguard Worker * Fixes a heap OOB read in TFLite's implementation of `Minimum` or 4111*b6fb3261SAndroid Build Coastguard Worker `Maximum` 4112*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29590](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29590)) 4113*b6fb3261SAndroid Build Coastguard Worker * Fixes a null pointer dereference in TFLite's `Reshape` operator 4114*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29592](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29592)) 4115*b6fb3261SAndroid Build Coastguard Worker * Fixes a stack overflow due to looping TFLite subgraph 4116*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29591](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29591)) 4117*b6fb3261SAndroid Build Coastguard Worker * Fixes a division by zero in TFLite's implementation of `DepthToSpace` 4118*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29595](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29595)) 4119*b6fb3261SAndroid Build Coastguard Worker * Fixes a division by zero in TFLite's convolution code 4120*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29594](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29594)) 4121*b6fb3261SAndroid Build Coastguard Worker * Fixes a division by zero in TFLite's implementation of `EmbeddingLookup` 4122*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29596](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29596)) 4123*b6fb3261SAndroid Build Coastguard Worker * Fixes a division by zero in TFLite's implementation of `BatchToSpaceNd` 4124*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29593](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29593)) 4125*b6fb3261SAndroid Build Coastguard Worker * Fixes a division by zero in TFLite's implementation of `SpaceToBatchNd` 4126*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29597](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29597)) 4127*b6fb3261SAndroid Build Coastguard Worker * Fixes a division by zero in TFLite's implementation of `SVDF` 4128*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29598](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29598)) 4129*b6fb3261SAndroid Build Coastguard Worker * Fixes a division by zero in TFLite's implementation of `Split` 4130*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29599](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29599)) 4131*b6fb3261SAndroid Build Coastguard Worker * Fixes a division by zero in TFLite's implementation of `OneHot` 4132*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29600](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29600)) 4133*b6fb3261SAndroid Build Coastguard Worker * Fixes a division by zero in TFLite's implementation of `DepthwiseConv` 4134*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29602](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29602)) 4135*b6fb3261SAndroid Build Coastguard Worker * Fixes a division by zero in TFLite's implementation of hashtable lookup 4136*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29604](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29604)) 4137*b6fb3261SAndroid Build Coastguard Worker * Fixes a integer overflow in TFLite concatentation 4138*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29601](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29601)) 4139*b6fb3261SAndroid Build Coastguard Worker * Fixes a integer overflow in TFLite memory allocation 4140*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29605](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29605)) 4141*b6fb3261SAndroid Build Coastguard Worker * Fixes a heap OOB write in TFLite 4142*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29603](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29603)) 4143*b6fb3261SAndroid Build Coastguard Worker * Fixes a heap OOB read in TFLite 4144*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29606](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29606)) 4145*b6fb3261SAndroid Build Coastguard Worker * Fixes a heap OOB and null pointer dereference in `RaggedTensorToTensor` 4146*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29608](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29608)) 4147*b6fb3261SAndroid Build Coastguard Worker * Fixes vulnerabilities caused by incomplete validation in `SparseAdd` 4148*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29609](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29609)) 4149*b6fb3261SAndroid Build Coastguard Worker * Fixes vulnerabilities caused by incomplete validation in 4150*b6fb3261SAndroid Build Coastguard Worker `SparseSparseMinimum` 4151*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29607](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29607)) 4152*b6fb3261SAndroid Build Coastguard Worker * Fixes vulnerabilities caused by incomplete validation in `SparseReshape` 4153*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29611](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29611)) 4154*b6fb3261SAndroid Build Coastguard Worker * Fixes vulnerabilities caused by invalid validation in 4155*b6fb3261SAndroid Build Coastguard Worker `QuantizeAndDequantizeV2` 4156*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29610](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29610)) 4157*b6fb3261SAndroid Build Coastguard Worker * Fixes a heap buffer overflow in `BandedTriangularSolve` 4158*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29612](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29612)) 4159*b6fb3261SAndroid Build Coastguard Worker * Fixes vulnerabilities caused by incomplete validation in 4160*b6fb3261SAndroid Build Coastguard Worker `tf.raw_ops.CTCLoss` 4161*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29613](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29613)) 4162*b6fb3261SAndroid Build Coastguard Worker * Fixes an interpreter crash from vulnerabilities in `tf.io.decode_raw` 4163*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29614](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29614)) 4164*b6fb3261SAndroid Build Coastguard Worker * Fixes a stack overflow in `ParseAttrValue` with nested tensors 4165*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29615](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29615)) 4166*b6fb3261SAndroid Build Coastguard Worker * Fixes a null dereference in Grappler's `TrySimplify` 4167*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29616](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29616)) 4168*b6fb3261SAndroid Build Coastguard Worker * Fixes a crash in `tf.transpose` with complex inputs 4169*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29618](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29618)) 4170*b6fb3261SAndroid Build Coastguard Worker * Fixes a crash in `tf.strings.substr` due to `CHECK`-fail 4171*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29617](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29617)) 4172*b6fb3261SAndroid Build Coastguard Worker * Fixes a segfault in `tf.raw_ops.SparseCountSparseOutput` 4173*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29619](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29619)) 4174*b6fb3261SAndroid Build Coastguard Worker * Fixes a segfault in `tf.raw_ops.ImmutableConst` 4175*b6fb3261SAndroid Build Coastguard Worker ([CVE-2021-29539](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29539)) 4176*b6fb3261SAndroid Build Coastguard Worker * Updates `curl` to `7.76.0` to handle 4177*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-8169](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8169), 4178*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-8177](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8177), 4179*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-8231](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8231), 4180*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-8284](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8284), 4181*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-8285](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8285) 4182*b6fb3261SAndroid Build Coastguard Worker and 4183*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-8286](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8286). 4184*b6fb3261SAndroid Build Coastguard Worker 4185*b6fb3261SAndroid Build Coastguard Worker* Other 4186*b6fb3261SAndroid Build Coastguard Worker 4187*b6fb3261SAndroid Build Coastguard Worker * Added `show_debug_info` to `mlir.convert_graph_def` and 4188*b6fb3261SAndroid Build Coastguard Worker `mlir.convert_function`. 4189*b6fb3261SAndroid Build Coastguard Worker * Added 4190*b6fb3261SAndroid Build Coastguard Worker [Arm Compute Library (ACL)](https://github.com/ARM-software/ComputeLibrary) 4191*b6fb3261SAndroid Build Coastguard Worker support to `--config=mkl_aarch64` build. 4192*b6fb3261SAndroid Build Coastguard Worker 4193*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors 4194*b6fb3261SAndroid Build Coastguard Worker 4195*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as: 4196*b6fb3261SAndroid Build Coastguard Worker 4197*b6fb3261SAndroid Build Coastguard Worker8bitmp3, Aaron S. Mondal, Abhilash Mahendrakar, Abhinav Upadhyay, Abhishek 4198*b6fb3261SAndroid Build Coastguard WorkerKulkarni, Abolfazl Shahbazi, Adam Hillier, Aditya Kane, Ag Ramesh, ahmedsabie, 4199*b6fb3261SAndroid Build Coastguard WorkerAlbert Villanova Del Moral, Aleksey Vitebskiy, Alex Hoffman, Alexander Bayandin, 4200*b6fb3261SAndroid Build Coastguard WorkerAlfie Edwards, Aman Kishore, Amogh Joshi, andreABbauer, Andrew Goodbody, Andrzej 4201*b6fb3261SAndroid Build Coastguard WorkerPomirski, Artemiy Ryabinkov, Ashish Jha, ather, Ayan Moitra, Bairen Yi, Bart 4202*b6fb3261SAndroid Build Coastguard WorkerRibbers, Bas Aarts, Behzad Abghari, Ben Arnao, Ben Barsdell, Benjamin Klimczak, 4203*b6fb3261SAndroid Build Coastguard Workerbhack, Brendan Collins, Can Wang, Cheng Ren, Chris Leary, Chris Olivier, Clemens 4204*b6fb3261SAndroid Build Coastguard WorkerGiuliani, Cloud Han, Corey Cole, Cui, Yifeng, Cuong V. Nguyen, Daniel Moore, 4205*b6fb3261SAndroid Build Coastguard WorkerDawid Wojciechowski, Ddavis-2015, Dean Wyatte, Denisa Roberts, dependabot[bot], 4206*b6fb3261SAndroid Build Coastguard WorkerDmitry Volodin, Dominic Jack, Duncan Riach, dushuai, Elena Zhelezina, Eli 4207*b6fb3261SAndroid Build Coastguard WorkerOsherovich, Erik Smistad, ewsn1593, Felix Fent, fo40225, François Chollet, 4208*b6fb3261SAndroid Build Coastguard WorkerFrederic Bastien, Freedom" Koan-Sin Tan, fsx950223, ganand1, gbaned, Georgiy 4209*b6fb3261SAndroid Build Coastguard WorkerManuilov, gerbauz, Guillaume Klein, Guozhong Zhuang, Harry Slatyer, Harsh188, 4210*b6fb3261SAndroid Build Coastguard Workerhenri, Henri Woodcock, Hiran Sarkar, Hollow Man, Håkon Sandsmark, I Wayan 4211*b6fb3261SAndroid Build Coastguard WorkerDharmana, icysapphire, Ikko Ashimine, Jab Hofmeier, Jack Hessel, Jacob Valdez, 4212*b6fb3261SAndroid Build Coastguard WorkerJakub Jatczak, James Bernardi, Jared Smolens, Jason Zaman, jedlimlx, Jenny 4213*b6fb3261SAndroid Build Coastguard WorkerPlunkett, Jens Elofsson, Jerry Shih, jgehw, Jia Fu Low, Jim Fisher, jpodivin, 4214*b6fb3261SAndroid Build Coastguard WorkerJulien Stephan, Jungsub Lim, Junha Park, Junhyuk So, justkw, Kaixi Hou, 4215*b6fb3261SAndroid Build Coastguard Workerkashyapraval, Kasra Bigdeli, Kazuaki Ishizaki, Keith Mok, Kevin Cheng, kopytjuk, 4216*b6fb3261SAndroid Build Coastguard WorkerKristian Hartikainen, ksood12345, Kulin Seth, kushanam, latyas, Lequn Chen, 4217*b6fb3261SAndroid Build Coastguard WorkerLeslie-Fang, Long M. Lưu, Lukas Geiger, machineko, Mahmoud Abuzaina, Manish, Mao 4218*b6fb3261SAndroid Build Coastguard WorkerYunfei, Maozhou, Ge, Marcin Juszkiewicz, Marcin Owsiany, Marconi Jiang, Marcos 4219*b6fb3261SAndroid Build Coastguard WorkerPereira, Maria Romanenko Vexlard, Maria Vexlard, Marius Brehler, marload, Martin 4220*b6fb3261SAndroid Build Coastguard WorkerKubovčík, Matej, Mateusz Holenko, Maxiwell S. Garcia, Mazhar, mazharul, 4221*b6fb3261SAndroid Build Coastguard Workermbhuiyan, mdfaijul, Michael Gielda, Michael Kuchnik, Michal Szutenberg, Mikhail 4222*b6fb3261SAndroid Build Coastguard WorkerStepanov, Milan Straka, Mitchel Humpherys, Mohamed Moselhy, Mohamed Nour 4223*b6fb3261SAndroid Build Coastguard WorkerAbouelseoud, Måns Bermell, Måns Nilsson, Nathan Luehr, Nico Jahn, Niroop 4224*b6fb3261SAndroid Build Coastguard WorkerAmmbashankar, Oceania2018, Omri Steiner, Orivej Desh, Oskar Flordal, oujiafan, 4225*b6fb3261SAndroid Build Coastguard WorkerPatrik Laurell, Paul B. Isaac'S, Paul Klinger, Pawel Piskorski, Pedro Marques, 4226*b6fb3261SAndroid Build Coastguard WorkerPhat Tran, Piotr Zierhoffer, piyushdatta, Pnikam-Cad, Prashant Kumar, Prateek 4227*b6fb3261SAndroid Build Coastguard WorkerGupta, PratsBhatt, Pravin Karandikar, qqq.jq, QQ喵, Quintin, Rama Ketineni, 4228*b6fb3261SAndroid Build Coastguard Workerravikyram, Rehan Guha, rhdong, rmothukuru, Roger Cheng, Rohit Santhanam, rposts, 4229*b6fb3261SAndroid Build Coastguard WorkerRsanthanam-Amd, rsun, Rsun-Bdti, Ryan Kuester, ryanking13, Saduf2019, Sami Kama, 4230*b6fb3261SAndroid Build Coastguard WorkerSamuel Marks, Scott Tseng, Sean Moriarity, Sergey Popov, Sergii Khomenko, Sheng, 4231*b6fb3261SAndroid Build Coastguard WorkerYang, shwetaoj, Sidong-Wei, Simon Maurer, Simrit Kaur, Srini511, Srinivasan 4232*b6fb3261SAndroid Build Coastguard WorkerNarayanamoorthy, Stephan, Stephen Matthews, Sungmann Cho, Sunoru, Suraj Sudhir, 4233*b6fb3261SAndroid Build Coastguard WorkerSuraj Upadhyay, Taebum Kim, Takayoshi Koizumi, Tamas Bela Feher, Teng Lu, 4234*b6fb3261SAndroid Build Coastguard WorkerThibaut Goetghebuer-Planchon, Tomwildenhain-Microsoft, Tony, Traun Leyden, Trent 4235*b6fb3261SAndroid Build Coastguard WorkerLo, TVLIgnacy, Tzu-Wei Sung, vaibhav, Vignesh Kothapalli, Vikram Dattu, 4236*b6fb3261SAndroid Build Coastguard Workerviktprog, Vinayaka Bandishti, Vincent Abriou, Vishakha Agrawal, Vivek Panyam, 4237*b6fb3261SAndroid Build Coastguard WorkerVladimir Silyaev, Võ Văn Nghĩa, wamuir, Wang, Yanzhang, wangsiyu, Waqar Hameed, 4238*b6fb3261SAndroid Build Coastguard Workerwxinix, Xiao Yang, xiaohong1031, Xiaoming (Jason) Cui, Xinan Jiang, Yair 4239*b6fb3261SAndroid Build Coastguard WorkerEhrenwald, Yajush Vyas, Yasir Modak, Yimei Sun, Yong Tang, Yosshi999, 4240*b6fb3261SAndroid Build Coastguard Workeryoushenmebutuo, yqtianust, Yuan Tang, yuanbopeng, Yuriy Chernyshov, Yuta 4241*b6fb3261SAndroid Build Coastguard WorkerFukasawa, Zachary Deane-Mayer, Zeno Gantner, Zhoulong Jiang, zhuyie, zilinzhu, 4242*b6fb3261SAndroid Build Coastguard Worker彭震东 4243*b6fb3261SAndroid Build Coastguard Worker 4244*b6fb3261SAndroid Build Coastguard Worker# Release 2.4.1 4245*b6fb3261SAndroid Build Coastguard Worker 4246*b6fb3261SAndroid Build Coastguard Worker* This release removes the AVX2 requirement from TF 2.4.0. 4247*b6fb3261SAndroid Build Coastguard Worker 4248*b6fb3261SAndroid Build Coastguard Worker# Release 2.3.2 4249*b6fb3261SAndroid Build Coastguard Worker 4250*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 4251*b6fb3261SAndroid Build Coastguard Worker 4252*b6fb3261SAndroid Build Coastguard Worker* Fixes an access to unitialized memory in Eigen code 4253*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-26266](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26266)) 4254*b6fb3261SAndroid Build Coastguard Worker* Fixes a security vulnerability caused by lack of validation in 4255*b6fb3261SAndroid Build Coastguard Worker `tf.raw_ops.DataFormatVecPermute` and `tf.raw_ops.DataFormatDimMap` 4256*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-26267](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26267)) 4257*b6fb3261SAndroid Build Coastguard Worker* Fixes a vulnerability caused by attempting to write to immutable memory 4258*b6fb3261SAndroid Build Coastguard Worker region in `tf.raw_ops.ImmutableConst` 4259*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-26268](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26268) 4260*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in LSTM with zero-length input 4261*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-26270](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26270)) 4262*b6fb3261SAndroid Build Coastguard Worker* Fixes a security vulnerability caused by accessing heap data outside of 4263*b6fb3261SAndroid Build Coastguard Worker bounds when loading a specially crafted `SavedModel` 4264*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-26271](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26271)) 4265*b6fb3261SAndroid Build Coastguard Worker* Solves an OOM issue on TPUs when XLA contexts use fused average updates 4266*b6fb3261SAndroid Build Coastguard Worker* Updates `libjpeg-turbo` to `2.0.5` to handle 4267*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-13790](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13790). 4268*b6fb3261SAndroid Build Coastguard Worker* Updates `junit` to `4.13.1` to handle 4269*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-15250](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15250). 4270*b6fb3261SAndroid Build Coastguard Worker* Updates `PCRE` to `8.44` to handle 4271*b6fb3261SAndroid Build Coastguard Worker [CVE-2019-20838](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-20838) 4272*b6fb3261SAndroid Build Coastguard Worker and 4273*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-14155](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-14155). 4274*b6fb3261SAndroid Build Coastguard Worker* Updates `sqlite3` to `3.44.0` to keep in sync with master branch. 4275*b6fb3261SAndroid Build Coastguard Worker 4276*b6fb3261SAndroid Build Coastguard Worker# Release 2.2.2 4277*b6fb3261SAndroid Build Coastguard Worker 4278*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 4279*b6fb3261SAndroid Build Coastguard Worker 4280*b6fb3261SAndroid Build Coastguard Worker* Fixes an access to unitialized memory in Eigen code 4281*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-26266](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26266)) 4282*b6fb3261SAndroid Build Coastguard Worker* Fixes a security vulnerability caused by lack of validation in 4283*b6fb3261SAndroid Build Coastguard Worker `tf.raw_ops.DataFormatVecPermute` and `tf.raw_ops.DataFormatDimMap` 4284*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-26267](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26267)) 4285*b6fb3261SAndroid Build Coastguard Worker* Fixes a vulnerability caused by attempting to write to immutable memory 4286*b6fb3261SAndroid Build Coastguard Worker region in `tf.raw_ops.ImmutableConst` 4287*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-26268](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26268) 4288*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in LSTM with zero-length input 4289*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-26270](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26270)) 4290*b6fb3261SAndroid Build Coastguard Worker* Fixes a security vulnerability caused by accessing heap data outside of 4291*b6fb3261SAndroid Build Coastguard Worker bounds when loading a specially crafted `SavedModel` 4292*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-26271](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26271)) 4293*b6fb3261SAndroid Build Coastguard Worker* Prevents memory leaks in loading `SavedModel`s that import functions 4294*b6fb3261SAndroid Build Coastguard Worker* Updates `libjpeg-turbo` to `2.0.5` to handle 4295*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-13790](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13790). 4296*b6fb3261SAndroid Build Coastguard Worker* Updates `junit` to `4.13.1` to handle 4297*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-15250](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15250). 4298*b6fb3261SAndroid Build Coastguard Worker* Updates `PCRE` to `8.44` to handle 4299*b6fb3261SAndroid Build Coastguard Worker [CVE-2019-20838](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-20838) 4300*b6fb3261SAndroid Build Coastguard Worker and 4301*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-14155](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-14155). 4302*b6fb3261SAndroid Build Coastguard Worker* Updates `sqlite3` to `3.44.0` to keep in sync with master branch. 4303*b6fb3261SAndroid Build Coastguard Worker 4304*b6fb3261SAndroid Build Coastguard Worker# Release 2.1.3 4305*b6fb3261SAndroid Build Coastguard Worker 4306*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 4307*b6fb3261SAndroid Build Coastguard Worker 4308*b6fb3261SAndroid Build Coastguard Worker* Fixes an access to unitialized memory in Eigen code 4309*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-26266](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26266)) 4310*b6fb3261SAndroid Build Coastguard Worker* Fixes a security vulnerability caused by lack of validation in 4311*b6fb3261SAndroid Build Coastguard Worker `tf.raw_ops.DataFormatVecPermute` and `tf.raw_ops.DataFormatDimMap` 4312*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-26267](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26267)) 4313*b6fb3261SAndroid Build Coastguard Worker* Fixes a vulnerability caused by attempting to write to immutable memory 4314*b6fb3261SAndroid Build Coastguard Worker region in `tf.raw_ops.ImmutableConst` 4315*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-26268](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26268) 4316*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in LSTM with zero-length input 4317*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-26270](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26270)) 4318*b6fb3261SAndroid Build Coastguard Worker* Fixes a security vulnerability caused by accessing heap data outside of 4319*b6fb3261SAndroid Build Coastguard Worker bounds when loading a specially crafted `SavedModel` 4320*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-26271](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26271)) 4321*b6fb3261SAndroid Build Coastguard Worker* Updates `libjpeg-turbo` to `2.0.5` to handle 4322*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-13790](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13790). 4323*b6fb3261SAndroid Build Coastguard Worker* Updates `junit` to `4.13.1` to handle 4324*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-15250](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15250). 4325*b6fb3261SAndroid Build Coastguard Worker* Updates `PCRE` to `8.44` to handle 4326*b6fb3261SAndroid Build Coastguard Worker [CVE-2019-20838](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-20838) 4327*b6fb3261SAndroid Build Coastguard Worker and 4328*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-14155](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-14155). 4329*b6fb3261SAndroid Build Coastguard Worker* Updates `sqlite3` to `3.44.0` to keep in sync with master branch. 4330*b6fb3261SAndroid Build Coastguard Worker* Newer ROCm versions are supported on the 2.1 branch. 4331*b6fb3261SAndroid Build Coastguard Worker 4332*b6fb3261SAndroid Build Coastguard Worker# Release 2.0.4 4333*b6fb3261SAndroid Build Coastguard Worker 4334*b6fb3261SAndroid Build Coastguard WorkerNote that this is the last patch release for the TensorFlow 2.0.x series. 4335*b6fb3261SAndroid Build Coastguard Worker 4336*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 4337*b6fb3261SAndroid Build Coastguard Worker 4338*b6fb3261SAndroid Build Coastguard Worker* Fixes an access to unitialized memory in Eigen code 4339*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-26266](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26266)) 4340*b6fb3261SAndroid Build Coastguard Worker* Fixes a security vulnerability caused by lack of validation in 4341*b6fb3261SAndroid Build Coastguard Worker `tf.raw_ops.DataFormatVecPermute` and `tf.raw_ops.DataFormatDimMap` 4342*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-26267](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26267)) 4343*b6fb3261SAndroid Build Coastguard Worker* Fixes a vulnerability caused by attempting to write to immutable memory 4344*b6fb3261SAndroid Build Coastguard Worker region in `tf.raw_ops.ImmutableConst` 4345*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-26268](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26268) 4346*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in LSTM with zero-length input 4347*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-26270](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26270)) 4348*b6fb3261SAndroid Build Coastguard Worker* Fixes a security vulnerability caused by accessing heap data outside of 4349*b6fb3261SAndroid Build Coastguard Worker bounds when loading a specially crafted `SavedModel` 4350*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-26271](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26271)) 4351*b6fb3261SAndroid Build Coastguard Worker* Updates `libjpeg-turbo` to `2.0.5` to handle 4352*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-13790](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13790). 4353*b6fb3261SAndroid Build Coastguard Worker* Updates `junit` to `4.13.1` to handle 4354*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-15250](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15250). 4355*b6fb3261SAndroid Build Coastguard Worker* Updates `PCRE` to `8.44` to handle 4356*b6fb3261SAndroid Build Coastguard Worker [CVE-2019-20838](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-20838) 4357*b6fb3261SAndroid Build Coastguard Worker and 4358*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-14155](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-14155). 4359*b6fb3261SAndroid Build Coastguard Worker* Updates `sqlite3` to `3.44.0` to keep in sync with master branch. 4360*b6fb3261SAndroid Build Coastguard Worker 4361*b6fb3261SAndroid Build Coastguard Worker# Release 1.15.5 4362*b6fb3261SAndroid Build Coastguard Worker 4363*b6fb3261SAndroid Build Coastguard WorkerNote that this is the last patch release for the TensorFlow 1.x series. 4364*b6fb3261SAndroid Build Coastguard Worker 4365*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 4366*b6fb3261SAndroid Build Coastguard Worker 4367*b6fb3261SAndroid Build Coastguard Worker* Fixes an access to unitialized memory in Eigen code 4368*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-26266](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26266)) 4369*b6fb3261SAndroid Build Coastguard Worker* Fixes a security vulnerability caused by lack of validation in 4370*b6fb3261SAndroid Build Coastguard Worker `tf.raw_ops.DataFormatVecPermute` and `tf.raw_ops.DataFormatDimMap` 4371*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-26267](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26267)) 4372*b6fb3261SAndroid Build Coastguard Worker* Fixes a vulnerability caused by attempting to write to immutable memory 4373*b6fb3261SAndroid Build Coastguard Worker region in `tf.raw_ops.ImmutableConst` 4374*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-26268](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26268) 4375*b6fb3261SAndroid Build Coastguard Worker* Fixes a `CHECK`-fail in LSTM with zero-length input 4376*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-26270](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26270)) 4377*b6fb3261SAndroid Build Coastguard Worker* Fixes a security vulnerability caused by accessing heap data outside of 4378*b6fb3261SAndroid Build Coastguard Worker bounds when loading a specially crafted `SavedModel` 4379*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-26271](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26271)) 4380*b6fb3261SAndroid Build Coastguard Worker* Updates `libjpeg-turbo` to `2.0.5` to handle 4381*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-13790](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13790). 4382*b6fb3261SAndroid Build Coastguard Worker* Updates `junit` to `4.13.1` to handle 4383*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-15250](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15250). 4384*b6fb3261SAndroid Build Coastguard Worker* Updates `PCRE` to `8.44` to handle 4385*b6fb3261SAndroid Build Coastguard Worker [CVE-2019-20838](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-20838) 4386*b6fb3261SAndroid Build Coastguard Worker and 4387*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-14155](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-14155). 4388*b6fb3261SAndroid Build Coastguard Worker* Updates `sqlite3` to `3.44.0` to keep in sync with master branch. 4389*b6fb3261SAndroid Build Coastguard Worker 4390*b6fb3261SAndroid Build Coastguard Worker# Release 2.4.0 4391*b6fb3261SAndroid Build Coastguard Worker 4392*b6fb3261SAndroid Build Coastguard Worker\## Major Features and Improvements 4393*b6fb3261SAndroid Build Coastguard Worker 4394*b6fb3261SAndroid Build Coastguard Worker* `tf.distribute` introduces experimental support for asynchronous training of 4395*b6fb3261SAndroid Build Coastguard Worker models via the 4396*b6fb3261SAndroid Build Coastguard Worker [`tf.distribute.experimental.ParameterServerStrategy`](https://www.tensorflow.org/api_docs/python/tf/distribute/experimental/ParameterServerStrategy) 4397*b6fb3261SAndroid Build Coastguard Worker API. Please see the 4398*b6fb3261SAndroid Build Coastguard Worker [tutorial](https://www.tensorflow.org/tutorials/distribute/parameter_server_training) 4399*b6fb3261SAndroid Build Coastguard Worker to learn more. 4400*b6fb3261SAndroid Build Coastguard Worker 4401*b6fb3261SAndroid Build Coastguard Worker* [`MultiWorkerMirroredStrategy`](https://www.tensorflow.org/api_docs/python/tf/distribute/MultiWorkerMirroredStrategy) 4402*b6fb3261SAndroid Build Coastguard Worker is now a stable API and is no longer considered experimental. Some of the 4403*b6fb3261SAndroid Build Coastguard Worker major improvements involve handling peer failure and many bug fixes. Please 4404*b6fb3261SAndroid Build Coastguard Worker check out the detailed tutorial on 4405*b6fb3261SAndroid Build Coastguard Worker [Multi-worker training with Keras](https://www.tensorflow.org/tutorials/distribute/multi_worker_with_keras). 4406*b6fb3261SAndroid Build Coastguard Worker 4407*b6fb3261SAndroid Build Coastguard Worker* Introduces experimental support for a new module named 4408*b6fb3261SAndroid Build Coastguard Worker [`tf.experimental.numpy`](https://www.tensorflow.org/api_docs/python/tf/experimental/numpy) 4409*b6fb3261SAndroid Build Coastguard Worker which is a NumPy-compatible API for writing TF programs. See the 4410*b6fb3261SAndroid Build Coastguard Worker [detailed guide](https://www.tensorflow.org/guide/tf_numpy) to learn more. 4411*b6fb3261SAndroid Build Coastguard Worker Additional details below. 4412*b6fb3261SAndroid Build Coastguard Worker 4413*b6fb3261SAndroid Build Coastguard Worker* Adds Support for 4414*b6fb3261SAndroid Build Coastguard Worker [TensorFloat-32](https://blogs.nvidia.com/blog/2020/05/14/tensorfloat-32-precision-format/) 4415*b6fb3261SAndroid Build Coastguard Worker on Ampere based GPUs. TensorFloat-32, or TF32 for short, is a math mode for 4416*b6fb3261SAndroid Build Coastguard Worker NVIDIA Ampere based GPUs and is enabled by default. 4417*b6fb3261SAndroid Build Coastguard Worker 4418*b6fb3261SAndroid Build Coastguard Worker* A major refactoring of the internals of the Keras Functional API has been 4419*b6fb3261SAndroid Build Coastguard Worker completed, that should improve the reliability, stability, and performance 4420*b6fb3261SAndroid Build Coastguard Worker of constructing Functional models. 4421*b6fb3261SAndroid Build Coastguard Worker 4422*b6fb3261SAndroid Build Coastguard Worker* Keras mixed precision API 4423*b6fb3261SAndroid Build Coastguard Worker [`tf.keras.mixed_precision`](https://www.tensorflow.org/api_docs/python/tf/keras/mixed_precision?version=nightly) 4424*b6fb3261SAndroid Build Coastguard Worker is no longer experimental and allows the use of 16-bit floating point 4425*b6fb3261SAndroid Build Coastguard Worker formats during training, improving performance by up to 3x on GPUs and 60% 4426*b6fb3261SAndroid Build Coastguard Worker on TPUs. Please see below for additional details. 4427*b6fb3261SAndroid Build Coastguard Worker 4428*b6fb3261SAndroid Build Coastguard Worker* TensorFlow Profiler now supports profiling `MultiWorkerMirroredStrategy` and 4429*b6fb3261SAndroid Build Coastguard Worker tracing multiple workers using the 4430*b6fb3261SAndroid Build Coastguard Worker [sampling mode API](https://www.tensorflow.org/guide/profiler#profiling_apis). 4431*b6fb3261SAndroid Build Coastguard Worker 4432*b6fb3261SAndroid Build Coastguard Worker* TFLite Profiler for Android is available. See the detailed 4433*b6fb3261SAndroid Build Coastguard Worker [guide](https://www.tensorflow.org/lite/performance/measurement#trace_tensorflow_lite_internals_in_android) 4434*b6fb3261SAndroid Build Coastguard Worker to learn more. 4435*b6fb3261SAndroid Build Coastguard Worker 4436*b6fb3261SAndroid Build Coastguard Worker* TensorFlow pip packages are now built with CUDA11 and cuDNN 8.0.2. 4437*b6fb3261SAndroid Build Coastguard Worker 4438*b6fb3261SAndroid Build Coastguard Worker## Breaking Changes 4439*b6fb3261SAndroid Build Coastguard Worker 4440*b6fb3261SAndroid Build Coastguard Worker* TF Core: 4441*b6fb3261SAndroid Build Coastguard Worker 4442*b6fb3261SAndroid Build Coastguard Worker * Certain float32 ops run in lower precision on Ampere based GPUs, 4443*b6fb3261SAndroid Build Coastguard Worker including matmuls and convolutions, due to the use of 4444*b6fb3261SAndroid Build Coastguard Worker [TensorFloat-32](https://blogs.nvidia.com/blog/2020/05/14/tensorfloat-32-precision-format/). 4445*b6fb3261SAndroid Build Coastguard Worker Specifically, inputs to such ops are rounded from 23 bits of precision 4446*b6fb3261SAndroid Build Coastguard Worker to 10 bits of precision. This is unlikely to cause issues in practice 4447*b6fb3261SAndroid Build Coastguard Worker for deep learning models. In some cases, TensorFloat-32 is also used for 4448*b6fb3261SAndroid Build Coastguard Worker complex64 ops. TensorFloat-32 can be disabled by running 4449*b6fb3261SAndroid Build Coastguard Worker `tf.config.experimental.enable_tensor_float_32_execution(False)`. 4450*b6fb3261SAndroid Build Coastguard Worker * The byte layout for string tensors across the C-API has been updated to 4451*b6fb3261SAndroid Build Coastguard Worker match TF Core/C++; i.e., a contiguous array of 4452*b6fb3261SAndroid Build Coastguard Worker `tensorflow::tstring`/`TF_TString`s. 4453*b6fb3261SAndroid Build Coastguard Worker * C-API functions `TF_StringDecode`, `TF_StringEncode`, and 4454*b6fb3261SAndroid Build Coastguard Worker `TF_StringEncodedSize` are no longer relevant and have been removed; see 4455*b6fb3261SAndroid Build Coastguard Worker `core/platform/ctstring.h` for string access/modification in C. 4456*b6fb3261SAndroid Build Coastguard Worker * `tensorflow.python`, `tensorflow.core` and `tensorflow.compiler` modules 4457*b6fb3261SAndroid Build Coastguard Worker are now hidden. These modules are not part of TensorFlow public API. 4458*b6fb3261SAndroid Build Coastguard Worker * `tf.raw_ops.Max` and `tf.raw_ops.Min` no longer accept inputs of type 4459*b6fb3261SAndroid Build Coastguard Worker `tf.complex64` or `tf.complex128`, because the behavior of these ops is 4460*b6fb3261SAndroid Build Coastguard Worker not well defined for complex types. 4461*b6fb3261SAndroid Build Coastguard Worker * XLA:CPU and XLA:GPU devices are no longer registered by default. Use 4462*b6fb3261SAndroid Build Coastguard Worker `TF_XLA_FLAGS=--tf_xla_enable_xla_devices` if you really need them, but 4463*b6fb3261SAndroid Build Coastguard Worker this flag will eventually be removed in subsequent releases. 4464*b6fb3261SAndroid Build Coastguard Worker 4465*b6fb3261SAndroid Build Coastguard Worker* `tf.keras`: 4466*b6fb3261SAndroid Build Coastguard Worker 4467*b6fb3261SAndroid Build Coastguard Worker * The `steps_per_execution` argument in `model.compile()` is no longer 4468*b6fb3261SAndroid Build Coastguard Worker experimental; if you were passing `experimental_steps_per_execution`, 4469*b6fb3261SAndroid Build Coastguard Worker rename it to `steps_per_execution` in your code. This argument controls 4470*b6fb3261SAndroid Build Coastguard Worker the number of batches to run during each `tf.function` call when calling 4471*b6fb3261SAndroid Build Coastguard Worker `model.fit()`. Running multiple batches inside a single `tf.function` 4472*b6fb3261SAndroid Build Coastguard Worker call can greatly improve performance on TPUs or small models with a 4473*b6fb3261SAndroid Build Coastguard Worker large Python overhead. 4474*b6fb3261SAndroid Build Coastguard Worker * A **major refactoring** of the internals of the Keras Functional API may 4475*b6fb3261SAndroid Build Coastguard Worker affect code that is relying on certain internal details: 4476*b6fb3261SAndroid Build Coastguard Worker * Code that uses `isinstance(x, tf.Tensor)` instead of `tf.is_tensor` when 4477*b6fb3261SAndroid Build Coastguard Worker checking Keras symbolic inputs/outputs should switch to using 4478*b6fb3261SAndroid Build Coastguard Worker `tf.is_tensor`. 4479*b6fb3261SAndroid Build Coastguard Worker * Code that is overly dependent on the exact names attached to symbolic 4480*b6fb3261SAndroid Build Coastguard Worker tensors (e.g. assumes there will be ":0" at the end of the inputs, 4481*b6fb3261SAndroid Build Coastguard Worker treats names as unique identifiers instead of using `tensor.ref()`, 4482*b6fb3261SAndroid Build Coastguard Worker etc.) may break. 4483*b6fb3261SAndroid Build Coastguard Worker * Code that uses full path for `get_concrete_function` to trace Keras 4484*b6fb3261SAndroid Build Coastguard Worker symbolic inputs directly should switch to building matching 4485*b6fb3261SAndroid Build Coastguard Worker `tf.TensorSpec`s directly and tracing the `TensorSpec` objects. 4486*b6fb3261SAndroid Build Coastguard Worker * Code that relies on the exact number and names of the op layers that 4487*b6fb3261SAndroid Build Coastguard Worker TensorFlow operations were converted into may have changed. 4488*b6fb3261SAndroid Build Coastguard Worker * Code that uses `tf.map_fn`/`tf.cond`/`tf.while_loop`/control flow as op 4489*b6fb3261SAndroid Build Coastguard Worker layers and happens to work before TF 2.4. These will explicitly be 4490*b6fb3261SAndroid Build Coastguard Worker unsupported now. Converting these ops to Functional API op layers was 4491*b6fb3261SAndroid Build Coastguard Worker unreliable before TF 2.4, and prone to erroring incomprehensibly or 4492*b6fb3261SAndroid Build Coastguard Worker being silently buggy. 4493*b6fb3261SAndroid Build Coastguard Worker * Code that directly asserts on a Keras symbolic value in cases where ops 4494*b6fb3261SAndroid Build Coastguard Worker like `tf.rank` used to return a static or symbolic value depending on if 4495*b6fb3261SAndroid Build Coastguard Worker the input had a fully static shape or not. Now these ops always return 4496*b6fb3261SAndroid Build Coastguard Worker symbolic values. 4497*b6fb3261SAndroid Build Coastguard Worker * Code already susceptible to leaking tensors outside of graphs becomes 4498*b6fb3261SAndroid Build Coastguard Worker slightly more likely to do so now. 4499*b6fb3261SAndroid Build Coastguard Worker * Code that tries directly getting gradients with respect to symbolic 4500*b6fb3261SAndroid Build Coastguard Worker Keras inputs/outputs. Use `GradientTape` on the actual Tensors passed to 4501*b6fb3261SAndroid Build Coastguard Worker the already-constructed model instead. 4502*b6fb3261SAndroid Build Coastguard Worker * Code that requires very tricky shape manipulation via converted op 4503*b6fb3261SAndroid Build Coastguard Worker layers in order to work, where the Keras symbolic shape inference proves 4504*b6fb3261SAndroid Build Coastguard Worker insufficient. 4505*b6fb3261SAndroid Build Coastguard Worker * Code that tries manually walking a `tf.keras.Model` layer by layer and 4506*b6fb3261SAndroid Build Coastguard Worker assumes layers only ever have one positional argument. This assumption 4507*b6fb3261SAndroid Build Coastguard Worker doesn't hold true before TF 2.4 either, but is more likely to cause 4508*b6fb3261SAndroid Build Coastguard Worker issues now. 4509*b6fb3261SAndroid Build Coastguard Worker * Code that manually enters `keras.backend.get_graph()` before building a 4510*b6fb3261SAndroid Build Coastguard Worker functional model is no longer needed. 4511*b6fb3261SAndroid Build Coastguard Worker * Start enforcing input shape assumptions when calling Functional API 4512*b6fb3261SAndroid Build Coastguard Worker Keras models. This may potentially break some users, in case there is a 4513*b6fb3261SAndroid Build Coastguard Worker mismatch between the shape used when creating `Input` objects in a 4514*b6fb3261SAndroid Build Coastguard Worker Functional model, and the shape of the data passed to that model. You 4515*b6fb3261SAndroid Build Coastguard Worker can fix this mismatch by either calling the model with correctly-shaped 4516*b6fb3261SAndroid Build Coastguard Worker data, or by relaxing `Input` shape assumptions (note that you can pass 4517*b6fb3261SAndroid Build Coastguard Worker shapes with `None` entries for axes that are meant to be dynamic). You 4518*b6fb3261SAndroid Build Coastguard Worker can also disable the input checking entirely by setting 4519*b6fb3261SAndroid Build Coastguard Worker `model.input_spec = None`. 4520*b6fb3261SAndroid Build Coastguard Worker * Several changes have been made to 4521*b6fb3261SAndroid Build Coastguard Worker `tf.keras.mixed_precision.experimental`. Note that it is now recommended 4522*b6fb3261SAndroid Build Coastguard Worker to use the non-experimental `tf.keras.mixed_precision` API. 4523*b6fb3261SAndroid Build Coastguard Worker * `AutoCastVariable.dtype` now refers to the actual variable dtype, not 4524*b6fb3261SAndroid Build Coastguard Worker the dtype it will be casted to. 4525*b6fb3261SAndroid Build Coastguard Worker * When mixed precision is enabled, `tf.keras.layers.Embedding` now outputs 4526*b6fb3261SAndroid Build Coastguard Worker a float16 or bfloat16 tensor instead of a float32 tensor. 4527*b6fb3261SAndroid Build Coastguard Worker * The property 4528*b6fb3261SAndroid Build Coastguard Worker `tf.keras.mixed_precision.experimental.LossScaleOptimizer.loss_scale` is 4529*b6fb3261SAndroid Build Coastguard Worker now a tensor, not a `LossScale` object. This means to get a loss scale 4530*b6fb3261SAndroid Build Coastguard Worker of a `LossScaleOptimizer` as a tensor, you must now call 4531*b6fb3261SAndroid Build Coastguard Worker `opt.loss_scale`instead of `opt.loss_scale()`. 4532*b6fb3261SAndroid Build Coastguard Worker * The property `should_cast_variables` has been removed from 4533*b6fb3261SAndroid Build Coastguard Worker `tf.keras.mixed_precision.experimental.Policy` 4534*b6fb3261SAndroid Build Coastguard Worker * When passing a `tf.mixed_precision.experimental.DynamicLossScale` to 4535*b6fb3261SAndroid Build Coastguard Worker `tf.keras.mixed_precision.experimental.LossScaleOptimizer`, the 4536*b6fb3261SAndroid Build Coastguard Worker `DynamicLossScale`'s multiplier must be 2. 4537*b6fb3261SAndroid Build Coastguard Worker * When passing a `tf.mixed_precision.experimental.DynamicLossScale` to 4538*b6fb3261SAndroid Build Coastguard Worker `tf.keras.mixed_precision.experimental.LossScaleOptimizer`, the weights 4539*b6fb3261SAndroid Build Coastguard Worker of the `DynanmicLossScale` are copied into the `LossScaleOptimizer` 4540*b6fb3261SAndroid Build Coastguard Worker instead of being reused. This means modifying the weights of the 4541*b6fb3261SAndroid Build Coastguard Worker `DynamicLossScale` will no longer affect the weights of the 4542*b6fb3261SAndroid Build Coastguard Worker LossScaleOptimizer, and vice versa. 4543*b6fb3261SAndroid Build Coastguard Worker * The global policy can no longer be set to a non-floating point policy in 4544*b6fb3261SAndroid Build Coastguard Worker `tf.keras.mixed_precision.experimental.set_policy` 4545*b6fb3261SAndroid Build Coastguard Worker * In `Layer.call`, `AutoCastVariable`s will no longer be casted within 4546*b6fb3261SAndroid Build Coastguard Worker `MirroredStrategy.run` or `ReplicaContext.merge_call`. This is because a 4547*b6fb3261SAndroid Build Coastguard Worker thread local variable is used to determine whether `AutoCastVariable`s 4548*b6fb3261SAndroid Build Coastguard Worker are casted, and those two functions run with a different thread. Note 4549*b6fb3261SAndroid Build Coastguard Worker this only applies if one of these two functions is called within 4550*b6fb3261SAndroid Build Coastguard Worker `Layer.call`; if one of those two functions calls `Layer.call`, 4551*b6fb3261SAndroid Build Coastguard Worker `AutoCastVariable`s will still be casted. 4552*b6fb3261SAndroid Build Coastguard Worker 4553*b6fb3261SAndroid Build Coastguard Worker* `tf.data`: 4554*b6fb3261SAndroid Build Coastguard Worker 4555*b6fb3261SAndroid Build Coastguard Worker * `tf.data.experimental.service.DispatchServer` now takes a config tuple 4556*b6fb3261SAndroid Build Coastguard Worker instead of individual arguments. Usages should be updated to 4557*b6fb3261SAndroid Build Coastguard Worker `tf.data.experimental.service.DispatchServer(dispatcher_config)`. 4558*b6fb3261SAndroid Build Coastguard Worker * `tf.data.experimental.service.WorkerServer` now takes a config tuple 4559*b6fb3261SAndroid Build Coastguard Worker instead of individual arguments. Usages should be updated to 4560*b6fb3261SAndroid Build Coastguard Worker `tf.data.experimental.service.WorkerServer(worker_config)`. 4561*b6fb3261SAndroid Build Coastguard Worker 4562*b6fb3261SAndroid Build Coastguard Worker* `tf.distribute`: 4563*b6fb3261SAndroid Build Coastguard Worker 4564*b6fb3261SAndroid Build Coastguard Worker * Removes `tf.distribute.Strategy.experimental_make_numpy_dataset`. Please 4565*b6fb3261SAndroid Build Coastguard Worker use `tf.data.Dataset.from_tensor_slices` instead. 4566*b6fb3261SAndroid Build Coastguard Worker * Renames `experimental_hints` in 4567*b6fb3261SAndroid Build Coastguard Worker `tf.distribute.StrategyExtended.reduce_to`, 4568*b6fb3261SAndroid Build Coastguard Worker `tf.distribute.StrategyExtended.batch_reduce_to`, 4569*b6fb3261SAndroid Build Coastguard Worker `tf.distribute.ReplicaContext.all_reduce` to `options`. 4570*b6fb3261SAndroid Build Coastguard Worker * Renames `tf.distribute.experimental.CollectiveHints` to 4571*b6fb3261SAndroid Build Coastguard Worker `tf.distribute.experimental.CommunicationOptions`. 4572*b6fb3261SAndroid Build Coastguard Worker * Renames `tf.distribute.experimental.CollectiveCommunication` to 4573*b6fb3261SAndroid Build Coastguard Worker `tf.distribute.experimental.CommunicationImplementation`. 4574*b6fb3261SAndroid Build Coastguard Worker * Renames 4575*b6fb3261SAndroid Build Coastguard Worker `tf.distribute.Strategy.experimental_distribute_datasets_from_function` 4576*b6fb3261SAndroid Build Coastguard Worker to `distribute_datasets_from_function` as it is no longer experimental. 4577*b6fb3261SAndroid Build Coastguard Worker * Removes `tf.distribute.Strategy.experimental_run_v2` method, which was 4578*b6fb3261SAndroid Build Coastguard Worker deprecated in TF 2.2. 4579*b6fb3261SAndroid Build Coastguard Worker 4580*b6fb3261SAndroid Build Coastguard Worker* `tf.lite`: 4581*b6fb3261SAndroid Build Coastguard Worker 4582*b6fb3261SAndroid Build Coastguard Worker * `tf.quantization.quantize_and_dequantize_v2` has been introduced, which 4583*b6fb3261SAndroid Build Coastguard Worker updates the gradient definition for quantization which is outside the 4584*b6fb3261SAndroid Build Coastguard Worker range to be 0. To simulate the V1 the behavior of 4585*b6fb3261SAndroid Build Coastguard Worker `tf.quantization.quantize_and_dequantize(...)` use 4586*b6fb3261SAndroid Build Coastguard Worker `tf.grad_pass_through(tf.quantization.quantize_and_dequantize_v2)(...)`. 4587*b6fb3261SAndroid Build Coastguard Worker 4588*b6fb3261SAndroid Build Coastguard Worker* Building TensorFlow: 4589*b6fb3261SAndroid Build Coastguard Worker 4590*b6fb3261SAndroid Build Coastguard Worker * Windows platform builds: TensorFlow on Windows under MSVC is now built 4591*b6fb3261SAndroid Build Coastguard Worker with `--copt=/experimental:preprocessor 4592*b6fb3261SAndroid Build Coastguard Worker --host_copt=/experimental:preprocessor` (see `.bazelrc` for more 4593*b6fb3261SAndroid Build Coastguard Worker details). Builds including TensorFlow may fail with unexpected syntax 4594*b6fb3261SAndroid Build Coastguard Worker errors if these flags are absent. See also 4595*b6fb3261SAndroid Build Coastguard Worker [this thread on SIG Build](https://groups.google.com/a/tensorflow.org/g/build/c/LbAw8RILvTg/m/ttnuhYU2BgAJ). 4596*b6fb3261SAndroid Build Coastguard Worker 4597*b6fb3261SAndroid Build Coastguard Worker## Known Caveats 4598*b6fb3261SAndroid Build Coastguard Worker 4599*b6fb3261SAndroid Build Coastguard Worker* `tf.keras.mixed_precision` 4600*b6fb3261SAndroid Build Coastguard Worker * When using mixed precision, calling `RMSprop.apply_gradients` or 4601*b6fb3261SAndroid Build Coastguard Worker `Nadam.apply_gradients` outside a `tf.function` does not work and will 4602*b6fb3261SAndroid Build Coastguard Worker raise the AttributeError "Tensor.op is meaningless when eager execution 4603*b6fb3261SAndroid Build Coastguard Worker is enabled". See this 4604*b6fb3261SAndroid Build Coastguard Worker [issue](https://github.com/tensorflow/tensorflow/issues/45536) for 4605*b6fb3261SAndroid Build Coastguard Worker details and a workaround. 4606*b6fb3261SAndroid Build Coastguard Worker 4607*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 4608*b6fb3261SAndroid Build Coastguard Worker 4609*b6fb3261SAndroid Build Coastguard Worker### TF Core: 4610*b6fb3261SAndroid Build Coastguard Worker 4611*b6fb3261SAndroid Build Coastguard Worker* Introduces experimental support for a new module named 4612*b6fb3261SAndroid Build Coastguard Worker [`tf.experimental.numpy`](https://www.tensorflow.org/api_docs/python/tf/experimental/numpy), 4613*b6fb3261SAndroid Build Coastguard Worker which is a NumPy-compatible API for writing TF programs. This module 4614*b6fb3261SAndroid Build Coastguard Worker provides class `ndarray`, which mimics the `ndarray` class in NumPy, and 4615*b6fb3261SAndroid Build Coastguard Worker wraps an immutable `tf.Tensor` under the hood. A subset of NumPy functions 4616*b6fb3261SAndroid Build Coastguard Worker (e.g. `numpy.add`) are provided. Their inter-operation with TF facilities is 4617*b6fb3261SAndroid Build Coastguard Worker seamless in most cases. See 4618*b6fb3261SAndroid Build Coastguard Worker [tensorflow/python/ops/numpy_ops/README.md](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/ops/numpy_ops/README.md) 4619*b6fb3261SAndroid Build Coastguard Worker for details of what operations are supported and what are the differences 4620*b6fb3261SAndroid Build Coastguard Worker from NumPy. 4621*b6fb3261SAndroid Build Coastguard Worker* `tf.types.experimental.TensorLike` is a new `Union` type that can be used as 4622*b6fb3261SAndroid Build Coastguard Worker type annotation for variables representing a Tensor or a value that can be 4623*b6fb3261SAndroid Build Coastguard Worker converted to Tensor by `tf.convert_to_tensor`. 4624*b6fb3261SAndroid Build Coastguard Worker* Calling ops with a python constants or numpy values is now consistent with 4625*b6fb3261SAndroid Build Coastguard Worker tf.convert_to_tensor behavior. This avoids operations like tf.reshape 4626*b6fb3261SAndroid Build Coastguard Worker truncating inputs such as from int64 to int32. 4627*b6fb3261SAndroid Build Coastguard Worker* Adds `tf.sparse.map_values` to apply a function to the `.value`s of 4628*b6fb3261SAndroid Build Coastguard Worker `SparseTensor` arguments. 4629*b6fb3261SAndroid Build Coastguard Worker* The Python bitwise operators for `Tensor` (`__and__`, `__or__`, `__xor__` 4630*b6fb3261SAndroid Build Coastguard Worker and `__invert__` now support non-`bool` arguments and apply the 4631*b6fb3261SAndroid Build Coastguard Worker corresponding bitwise ops. `bool` arguments continue to be supported and 4632*b6fb3261SAndroid Build Coastguard Worker dispatch to logical ops. This brings them more in line with Python and NumPy 4633*b6fb3261SAndroid Build Coastguard Worker behavior. 4634*b6fb3261SAndroid Build Coastguard Worker* Adds `tf.SparseTensor.with_values`. This returns a new SparseTensor with the 4635*b6fb3261SAndroid Build Coastguard Worker same sparsity pattern, but with new provided values. It is similar to the 4636*b6fb3261SAndroid Build Coastguard Worker `with_values` function of `RaggedTensor`. 4637*b6fb3261SAndroid Build Coastguard Worker* Adds `StatelessCase` op, and uses it if none of case branches has stateful 4638*b6fb3261SAndroid Build Coastguard Worker ops. 4639*b6fb3261SAndroid Build Coastguard Worker* Adds `tf.config.experimental.get_memory_usage` to return total memory usage 4640*b6fb3261SAndroid Build Coastguard Worker of the device. 4641*b6fb3261SAndroid Build Coastguard Worker* Adds gradients for `RaggedTensorToVariant` and `RaggedTensorFromVariant`. 4642*b6fb3261SAndroid Build Coastguard Worker* Improve shape inference of nested function calls by supporting constant 4643*b6fb3261SAndroid Build Coastguard Worker folding across Arg nodes which makes more static values available to shape 4644*b6fb3261SAndroid Build Coastguard Worker inference functions. 4645*b6fb3261SAndroid Build Coastguard Worker* `tf.debugging`: 4646*b6fb3261SAndroid Build Coastguard Worker * `tf.debugging.assert_shapes()` now works on `SparseTensor`s (Fixes 4647*b6fb3261SAndroid Build Coastguard Worker [#36268](https://github.com/tensorflow/tensorflow/issues/36268)). 4648*b6fb3261SAndroid Build Coastguard Worker* GPU 4649*b6fb3261SAndroid Build Coastguard Worker * Adds Support for 4650*b6fb3261SAndroid Build Coastguard Worker [TensorFloat-32](https://blogs.nvidia.com/blog/2020/05/14/tensorfloat-32-precision-format/) 4651*b6fb3261SAndroid Build Coastguard Worker on Ampere based GPUs.TensorFloat-32, or TF32 for short, is a math mode 4652*b6fb3261SAndroid Build Coastguard Worker for NVIDIA Ampere based GPUs which causes certain float32 ops, such as 4653*b6fb3261SAndroid Build Coastguard Worker matrix multiplications and convolutions, to run much faster on Ampere 4654*b6fb3261SAndroid Build Coastguard Worker GPUs but with reduced precision. This reduced precision has not been 4655*b6fb3261SAndroid Build Coastguard Worker found to effect convergence quality of deep learning models in practice. 4656*b6fb3261SAndroid Build Coastguard Worker TensorFloat-32 is enabled by default, but can be disabled with 4657*b6fb3261SAndroid Build Coastguard Worker `tf.config.experimental.enable_tensor_float_32_execution`. 4658*b6fb3261SAndroid Build Coastguard Worker* `tf.math`: 4659*b6fb3261SAndroid Build Coastguard Worker * Adds `tf.math.erfcinv`, the inverse to `tf.math.erfc`. 4660*b6fb3261SAndroid Build Coastguard Worker* `tf.nn`: 4661*b6fb3261SAndroid Build Coastguard Worker * `tf.nn.max_pool2d` now supports explicit padding. 4662*b6fb3261SAndroid Build Coastguard Worker* `tf.image`: 4663*b6fb3261SAndroid Build Coastguard Worker * Adds deterministic `tf.image.stateless_random_*` functions for each 4664*b6fb3261SAndroid Build Coastguard Worker `tf.image.random_*` function. Added a new op 4665*b6fb3261SAndroid Build Coastguard Worker `stateless_sample_distorted_bounding_box` which is a deterministic 4666*b6fb3261SAndroid Build Coastguard Worker version of `sample_distorted_bounding_box` op. Given the same seed, 4667*b6fb3261SAndroid Build Coastguard Worker these stateless functions/ops produce the same results independent of 4668*b6fb3261SAndroid Build Coastguard Worker how many times the function is called, and independent of global seed 4669*b6fb3261SAndroid Build Coastguard Worker settings. 4670*b6fb3261SAndroid Build Coastguard Worker * Adds deterministic `tf.image.resize` backprop CUDA kernels for 4671*b6fb3261SAndroid Build Coastguard Worker `method=ResizeMethod.BILINEAR` (the default method). Enable by setting 4672*b6fb3261SAndroid Build Coastguard Worker the environment variable `TF_DETERMINISTIC_OPS` to `"true"` or `"1"`. 4673*b6fb3261SAndroid Build Coastguard Worker* `tf.print`: 4674*b6fb3261SAndroid Build Coastguard Worker * Bug fix in `tf.print()` with `OrderedDict` where if an `OrderedDict` 4675*b6fb3261SAndroid Build Coastguard Worker didn't have the keys sorted, the keys and values were not being printed 4676*b6fb3261SAndroid Build Coastguard Worker in accordance with their correct mapping. 4677*b6fb3261SAndroid Build Coastguard Worker* `tf.train.Checkpoint`: 4678*b6fb3261SAndroid Build Coastguard Worker * Now accepts a `root` argument in the initialization, which generates a 4679*b6fb3261SAndroid Build Coastguard Worker checkpoint with a root object. This allows users to create a 4680*b6fb3261SAndroid Build Coastguard Worker `Checkpoint` object that is compatible with Keras `model.save_weights()` 4681*b6fb3261SAndroid Build Coastguard Worker and `model.load_weights`. The checkpoint is also compatible with the 4682*b6fb3261SAndroid Build Coastguard Worker checkpoint saved in the `variables/` folder in the SavedModel. 4683*b6fb3261SAndroid Build Coastguard Worker * When restoring, `save_path` can be a path to a SavedModel. The function 4684*b6fb3261SAndroid Build Coastguard Worker will automatically find the checkpoint in the SavedModel. 4685*b6fb3261SAndroid Build Coastguard Worker 4686*b6fb3261SAndroid Build Coastguard Worker### `tf.data`: 4687*b6fb3261SAndroid Build Coastguard Worker 4688*b6fb3261SAndroid Build Coastguard Worker* Adds new `tf.data.experimental.service.register_dataset` and 4689*b6fb3261SAndroid Build Coastguard Worker `tf.data.experimental.service.from_dataset_id` APIs to enable one process to 4690*b6fb3261SAndroid Build Coastguard Worker register a dataset with the tf.data service, and another process to consume 4691*b6fb3261SAndroid Build Coastguard Worker data from the dataset. 4692*b6fb3261SAndroid Build Coastguard Worker* Adds support for dispatcher fault tolerance. To enable fault tolerance, 4693*b6fb3261SAndroid Build Coastguard Worker configure a `work_dir` when running your dispatcher server and set 4694*b6fb3261SAndroid Build Coastguard Worker `dispatcher_fault_tolerance=True`. The dispatcher will store its state to 4695*b6fb3261SAndroid Build Coastguard Worker `work_dir`, so that on restart it can continue from its previous state after 4696*b6fb3261SAndroid Build Coastguard Worker restart. 4697*b6fb3261SAndroid Build Coastguard Worker* Adds support for sharing dataset graphs via shared filesystem instead of 4698*b6fb3261SAndroid Build Coastguard Worker over RPC. This reduces load on the dispatcher, improving performance of 4699*b6fb3261SAndroid Build Coastguard Worker distributing datasets. For this to work, the dispatcher's `work_dir` must be 4700*b6fb3261SAndroid Build Coastguard Worker accessible from workers. If the worker fails to read from the `work_dir`, it 4701*b6fb3261SAndroid Build Coastguard Worker falls back to using RPC for dataset graph transfer. 4702*b6fb3261SAndroid Build Coastguard Worker* Adds support for a new "distributed_epoch" processing mode. This processing 4703*b6fb3261SAndroid Build Coastguard Worker mode distributes a dataset across all tf.data workers, instead of having 4704*b6fb3261SAndroid Build Coastguard Worker each worker process the full dataset. See 4705*b6fb3261SAndroid Build Coastguard Worker [the tf.data service docs](https://www.tensorflow.org/api_docs/python/tf/data/experimental/service#understand_processing_mode) 4706*b6fb3261SAndroid Build Coastguard Worker to learn more. 4707*b6fb3261SAndroid Build Coastguard Worker* Adds optional `exclude_cols` parameter to CsvDataset. This parameter is the 4708*b6fb3261SAndroid Build Coastguard Worker complement of `select_cols`; at most one of these should be specified. 4709*b6fb3261SAndroid Build Coastguard Worker* We have implemented an optimization which reorders data-discarding 4710*b6fb3261SAndroid Build Coastguard Worker transformations such as `take` and `shard` to happen earlier in the dataset 4711*b6fb3261SAndroid Build Coastguard Worker when it is safe to do so. The optimization can be disabled via the 4712*b6fb3261SAndroid Build Coastguard Worker `experimental_optimization.reorder_data_discarding_ops` dataset option. 4713*b6fb3261SAndroid Build Coastguard Worker* `tf.data.Options` were previously immutable and can now be overridden. 4714*b6fb3261SAndroid Build Coastguard Worker* `tf.data.Dataset.from_generator` now supports Ragged and Sparse tensors with 4715*b6fb3261SAndroid Build Coastguard Worker a new `output_signature` argument, which allows `from_generator` to produce 4716*b6fb3261SAndroid Build Coastguard Worker any type describable by a `tf.TypeSpec`. 4717*b6fb3261SAndroid Build Coastguard Worker* `tf.data.experimental.AUTOTUNE` is now available in the core API as 4718*b6fb3261SAndroid Build Coastguard Worker `tf.data.AUTOTUNE`. 4719*b6fb3261SAndroid Build Coastguard Worker 4720*b6fb3261SAndroid Build Coastguard Worker### `tf.distribute`: 4721*b6fb3261SAndroid Build Coastguard Worker 4722*b6fb3261SAndroid Build Coastguard Worker* Introduces experimental support for asynchronous training of models via 4723*b6fb3261SAndroid Build Coastguard Worker `tf.distribute.experimental.ParameterServerStrategy`: 4724*b6fb3261SAndroid Build Coastguard Worker * Replaces the existing 4725*b6fb3261SAndroid Build Coastguard Worker `tf.distribute.experimental.ParameterServerStrategy` symbol with a new 4726*b6fb3261SAndroid Build Coastguard Worker class that is for parameter server training in TF2. Usage of the old 4727*b6fb3261SAndroid Build Coastguard Worker symbol, usually with Estimator API, should be **replaced** with 4728*b6fb3261SAndroid Build Coastguard Worker [`tf.compat.v1.distribute.experimental.ParameterServerStrategy`]. 4729*b6fb3261SAndroid Build Coastguard Worker * Added `tf.distribute.experimental.coordinator.*` namespace, including 4730*b6fb3261SAndroid Build Coastguard Worker the main API `ClusterCoordinator` for coordinating the training cluster, 4731*b6fb3261SAndroid Build Coastguard Worker the related data structure `RemoteValue` and `PerWorkerValue`. 4732*b6fb3261SAndroid Build Coastguard Worker* `MultiWorkerMirroredStrategy`](https://www.tensorflow.org/api_docs/python/tf/distribute/MultiWorkerMirroredStrategy) 4733*b6fb3261SAndroid Build Coastguard Worker is now a stable API and is no longer considered experimental. Some of the 4734*b6fb3261SAndroid Build Coastguard Worker major improvements involve handling peer failure and many bug fixes. Please 4735*b6fb3261SAndroid Build Coastguard Worker check out the detailed tutorial on 4736*b6fb3261SAndroid Build Coastguard Worker [Multi-worer training with Keras](https://www.tensorflow.org/tutorials/distribute/multi_worker_with_keras). 4737*b6fb3261SAndroid Build Coastguard Worker* Adds `tf.distribute.Strategy.gather` and 4738*b6fb3261SAndroid Build Coastguard Worker `tf.distribute.ReplicaContext.all_gather` APIs to support gathering dense 4739*b6fb3261SAndroid Build Coastguard Worker distributed values. 4740*b6fb3261SAndroid Build Coastguard Worker* Fixes various issues with saving a distributed model. 4741*b6fb3261SAndroid Build Coastguard Worker 4742*b6fb3261SAndroid Build Coastguard Worker### `tf.keras`: 4743*b6fb3261SAndroid Build Coastguard Worker 4744*b6fb3261SAndroid Build Coastguard Worker* Improvements from the Functional API refactoring: 4745*b6fb3261SAndroid Build Coastguard Worker * Functional model construction does not need to maintain a global 4746*b6fb3261SAndroid Build Coastguard Worker workspace graph, removing memory leaks especially when building many 4747*b6fb3261SAndroid Build Coastguard Worker models or very large models. 4748*b6fb3261SAndroid Build Coastguard Worker * Functional model construction should be ~8-10% faster on average. 4749*b6fb3261SAndroid Build Coastguard Worker * Functional models can now contain non-symbolic values in their call 4750*b6fb3261SAndroid Build Coastguard Worker inputs inside of the first positional argument. 4751*b6fb3261SAndroid Build Coastguard Worker * Several classes of TF ops that were not reliably converted to Keras 4752*b6fb3261SAndroid Build Coastguard Worker layers during functional API construction should now work, 4753*b6fb3261SAndroid Build Coastguard Worker e.g.`tf.image.ssim_multiscale` 4754*b6fb3261SAndroid Build Coastguard Worker * Error messages when Functional API construction goes wrong (and when ops 4755*b6fb3261SAndroid Build Coastguard Worker cannot be converted to Keras layers automatically) should be clearer and 4756*b6fb3261SAndroid Build Coastguard Worker easier to understand. 4757*b6fb3261SAndroid Build Coastguard Worker* `Optimizer.minimize` can now accept a loss `Tensor` and a `GradientTape` as 4758*b6fb3261SAndroid Build Coastguard Worker an alternative to accepting a `callable` loss. 4759*b6fb3261SAndroid Build Coastguard Worker* Adds `beta` hyperparameter to 4760*b6fb3261SAndroid Build Coastguard Worker [FTRL](https://www.tensorflow.org/api_docs/python/tf/keras/optimizers/Ftrl) 4761*b6fb3261SAndroid Build Coastguard Worker optimizer classes (Keras and others) to match 4762*b6fb3261SAndroid Build Coastguard Worker [FTRL paper](https://research.google.com/pubs/archive/41159.pdf). 4763*b6fb3261SAndroid Build Coastguard Worker* `Optimizer.__init__` now accepts a `gradient_aggregator` to allow for 4764*b6fb3261SAndroid Build Coastguard Worker customization of how gradients are aggregated across devices, as well as 4765*b6fb3261SAndroid Build Coastguard Worker `gradients_transformers` to allow for custom gradient transformations (such 4766*b6fb3261SAndroid Build Coastguard Worker as gradient clipping). 4767*b6fb3261SAndroid Build Coastguard Worker* Improvements to Keras preprocessing layers: 4768*b6fb3261SAndroid Build Coastguard Worker * TextVectorization can now accept a vocabulary list or file as an init 4769*b6fb3261SAndroid Build Coastguard Worker arg. 4770*b6fb3261SAndroid Build Coastguard Worker * Normalization can now accept mean and variance values as init args. 4771*b6fb3261SAndroid Build Coastguard Worker* In `Attention` and `AdditiveAttention` layers, the `call()` method now 4772*b6fb3261SAndroid Build Coastguard Worker accepts a `return_attention_scores` argument. When set to True, the layer 4773*b6fb3261SAndroid Build Coastguard Worker returns the attention scores as an additional output argument. 4774*b6fb3261SAndroid Build Coastguard Worker* Adds `tf.metrics.log_cosh` and `tf.metrics.logcosh` API entrypoints with the 4775*b6fb3261SAndroid Build Coastguard Worker same implementation as their `tf.losses` equivalent. 4776*b6fb3261SAndroid Build Coastguard Worker* For Keras model, the individual call of `Model.evaluate` uses no cached data 4777*b6fb3261SAndroid Build Coastguard Worker for evaluation, while `Model.fit` uses cached data when `validation_data` 4778*b6fb3261SAndroid Build Coastguard Worker arg is provided for better performance. 4779*b6fb3261SAndroid Build Coastguard Worker* Adds a `save_traces` argument to `model.save`/ `tf.keras.models.save_model` 4780*b6fb3261SAndroid Build Coastguard Worker which determines whether the SavedModel format stores the Keras model/layer 4781*b6fb3261SAndroid Build Coastguard Worker call functions. The traced functions allow Keras to revive custom models and 4782*b6fb3261SAndroid Build Coastguard Worker layers without the original class definition, but if this isn't required the 4783*b6fb3261SAndroid Build Coastguard Worker tracing can be disabled with the added option. 4784*b6fb3261SAndroid Build Coastguard Worker* The `tf.keras.mixed_precision` API is now non-experimental. The 4785*b6fb3261SAndroid Build Coastguard Worker non-experimental API differs from the experimental API in several ways. 4786*b6fb3261SAndroid Build Coastguard Worker * `tf.keras.mixed_precision.Policy` no longer takes in a 4787*b6fb3261SAndroid Build Coastguard Worker `tf.mixed_precision. experimental.LossScale` in the constructor, and no 4788*b6fb3261SAndroid Build Coastguard Worker longer has a `LossScale` associated with it. Instead, `Model.compile` 4789*b6fb3261SAndroid Build Coastguard Worker will automatically wrap the optimizer with a `LossScaleOptimizer` using 4790*b6fb3261SAndroid Build Coastguard Worker dynamic loss scaling if `Policy.name` is "mixed_float16". 4791*b6fb3261SAndroid Build Coastguard Worker * `tf.keras.mixed_precision.LossScaleOptimizer`'s constructor takes in 4792*b6fb3261SAndroid Build Coastguard Worker different arguments. In particular, it no longer takes in a `LossScale`, 4793*b6fb3261SAndroid Build Coastguard Worker and there is no longer a `LossScale` associated with the 4794*b6fb3261SAndroid Build Coastguard Worker `LossScaleOptimizer`. Instead, `LossScaleOptimizer` directly implements 4795*b6fb3261SAndroid Build Coastguard Worker fixed or dynamic loss scaling. See the documentation of 4796*b6fb3261SAndroid Build Coastguard Worker [`tf.keras.mixed_precision.experimental.LossScaleOptimizer`](https://www.tensorflow.org/api_docs/python/tf/keras/mixed_precision/experimental/LossScaleOptimizer?version=nightly) 4797*b6fb3261SAndroid Build Coastguard Worker for details on the differences between the experimental 4798*b6fb3261SAndroid Build Coastguard Worker `LossScaleOptimizer` and the new non-experimental `LossScaleOptimizer`. 4799*b6fb3261SAndroid Build Coastguard Worker * `tf.mixed_precision.experimental.LossScale` and its subclasses are 4800*b6fb3261SAndroid Build Coastguard Worker deprecated, as all of its functionality now exists within 4801*b6fb3261SAndroid Build Coastguard Worker `tf.keras.mixed_precision.LossScaleOptimizer` 4802*b6fb3261SAndroid Build Coastguard Worker 4803*b6fb3261SAndroid Build Coastguard Worker### `tf.lite`: 4804*b6fb3261SAndroid Build Coastguard Worker 4805*b6fb3261SAndroid Build Coastguard Worker* `TFLiteConverter`: 4806*b6fb3261SAndroid Build Coastguard Worker * Support optional flags `inference_input_type` and 4807*b6fb3261SAndroid Build Coastguard Worker `inference_output_type` for full integer quantized models. This allows 4808*b6fb3261SAndroid Build Coastguard Worker users to modify the model input and output type to integer types 4809*b6fb3261SAndroid Build Coastguard Worker (`tf.int8`, `tf.uint8`) instead of defaulting to float type 4810*b6fb3261SAndroid Build Coastguard Worker (`tf.float32`). 4811*b6fb3261SAndroid Build Coastguard Worker* NNAPI 4812*b6fb3261SAndroid Build Coastguard Worker * Adds NNAPI Delegation support for requantization use cases by converting 4813*b6fb3261SAndroid Build Coastguard Worker the operation into a dequantize-quantize pair. 4814*b6fb3261SAndroid Build Coastguard Worker * Removes deprecated `Interpreter.setUseNNAPI(boolean)` Java API. Use 4815*b6fb3261SAndroid Build Coastguard Worker `Interpreter.Options.setUseNNAPI` instead. 4816*b6fb3261SAndroid Build Coastguard Worker * Deprecates `Interpreter::UseNNAPI(bool)` C++ API. Use `NnApiDelegate()` 4817*b6fb3261SAndroid Build Coastguard Worker and related delegate configuration methods directly. 4818*b6fb3261SAndroid Build Coastguard Worker * Deprecates `Interpreter::SetAllowFp16PrecisionForFp32(bool)` C++ API. 4819*b6fb3261SAndroid Build Coastguard Worker Prefer controlling this via delegate options, e.g. 4820*b6fb3261SAndroid Build Coastguard Worker `tflite::StatefulNnApiDelegate::Options::allow_fp16' 4821*b6fb3261SAndroid Build Coastguard Worker or`TfLiteGpuDelegateOptionsV2::is_precision_loss_allowed`. 4822*b6fb3261SAndroid Build Coastguard Worker* GPU 4823*b6fb3261SAndroid Build Coastguard Worker * GPU acceleration now supports quantized models by default 4824*b6fb3261SAndroid Build Coastguard Worker* `DynamicBuffer::AddJoinedString()` will now add a separator if the first 4825*b6fb3261SAndroid Build Coastguard Worker string to be joined is empty. 4826*b6fb3261SAndroid Build Coastguard Worker* Adds support for cumulative sum (cumsum), both as builtin op and MLIR 4827*b6fb3261SAndroid Build Coastguard Worker conversion. 4828*b6fb3261SAndroid Build Coastguard Worker 4829*b6fb3261SAndroid Build Coastguard Worker### `TensorRT` 4830*b6fb3261SAndroid Build Coastguard Worker 4831*b6fb3261SAndroid Build Coastguard Worker* Issues a warning when the `session_config` parameter for the TF1 converter 4832*b6fb3261SAndroid Build Coastguard Worker is used or the `rewrite_config_template` field in the TF2 converter 4833*b6fb3261SAndroid Build Coastguard Worker parameter object is used. 4834*b6fb3261SAndroid Build Coastguard Worker 4835*b6fb3261SAndroid Build Coastguard Worker### TPU Enhancements: 4836*b6fb3261SAndroid Build Coastguard Worker 4837*b6fb3261SAndroid Build Coastguard Worker* Adds support for the `beta` parameter of the FTRL optimizer for TPU 4838*b6fb3261SAndroid Build Coastguard Worker embeddings. Users of other TensorFlow platforms can implement equivalent 4839*b6fb3261SAndroid Build Coastguard Worker behavior by adjusting the `l2` parameter. 4840*b6fb3261SAndroid Build Coastguard Worker 4841*b6fb3261SAndroid Build Coastguard Worker### XLA Support: 4842*b6fb3261SAndroid Build Coastguard Worker 4843*b6fb3261SAndroid Build Coastguard Worker* xla.experimental.compile is deprecated, use 4844*b6fb3261SAndroid Build Coastguard Worker `tf.function(experimental_compile=True)` instead. 4845*b6fb3261SAndroid Build Coastguard Worker* Adds `tf.function.experimental_get_compiler_ir` which returns compiler IR 4846*b6fb3261SAndroid Build Coastguard Worker (currently 'hlo' and 'optimized_hlo') for given input for given function. 4847*b6fb3261SAndroid Build Coastguard Worker 4848*b6fb3261SAndroid Build Coastguard Worker### Security: 4849*b6fb3261SAndroid Build Coastguard Worker 4850*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior causing a segfault in `tf.raw_ops.Switch`, 4851*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15190](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15190)) 4852*b6fb3261SAndroid Build Coastguard Worker* Fixes three vulnerabilities in conversion to DLPack format 4853*b6fb3261SAndroid Build Coastguard Worker * [CVE-2020-15191](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15191), 4854*b6fb3261SAndroid Build Coastguard Worker * [CVE-2020-15192](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15192), 4855*b6fb3261SAndroid Build Coastguard Worker * [CVE-2020-15193](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15193) 4856*b6fb3261SAndroid Build Coastguard Worker* Fixes two vulnerabilities in `SparseFillEmptyRowsGrad` 4857*b6fb3261SAndroid Build Coastguard Worker * [CVE-2020-15194](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15194), 4858*b6fb3261SAndroid Build Coastguard Worker * [CVE-2020-15195](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15195) 4859*b6fb3261SAndroid Build Coastguard Worker* Fixes several vulnerabilities in `RaggedCountSparseOutput` and 4860*b6fb3261SAndroid Build Coastguard Worker `SparseCountSparseOutput` operations 4861*b6fb3261SAndroid Build Coastguard Worker * [CVE-2020-15196](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15196), 4862*b6fb3261SAndroid Build Coastguard Worker * [CVE-2020-15197](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15197), 4863*b6fb3261SAndroid Build Coastguard Worker * [CVE-2020-15198](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15198), 4864*b6fb3261SAndroid Build Coastguard Worker * [CVE-2020-15199](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15199), 4865*b6fb3261SAndroid Build Coastguard Worker * [CVE-2020-15200](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15200), 4866*b6fb3261SAndroid Build Coastguard Worker * [CVE-2020-15201](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15201) 4867*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer truncation vulnerability in code using the work sharder 4868*b6fb3261SAndroid Build Coastguard Worker API, 4869*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15202](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15202)) 4870*b6fb3261SAndroid Build Coastguard Worker* Fixes a format string vulnerability in `tf.strings.as_string`, 4871*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15203](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15203)) 4872*b6fb3261SAndroid Build Coastguard Worker* Fixes segfault raised by calling session-only ops in eager mode, 4873*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15204](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15204)) 4874*b6fb3261SAndroid Build Coastguard Worker* Fixes data leak and potential ASLR violation from `tf.raw_ops.StringNGrams`, 4875*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15205](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15205)) 4876*b6fb3261SAndroid Build Coastguard Worker* Fixes segfaults caused by incomplete `SavedModel` validation, 4877*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15206](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15206)) 4878*b6fb3261SAndroid Build Coastguard Worker* Fixes a data corruption due to a bug in negative indexing support in TFLite, 4879*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15207](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15207)) 4880*b6fb3261SAndroid Build Coastguard Worker* Fixes a data corruption due to dimension mismatch in TFLite, 4881*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15208](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15208)) 4882*b6fb3261SAndroid Build Coastguard Worker* Fixes several vulnerabilities in TFLite saved model format 4883*b6fb3261SAndroid Build Coastguard Worker * [CVE-2020-15209](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15209), 4884*b6fb3261SAndroid Build Coastguard Worker * [CVE-2020-15210](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15210), 4885*b6fb3261SAndroid Build Coastguard Worker * [CVE-2020-15211](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15211) 4886*b6fb3261SAndroid Build Coastguard Worker* Fixes several vulnerabilities in TFLite implementation of segment sum 4887*b6fb3261SAndroid Build Coastguard Worker * [CVE-2020-15212](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15212), 4888*b6fb3261SAndroid Build Coastguard Worker * [CVE-2020-15213](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15213), 4889*b6fb3261SAndroid Build Coastguard Worker * [CVE-2020-15214](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15214) 4890*b6fb3261SAndroid Build Coastguard Worker* Fixes a segfault in `tf.quantization.quantize_and_dequantize`, 4891*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15265](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15265)) 4892*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior float cast causing a crash, 4893*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15266](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15266)) 4894*b6fb3261SAndroid Build Coastguard Worker* Fixes a lack of validation in `tf.raw_ops.DataFormatVecPermute` and 4895*b6fb3261SAndroid Build Coastguard Worker `tf.raw_ops.DataFormatDimMap` which can cause uninitialized memory access, 4896*b6fb3261SAndroid Build Coastguard Worker read outside bounds of arrays, data corruption and segmentation faults 4897*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-26267](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26267)) 4898*b6fb3261SAndroid Build Coastguard Worker* Fixes a crash caused by writing to read only memory region 4899*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-26268](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26268)) 4900*b6fb3261SAndroid Build Coastguard Worker* Fixes a heap out of bounds access in filesystem globbing implementation 4901*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-26269](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26269)) 4902*b6fb3261SAndroid Build Coastguard Worker 4903*b6fb3261SAndroid Build Coastguard Worker### Other: 4904*b6fb3261SAndroid Build Coastguard Worker 4905*b6fb3261SAndroid Build Coastguard Worker* We have replaced uses of "whitelist" and "blacklist" with "allowlist" and 4906*b6fb3261SAndroid Build Coastguard Worker "denylist" where possible. Please see 4907*b6fb3261SAndroid Build Coastguard Worker [this list](https://developers.google.com/style/word-list#blacklist) for 4908*b6fb3261SAndroid Build Coastguard Worker more context. 4909*b6fb3261SAndroid Build Coastguard Worker* Adds `tf.config.experimental.mlir_bridge_rollout` which will help us rollout 4910*b6fb3261SAndroid Build Coastguard Worker the new MLIR TPU bridge. 4911*b6fb3261SAndroid Build Coastguard Worker* Adds `tf.experimental.register_filesystem_plugin` to load modular filesystem 4912*b6fb3261SAndroid Build Coastguard Worker plugins from Python 4913*b6fb3261SAndroid Build Coastguard Worker 4914*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors 4915*b6fb3261SAndroid Build Coastguard Worker 4916*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google as well as the 4917*b6fb3261SAndroid Build Coastguard Workerfollowing external contributors: 4918*b6fb3261SAndroid Build Coastguard Worker 4919*b6fb3261SAndroid Build Coastguard Worker8bitmp3, aaa.jq, Abhineet Choudhary, Abolfazl Shahbazi, acxz, Adam Hillier, 4920*b6fb3261SAndroid Build Coastguard WorkerAdrian Garcia Badaracco, Ag Ramesh, ahmedsabie, Alan Anderson, Alexander Grund, 4921*b6fb3261SAndroid Build Coastguard WorkerAlexandre Lissy, Alexey Ivanov, Amedeo Cavallo, anencore94, Aniket Kumar Singh, 4922*b6fb3261SAndroid Build Coastguard WorkerAnthony Platanios, Ashwin Phadke, Balint Cristian, Basit Ayantunde, bbbboom, Ben 4923*b6fb3261SAndroid Build Coastguard WorkerBarsdell, Benjamin Chetioui, Benjamin Peterson, bhack, Bhanu Prakash Bandaru 4924*b6fb3261SAndroid Build Coastguard WorkerVenkata, Biagio Montaruli, Brent M. Spell, bubblebooy, bzhao, cfRod, Cheng Chen, 4925*b6fb3261SAndroid Build Coastguard WorkerCheng(Kit) Chen, Chris Tessum, Christian, chuanqiw, codeadmin_peritiae, 4926*b6fb3261SAndroid Build Coastguard WorkerCOTASPAR, CuiYifeng, danielknobe, danielyou0230, dannyfriar, daria, 4927*b6fb3261SAndroid Build Coastguard WorkerDarrenZhang01, Denisa Roberts, dependabot[bot], Deven Desai, Dmitry Volodin, 4928*b6fb3261SAndroid Build Coastguard WorkerDmitry Zakharov, drebain, Duncan Riach, Eduard Feicho, Ehsan Toosi, Elena 4929*b6fb3261SAndroid Build Coastguard WorkerZhelezina, emlaprise2358, Eugene Kuznetsov, Evaderan-Lab, Evgeniy Polyakov, 4930*b6fb3261SAndroid Build Coastguard WorkerFausto Morales, Felix Johnny, fo40225, Frederic Bastien, Fredrik Knutsson, 4931*b6fb3261SAndroid Build Coastguard Workerfsx950223, Gaurav Singh, Gauri1 Deshpande, George Grzegorz Pawelczak, gerbauz, 4932*b6fb3261SAndroid Build Coastguard WorkerGianluca Baratti, Giorgio Arena, Gmc2, Guozhong Zhuang, Hannes Achleitner, 4933*b6fb3261SAndroid Build Coastguard WorkerHarirai, HarisWang, Harsh188, hedgehog91, Hemal Mamtora, Hideto Ueno, Hugh Ku, 4934*b6fb3261SAndroid Build Coastguard WorkerIan Beauregard, Ilya Persky, jacco, Jakub Beránek, Jan Jongboom, Javier Montalt 4935*b6fb3261SAndroid Build Coastguard WorkerTordera, Jens Elofsson, Jerry Shih, jerryyin, jgehw, Jinjing Zhou, jma, jmsmdy, 4936*b6fb3261SAndroid Build Coastguard WorkerJohan Nordström, John Poole, Jonah Kohn, Jonathan Dekhtiar, jpodivin, Jung Daun, 4937*b6fb3261SAndroid Build Coastguard WorkerKai Katsumata, Kaixi Hou, Kamil Rakoczy, Kaustubh Maske Patil, Kazuaki Ishizaki, 4938*b6fb3261SAndroid Build Coastguard WorkerKedar Sovani, Koan-Sin Tan, Koki Ibukuro, Krzysztof Laskowski, Kushagra Sharma, 4939*b6fb3261SAndroid Build Coastguard WorkerKushan Ahmadian, Lakshay Tokas, Leicong Li, levinxo, Lukas Geiger, Maderator, 4940*b6fb3261SAndroid Build Coastguard WorkerMahmoud Abuzaina, Mao Yunfei, Marius Brehler, markf, Martin Hwasser, Martin 4941*b6fb3261SAndroid Build Coastguard WorkerKubovčík, Matt Conley, Matthias, mazharul, mdfaijul, Michael137, MichelBr, 4942*b6fb3261SAndroid Build Coastguard WorkerMikhail Startsev, Milan Straka, Ml-0, Myung-Hyun Kim, Måns Nilsson, Nathan 4943*b6fb3261SAndroid Build Coastguard WorkerLuehr, ngc92, nikochiko, Niranjan Hasabnis, nyagato_00, Oceania2018, Oleg Guba, 4944*b6fb3261SAndroid Build Coastguard WorkerOngun Kanat, OscarVanL, Patrik Laurell, Paul Tanger, Peter Sobot, Phil Pearl, 4945*b6fb3261SAndroid Build Coastguard WorkerPlusPlusUltra, Poedator, Prasad Nikam, Rahul-Kamat, Rajeshwar Reddy T, 4946*b6fb3261SAndroid Build Coastguard Workerredwrasse, Rickard, Robert Szczepanski, Rohan Lekhwani, Sam Holt, Sami Kama, 4947*b6fb3261SAndroid Build Coastguard WorkerSamuel Holt, Sandeep Giri, sboshin, Sean Settle, settle, Sharada Shiddibhavi, 4948*b6fb3261SAndroid Build Coastguard WorkerShawn Presser, ShengYang1, Shi,Guangyong, Shuxiang Gao, Sicong Li, Sidong-Wei, 4949*b6fb3261SAndroid Build Coastguard WorkerSrihari Humbarwadi, Srinivasan Narayanamoorthy, Steenu Johnson, Steven Clarkson, 4950*b6fb3261SAndroid Build Coastguard Workerstjohnso98, Tamas Bela Feher, Tamas Nyiri, Tarandeep Singh, Teng Lu, Thibaut 4951*b6fb3261SAndroid Build Coastguard WorkerGoetghebuer-Planchon, Tim Bradley, Tomasz Strejczek, Tongzhou Wang, Torsten 4952*b6fb3261SAndroid Build Coastguard WorkerRudolf, Trent Lo, Ty Mick, Tzu-Wei Sung, Varghese, Jojimon, Vignesh Kothapalli, 4953*b6fb3261SAndroid Build Coastguard WorkerVishakha Agrawal, Vividha, Vladimir Menshakov, Vladimir Silyaev, VoVAllen, Võ 4954*b6fb3261SAndroid Build Coastguard WorkerVăn Nghĩa, wondertx, xiaohong1031, Xiaoming (Jason) Cui, Xinan Jiang, Yair 4955*b6fb3261SAndroid Build Coastguard WorkerEhrenwald, Yasir Modak, Yasuhiro Matsumoto, Yimei Sun, Yiwen Li, Yixing, Yoav 4956*b6fb3261SAndroid Build Coastguard WorkerRamon, Yong Tang, Yong Wu, yuanbopeng, Yunmo Koo, Zhangqiang, Zhou Peng, 4957*b6fb3261SAndroid Build Coastguard WorkerZhuBaohe, zilinzhu, zmx 4958*b6fb3261SAndroid Build Coastguard Worker 4959*b6fb3261SAndroid Build Coastguard Worker# Release 2.3.1 4960*b6fb3261SAndroid Build Coastguard Worker 4961*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 4962*b6fb3261SAndroid Build Coastguard Worker 4963*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior causing a segfault in `tf.raw_ops.Switch` 4964*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15190](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15190)) 4965*b6fb3261SAndroid Build Coastguard Worker* Fixes three vulnerabilities in conversion to DLPack format 4966*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15191](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15191), 4967*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-15192](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15192), 4968*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-15193](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15193)) 4969*b6fb3261SAndroid Build Coastguard Worker* Fixes two vulnerabilities in `SparseFillEmptyRowsGrad` 4970*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15194](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15194), 4971*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-15195](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15195)) 4972*b6fb3261SAndroid Build Coastguard Worker* Fixes several vulnerabilities in `RaggedCountSparseOutput` and 4973*b6fb3261SAndroid Build Coastguard Worker `SparseCountSparseOutput` operations 4974*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15196](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15196), 4975*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-15197](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15197), 4976*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-15198](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15198), 4977*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-15199](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15199), 4978*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-15200](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15200), 4979*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-15201](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15201)) 4980*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer truncation vulnerability in code using the work sharder API 4981*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15202](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15202)) 4982*b6fb3261SAndroid Build Coastguard Worker* Fixes a format string vulnerability in `tf.strings.as_string` 4983*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15203](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15203)) 4984*b6fb3261SAndroid Build Coastguard Worker* Fixes segfault raised by calling session-only ops in eager mode 4985*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15204](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15204)) 4986*b6fb3261SAndroid Build Coastguard Worker* Fixes data leak and potential ASLR violation from `tf.raw_ops.StringNGrams` 4987*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15205](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15205)) 4988*b6fb3261SAndroid Build Coastguard Worker* Fixes segfaults caused by incomplete `SavedModel` validation 4989*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15206](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15206)) 4990*b6fb3261SAndroid Build Coastguard Worker* Fixes a data corruption due to a bug in negative indexing support in TFLite 4991*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15207](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15207)) 4992*b6fb3261SAndroid Build Coastguard Worker* Fixes a data corruption due to dimension mismatch in TFLite 4993*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15208](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15208)) 4994*b6fb3261SAndroid Build Coastguard Worker* Fixes several vulnerabilities in TFLite saved model format 4995*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15209](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15209), 4996*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-15210](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15210), 4997*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-15211](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15211)) 4998*b6fb3261SAndroid Build Coastguard Worker* Fixes several vulnerabilities in TFLite implementation of segment sum 4999*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15212](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15212), 5000*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-15213](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15213), 5001*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-15214](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15214)) 5002*b6fb3261SAndroid Build Coastguard Worker* Updates `sqlite3` to `3.33.00` to handle 5003*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-15358](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15358). 5004*b6fb3261SAndroid Build Coastguard Worker* Fixes deprecated usage of `collections` API 5005*b6fb3261SAndroid Build Coastguard Worker* Removes `scipy` dependency from `setup.py` since TensorFlow does not need it 5006*b6fb3261SAndroid Build Coastguard Worker to install the pip package 5007*b6fb3261SAndroid Build Coastguard Worker 5008*b6fb3261SAndroid Build Coastguard Worker# Release 2.2.1 5009*b6fb3261SAndroid Build Coastguard Worker 5010*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 5011*b6fb3261SAndroid Build Coastguard Worker 5012*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior causing a segfault in `tf.raw_ops.Switch` 5013*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15190](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15190)) 5014*b6fb3261SAndroid Build Coastguard Worker* Fixes three vulnerabilities in conversion to DLPack format 5015*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15191](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15191), 5016*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-15192](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15192), 5017*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-15193](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15193)) 5018*b6fb3261SAndroid Build Coastguard Worker* Fixes two vulnerabilities in `SparseFillEmptyRowsGrad` 5019*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15194](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15194), 5020*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-15195](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15195)) 5021*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer truncation vulnerability in code using the work sharder API 5022*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15202](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15202)) 5023*b6fb3261SAndroid Build Coastguard Worker* Fixes a format string vulnerability in `tf.strings.as_string` 5024*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15203](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15203)) 5025*b6fb3261SAndroid Build Coastguard Worker* Fixes segfault raised by calling session-only ops in eager mode 5026*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15204](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15204)) 5027*b6fb3261SAndroid Build Coastguard Worker* Fixes data leak and potential ASLR violation from `tf.raw_ops.StringNGrams` 5028*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15205](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15205)) 5029*b6fb3261SAndroid Build Coastguard Worker* Fixes segfaults caused by incomplete `SavedModel` validation 5030*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15206](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15206)) 5031*b6fb3261SAndroid Build Coastguard Worker* Fixes a data corruption due to a bug in negative indexing support in TFLite 5032*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15207](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15207)) 5033*b6fb3261SAndroid Build Coastguard Worker* Fixes a data corruption due to dimension mismatch in TFLite 5034*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15208](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15208)) 5035*b6fb3261SAndroid Build Coastguard Worker* Fixes several vulnerabilities in TFLite saved model format 5036*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15209](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15209), 5037*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-15210](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15210), 5038*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-15211](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15211)) 5039*b6fb3261SAndroid Build Coastguard Worker* Fixes several vulnerabilities in TFLite implementation of segment sum 5040*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15212](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15212), 5041*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-15213](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15213), 5042*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-15214](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15214)) 5043*b6fb3261SAndroid Build Coastguard Worker* Updates `sqlite3` to `3.33.00` to handle 5044*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-9327](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-9327), 5045*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-11655](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-11655), 5046*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-11656](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-11656), 5047*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-13434](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13434), 5048*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-13435](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13435), 5049*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-13630](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13630), 5050*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-13631](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13631), 5051*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-13871](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13871), 5052*b6fb3261SAndroid Build Coastguard Worker and 5053*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-15358](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15358). 5054*b6fb3261SAndroid Build Coastguard Worker* Fixes deprecated usage of `collections` API 5055*b6fb3261SAndroid Build Coastguard Worker* Removes `scipy` dependency from `setup.py` since TensorFlow does not need it 5056*b6fb3261SAndroid Build Coastguard Worker to install the pip package 5057*b6fb3261SAndroid Build Coastguard Worker 5058*b6fb3261SAndroid Build Coastguard Worker# Release 2.1.2 5059*b6fb3261SAndroid Build Coastguard Worker 5060*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 5061*b6fb3261SAndroid Build Coastguard Worker 5062*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior causing a segfault in `tf.raw_ops.Switch` 5063*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15190](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15190)) 5064*b6fb3261SAndroid Build Coastguard Worker* Fixes three vulnerabilities in conversion to DLPack format 5065*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15191](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15191), 5066*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-15192](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15192), 5067*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-15193](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15193)) 5068*b6fb3261SAndroid Build Coastguard Worker* Fixes two vulnerabilities in `SparseFillEmptyRowsGrad` 5069*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15194](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15194), 5070*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-15195](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15195)) 5071*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer truncation vulnerability in code using the work sharder API 5072*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15202](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15202)) 5073*b6fb3261SAndroid Build Coastguard Worker* Fixes a format string vulnerability in `tf.strings.as_string` 5074*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15203](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15203)) 5075*b6fb3261SAndroid Build Coastguard Worker* Fixes segfault raised by calling session-only ops in eager mode 5076*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15204](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15204)) 5077*b6fb3261SAndroid Build Coastguard Worker* Fixes data leak and potential ASLR violation from `tf.raw_ops.StringNGrams` 5078*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15205](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15205)) 5079*b6fb3261SAndroid Build Coastguard Worker* Fixes segfaults caused by incomplete `SavedModel` validation 5080*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15206](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15206)) 5081*b6fb3261SAndroid Build Coastguard Worker* Fixes a data corruption due to a bug in negative indexing support in TFLite 5082*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15207](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15207)) 5083*b6fb3261SAndroid Build Coastguard Worker* Fixes a data corruption due to dimension mismatch in TFLite 5084*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15208](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15208)) 5085*b6fb3261SAndroid Build Coastguard Worker* Fixes several vulnerabilities in TFLite saved model format 5086*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15209](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15209), 5087*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-15210](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15210), 5088*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-15211](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15211)) 5089*b6fb3261SAndroid Build Coastguard Worker* Updates `sqlite3` to `3.33.00` to handle 5090*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-9327](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-9327), 5091*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-11655](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-11655), 5092*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-11656](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-11656), 5093*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-13434](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13434), 5094*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-13435](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13435), 5095*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-13630](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13630), 5096*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-13631](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13631), 5097*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-13871](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13871), 5098*b6fb3261SAndroid Build Coastguard Worker and 5099*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-15358](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15358). 5100*b6fb3261SAndroid Build Coastguard Worker* Removes `scipy` dependency from `setup.py` since TensorFlow does not need it 5101*b6fb3261SAndroid Build Coastguard Worker to install the pip package 5102*b6fb3261SAndroid Build Coastguard Worker* Switches ROCM builds to use ROCM 3.7 5103*b6fb3261SAndroid Build Coastguard Worker 5104*b6fb3261SAndroid Build Coastguard Worker# Release 2.0.3 5105*b6fb3261SAndroid Build Coastguard Worker 5106*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 5107*b6fb3261SAndroid Build Coastguard Worker 5108*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior causing a segfault in `tf.raw_ops.Switch` 5109*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15190](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15190)) 5110*b6fb3261SAndroid Build Coastguard Worker* Fixes three vulnerabilities in conversion to DLPack format 5111*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15191](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15191), 5112*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-15192](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15192), 5113*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-15193](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15193)) 5114*b6fb3261SAndroid Build Coastguard Worker* Fixes two vulnerabilities in `SparseFillEmptyRowsGrad` 5115*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15194](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15194), 5116*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-15195](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15195)) 5117*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer truncation vulnerability in code using the work sharder API 5118*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15202](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15202)) 5119*b6fb3261SAndroid Build Coastguard Worker* Fixes a format string vulnerability in `tf.strings.as_string` 5120*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15203](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15203)) 5121*b6fb3261SAndroid Build Coastguard Worker* Fixes segfault raised by calling session-only ops in eager mode 5122*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15204](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15204)) 5123*b6fb3261SAndroid Build Coastguard Worker* Fixes data leak and potential ASLR violation from `tf.raw_ops.StringNGrams` 5124*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15205](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15205)) 5125*b6fb3261SAndroid Build Coastguard Worker* Fixes segfaults caused by incomplete `SavedModel` validation 5126*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15206](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15206)) 5127*b6fb3261SAndroid Build Coastguard Worker* Fixes a data corruption due to a bug in negative indexing support in TFLite 5128*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15207](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15207)) 5129*b6fb3261SAndroid Build Coastguard Worker* Fixes a data corruption due to dimension mismatch in TFLite 5130*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15208](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15208)) 5131*b6fb3261SAndroid Build Coastguard Worker* Fixes several vulnerabilities in TFLite saved model format 5132*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15209](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15209), 5133*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-15210](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15210), 5134*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-15211](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15211)) 5135*b6fb3261SAndroid Build Coastguard Worker* Updates `sqlite3` to `3.33.00` to handle 5136*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-9327](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-9327), 5137*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-11655](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-11655), 5138*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-11656](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-11656), 5139*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-13434](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13434), 5140*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-13435](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13435), 5141*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-13630](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13630), 5142*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-13631](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13631), 5143*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-13871](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13871), 5144*b6fb3261SAndroid Build Coastguard Worker and 5145*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-15358](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15358). 5146*b6fb3261SAndroid Build Coastguard Worker* Pins `numpy` to 1.18.5 to prevent ABI breakage when compiling code that uses 5147*b6fb3261SAndroid Build Coastguard Worker both NumPy and TensorFlow headers. 5148*b6fb3261SAndroid Build Coastguard Worker 5149*b6fb3261SAndroid Build Coastguard Worker# Release 1.15.4 5150*b6fb3261SAndroid Build Coastguard Worker 5151*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 5152*b6fb3261SAndroid Build Coastguard Worker 5153*b6fb3261SAndroid Build Coastguard Worker* Fixes an undefined behavior causing a segfault in `tf.raw_ops.Switch` 5154*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15190](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15190)) 5155*b6fb3261SAndroid Build Coastguard Worker* Fixes three vulnerabilities in conversion to DLPack format 5156*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15191](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15191), 5157*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-15192](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15192), 5158*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-15193](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15193)) 5159*b6fb3261SAndroid Build Coastguard Worker* Fixes two vulnerabilities in `SparseFillEmptyRowsGrad` 5160*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15194](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15194), 5161*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-15195](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15195)) 5162*b6fb3261SAndroid Build Coastguard Worker* Fixes an integer truncation vulnerability in code using the work sharder API 5163*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15202](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15202)) 5164*b6fb3261SAndroid Build Coastguard Worker* Fixes a format string vulnerability in `tf.strings.as_string` 5165*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15203](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15203)) 5166*b6fb3261SAndroid Build Coastguard Worker* Fixes segfault raised by calling session-only ops in eager mode 5167*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15204](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15204)) 5168*b6fb3261SAndroid Build Coastguard Worker* Fixes data leak and potential ASLR violation from `tf.raw_ops.StringNGrams` 5169*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15205](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15205)) 5170*b6fb3261SAndroid Build Coastguard Worker* Fixes segfaults caused by incomplete `SavedModel` validation 5171*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15206](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15206)) 5172*b6fb3261SAndroid Build Coastguard Worker* Fixes a data corruption due to a bug in negative indexing support in TFLite 5173*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15207](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15207)) 5174*b6fb3261SAndroid Build Coastguard Worker* Fixes a data corruption due to dimension mismatch in TFLite 5175*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15208](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15208)) 5176*b6fb3261SAndroid Build Coastguard Worker* Fixes several vulnerabilities in TFLite saved model format 5177*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-15209](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15209), 5178*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-15210](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15210), 5179*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-15211](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15211)) 5180*b6fb3261SAndroid Build Coastguard Worker* Updates `sqlite3` to `3.33.00` to handle 5181*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-9327](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-9327), 5182*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-11655](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-11655), 5183*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-11656](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-11656), 5184*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-13434](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13434), 5185*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-13435](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13435), 5186*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-13630](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13630), 5187*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-13631](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13631), 5188*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-13871](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13871), 5189*b6fb3261SAndroid Build Coastguard Worker and 5190*b6fb3261SAndroid Build Coastguard Worker [CVE-2020-15358](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15358). 5191*b6fb3261SAndroid Build Coastguard Worker* Fixes #41630 by including `max_seq_length` in CuDNN descriptor cache key 5192*b6fb3261SAndroid Build Coastguard Worker* Pins `numpy` to 1.18.5 to prevent ABI breakage when compiling code that uses 5193*b6fb3261SAndroid Build Coastguard Worker both NumPy and TensorFlow headers. 5194*b6fb3261SAndroid Build Coastguard Worker 5195*b6fb3261SAndroid Build Coastguard Worker# Release 2.3.0 5196*b6fb3261SAndroid Build Coastguard Worker 5197*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements 5198*b6fb3261SAndroid Build Coastguard Worker 5199*b6fb3261SAndroid Build Coastguard Worker* `tf.data` adds two new mechanisms to solve input pipeline bottlenecks and 5200*b6fb3261SAndroid Build Coastguard Worker save resources: 5201*b6fb3261SAndroid Build Coastguard Worker 5202*b6fb3261SAndroid Build Coastguard Worker * [snapshot](https://www.tensorflow.org/api_docs/python/tf/data/experimental/snapshot) 5203*b6fb3261SAndroid Build Coastguard Worker * [tf.data service](https://www.tensorflow.org/api_docs/python/tf/data/experimental/service). 5204*b6fb3261SAndroid Build Coastguard Worker 5205*b6fb3261SAndroid Build Coastguard Worker In addition checkout the detailed 5206*b6fb3261SAndroid Build Coastguard Worker [guide](https://www.tensorflow.org/guide/data_performance_analysis) for 5207*b6fb3261SAndroid Build Coastguard Worker analyzing input pipeline performance with TF Profiler. 5208*b6fb3261SAndroid Build Coastguard Worker 5209*b6fb3261SAndroid Build Coastguard Worker* [`tf.distribute.TPUStrategy`](https://www.tensorflow.org/api_docs/python/tf/distribute/TPUStrategy) 5210*b6fb3261SAndroid Build Coastguard Worker is now a stable API and no longer considered experimental for TensorFlow. 5211*b6fb3261SAndroid Build Coastguard Worker (earlier `tf.distribute.experimental.TPUStrategy`). 5212*b6fb3261SAndroid Build Coastguard Worker 5213*b6fb3261SAndroid Build Coastguard Worker* [TF Profiler](https://www.tensorflow.org/guide/profiler) introduces two new 5214*b6fb3261SAndroid Build Coastguard Worker tools: a memory profiler to visualize your model’s memory usage over time 5215*b6fb3261SAndroid Build Coastguard Worker and a [python tracer](https://www.tensorflow.org/guide/profiler#events) 5216*b6fb3261SAndroid Build Coastguard Worker which allows you to trace python function calls in your model. Usability 5217*b6fb3261SAndroid Build Coastguard Worker improvements include better diagnostic messages and 5218*b6fb3261SAndroid Build Coastguard Worker [profile options](https://tensorflow.org/guide/profiler#collect_performance_data) 5219*b6fb3261SAndroid Build Coastguard Worker to customize the host and device trace verbosity level. 5220*b6fb3261SAndroid Build Coastguard Worker 5221*b6fb3261SAndroid Build Coastguard Worker* Introduces experimental support for Keras Preprocessing Layers API 5222*b6fb3261SAndroid Build Coastguard Worker ([`tf.keras.layers.experimental.preprocessing.*`](https://www.tensorflow.org/api_docs/python/tf/keras/layers/experimental/preprocessing?version=nightly)) 5223*b6fb3261SAndroid Build Coastguard Worker to handle data preprocessing operations, with support for composite tensor 5224*b6fb3261SAndroid Build Coastguard Worker inputs. Please see below for additional details on these layers. 5225*b6fb3261SAndroid Build Coastguard Worker 5226*b6fb3261SAndroid Build Coastguard Worker* TFLite now properly supports dynamic shapes during conversion and inference. 5227*b6fb3261SAndroid Build Coastguard Worker We’ve also added opt-in support on Android and iOS for 5228*b6fb3261SAndroid Build Coastguard Worker [XNNPACK](https://github.com/tensorflow/tensorflow/tree/master/tensorflow/lite/delegates/xnnpack), 5229*b6fb3261SAndroid Build Coastguard Worker a highly optimized set of CPU kernels, as well as opt-in support for 5230*b6fb3261SAndroid Build Coastguard Worker [executing quantized models on the GPU](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/lite/g3doc/performance/gpu_advanced.md#running-quantized-models-experimental). 5231*b6fb3261SAndroid Build Coastguard Worker 5232*b6fb3261SAndroid Build Coastguard Worker* Libtensorflow packages are available in GCS starting this release. We have 5233*b6fb3261SAndroid Build Coastguard Worker also started to 5234*b6fb3261SAndroid Build Coastguard Worker [release a nightly version of these packages](https://github.com/tensorflow/tensorflow#official-builds). 5235*b6fb3261SAndroid Build Coastguard Worker 5236*b6fb3261SAndroid Build Coastguard Worker* The experimental Python API 5237*b6fb3261SAndroid Build Coastguard Worker [`tf.debugging.experimental.enable_dump_debug_info()`](https://www.tensorflow.org/api_docs/python/tf/debugging/experimental/enable_dump_debug_info) 5238*b6fb3261SAndroid Build Coastguard Worker now allows you to instrument a TensorFlow program and dump debugging 5239*b6fb3261SAndroid Build Coastguard Worker information to a directory on the file system. The directory can be read and 5240*b6fb3261SAndroid Build Coastguard Worker visualized by a new interactive dashboard in TensorBoard 2.3 called 5241*b6fb3261SAndroid Build Coastguard Worker [Debugger V2](https://www.tensorflow.org/tensorboard/debugger_v2), which 5242*b6fb3261SAndroid Build Coastguard Worker reveals the details of the TensorFlow program including graph structures, 5243*b6fb3261SAndroid Build Coastguard Worker history of op executions at the Python (eager) and intra-graph levels, the 5244*b6fb3261SAndroid Build Coastguard Worker runtime dtype, shape, and numerical composition of tensors, as well as their 5245*b6fb3261SAndroid Build Coastguard Worker code locations. 5246*b6fb3261SAndroid Build Coastguard Worker 5247*b6fb3261SAndroid Build Coastguard Worker## Breaking Changes 5248*b6fb3261SAndroid Build Coastguard Worker 5249*b6fb3261SAndroid Build Coastguard Worker* Increases the **minimum bazel version** required to build TF to **3.1.0**. 5250*b6fb3261SAndroid Build Coastguard Worker* `tf.data` 5251*b6fb3261SAndroid Build Coastguard Worker * Makes the following (breaking) changes to the `tf.data`. 5252*b6fb3261SAndroid Build Coastguard Worker * C++ API: - `IteratorBase::RestoreInternal`, 5253*b6fb3261SAndroid Build Coastguard Worker `IteratorBase::SaveInternal`, and `DatasetBase::CheckExternalState` 5254*b6fb3261SAndroid Build Coastguard Worker become pure-virtual and subclasses are now expected to provide an 5255*b6fb3261SAndroid Build Coastguard Worker implementation. 5256*b6fb3261SAndroid Build Coastguard Worker * The deprecated `DatasetBase::IsStateful` method is removed in favor of 5257*b6fb3261SAndroid Build Coastguard Worker `DatasetBase::CheckExternalState`. 5258*b6fb3261SAndroid Build Coastguard Worker * Deprecated overrides of `DatasetBase::MakeIterator` and 5259*b6fb3261SAndroid Build Coastguard Worker `MakeIteratorFromInputElement` are removed. 5260*b6fb3261SAndroid Build Coastguard Worker * The signature of `tensorflow::data::IteratorBase::SaveInternal` and 5261*b6fb3261SAndroid Build Coastguard Worker `tensorflow::data::IteratorBase::SaveInput` has been extended with 5262*b6fb3261SAndroid Build Coastguard Worker `SerializationContext` argument to enable overriding the default policy 5263*b6fb3261SAndroid Build Coastguard Worker for the handling external state during iterator checkpointing. This is 5264*b6fb3261SAndroid Build Coastguard Worker not a backwards compatible change and all subclasses of `IteratorBase` 5265*b6fb3261SAndroid Build Coastguard Worker *need to be updated* accordingly. 5266*b6fb3261SAndroid Build Coastguard Worker* `tf.keras` 5267*b6fb3261SAndroid Build Coastguard Worker * Add a new `BackupAndRestore` callback for handling distributed training 5268*b6fb3261SAndroid Build Coastguard Worker failures & restarts. Please take a look at this 5269*b6fb3261SAndroid Build Coastguard Worker [tutorial](https://www.tensorflow.org/tutorials/distribute/multi_worker_with_keras) 5270*b6fb3261SAndroid Build Coastguard Worker for details on how to use the callback. 5271*b6fb3261SAndroid Build Coastguard Worker* `tf.image.extract_glimpse` has been updated to correctly process the case 5272*b6fb3261SAndroid Build Coastguard Worker where `centered=False` and `normalized=False`. This is a breaking change as 5273*b6fb3261SAndroid Build Coastguard Worker the output is different from (incorrect) previous versions. Note this 5274*b6fb3261SAndroid Build Coastguard Worker breaking change only impacts `tf.image.extract_glimpse` and 5275*b6fb3261SAndroid Build Coastguard Worker `tf.compat.v2.image.extract_glimpse` API endpoints. The behavior of 5276*b6fb3261SAndroid Build Coastguard Worker `tf.compat.v1.image.extract_glimpse` does not change. The behavior of 5277*b6fb3261SAndroid Build Coastguard Worker existing C++ kernel `ExtractGlimpse` does not change either, so saved models 5278*b6fb3261SAndroid Build Coastguard Worker using `tf.raw_ops.ExtractGlimpse` will not be impacted. 5279*b6fb3261SAndroid Build Coastguard Worker 5280*b6fb3261SAndroid Build Coastguard Worker## Known Caveats 5281*b6fb3261SAndroid Build Coastguard Worker 5282*b6fb3261SAndroid Build Coastguard Worker* `tf.lite` 5283*b6fb3261SAndroid Build Coastguard Worker * Keras-based LSTM models must be converted with an explicit batch size in 5284*b6fb3261SAndroid Build Coastguard Worker the input layer. 5285*b6fb3261SAndroid Build Coastguard Worker 5286*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 5287*b6fb3261SAndroid Build Coastguard Worker 5288*b6fb3261SAndroid Build Coastguard Worker### TF Core: 5289*b6fb3261SAndroid Build Coastguard Worker 5290*b6fb3261SAndroid Build Coastguard Worker* Set `tf2_behavior` to 1 to enable V2 for early loading cases. 5291*b6fb3261SAndroid Build Coastguard Worker* Add `execute_fn_for_device function` to dynamically choose the 5292*b6fb3261SAndroid Build Coastguard Worker implementation based on underlying device placement. 5293*b6fb3261SAndroid Build Coastguard Worker* Eager: 5294*b6fb3261SAndroid Build Coastguard Worker * Add `reduce_logsumexp` benchmark with experiment compile. 5295*b6fb3261SAndroid Build Coastguard Worker * Give `EagerTensor`s a meaningful `__array__` implementation. 5296*b6fb3261SAndroid Build Coastguard Worker * Add another version of defun matmul for performance analysis. 5297*b6fb3261SAndroid Build Coastguard Worker* `tf.function`/AutoGraph: 5298*b6fb3261SAndroid Build Coastguard Worker * `AutoGraph` now includes into TensorFlow loops any variables that are 5299*b6fb3261SAndroid Build Coastguard Worker closed over by local functions. Previously, such variables were 5300*b6fb3261SAndroid Build Coastguard Worker sometimes incorrectly ignored. 5301*b6fb3261SAndroid Build Coastguard Worker * functions returned by the `get_concrete_function` method of 5302*b6fb3261SAndroid Build Coastguard Worker `tf.function` objects can now be called with arguments consistent with 5303*b6fb3261SAndroid Build Coastguard Worker the original arguments or type specs passed to `get_concrete_function`. 5304*b6fb3261SAndroid Build Coastguard Worker This calling convention is now the preferred way to use concrete 5305*b6fb3261SAndroid Build Coastguard Worker functions with nested values and composite tensors. Please check the 5306*b6fb3261SAndroid Build Coastguard Worker [guide](https://www.tensorflow.org/guide/concrete_function) for more 5307*b6fb3261SAndroid Build Coastguard Worker details on `concrete_ function`. 5308*b6fb3261SAndroid Build Coastguard Worker * Update `tf.function`'s `experimental_relax_shapes` to handle composite 5309*b6fb3261SAndroid Build Coastguard Worker tensors appropriately. 5310*b6fb3261SAndroid Build Coastguard Worker * Optimize `tf.function` invocation, by removing redundant list converter. 5311*b6fb3261SAndroid Build Coastguard Worker * `tf.function` will retrace when called with a different variable instead 5312*b6fb3261SAndroid Build Coastguard Worker of simply using the `dtype` & `shape`. 5313*b6fb3261SAndroid Build Coastguard Worker * [Improve support](https://github.com/tensorflow/tensorflow/issues/33862) 5314*b6fb3261SAndroid Build Coastguard Worker for dynamically-sized TensorArray inside `tf.function`. 5315*b6fb3261SAndroid Build Coastguard Worker* `tf.math`: 5316*b6fb3261SAndroid Build Coastguard Worker * Narrow down `argmin`/`argmax` contract to always return the smallest 5317*b6fb3261SAndroid Build Coastguard Worker index for ties. 5318*b6fb3261SAndroid Build Coastguard Worker * `tf.math.reduce_variance` and `tf.math.reduce_std` return correct 5319*b6fb3261SAndroid Build Coastguard Worker computation for complex types and no longer support integer types. 5320*b6fb3261SAndroid Build Coastguard Worker * Add Bessel functions of order 0,1 to `tf.math.special`. 5321*b6fb3261SAndroid Build Coastguard Worker * `tf.divide` now always returns a tensor to be consistent with 5322*b6fb3261SAndroid Build Coastguard Worker documentation and other APIs. 5323*b6fb3261SAndroid Build Coastguard Worker* `tf.image`: 5324*b6fb3261SAndroid Build Coastguard Worker * Replaced 5325*b6fb3261SAndroid Build Coastguard Worker [`tf.image.non_max_suppression_padded`](https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/image/non_max_suppression_padded?hl=en) 5326*b6fb3261SAndroid Build Coastguard Worker with a new implementation that supports batched inputs, which is 5327*b6fb3261SAndroid Build Coastguard Worker considerably faster on TPUs and GPUs. Boxes with area=0 will be ignored. 5328*b6fb3261SAndroid Build Coastguard Worker Existing usage with single inputs should still work as before. 5329*b6fb3261SAndroid Build Coastguard Worker* `tf.linalg` 5330*b6fb3261SAndroid Build Coastguard Worker * Add `tf.linalg.banded_triangular_solve`. 5331*b6fb3261SAndroid Build Coastguard Worker* `tf.random`: 5332*b6fb3261SAndroid Build Coastguard Worker * Add `tf.random.stateless_parameterized_truncated_normal`. 5333*b6fb3261SAndroid Build Coastguard Worker* `tf.ragged`: 5334*b6fb3261SAndroid Build Coastguard Worker * Add `tf.ragged.cross` and `tf.ragged.cross_hashed` operations. 5335*b6fb3261SAndroid Build Coastguard Worker* `tf.RaggedTensor`: 5336*b6fb3261SAndroid Build Coastguard Worker * `RaggedTensor.to_tensor()` now preserves static shape. 5337*b6fb3261SAndroid Build Coastguard Worker * Add `tf.strings.format()` and `tf.print()` to support RaggedTensors. 5338*b6fb3261SAndroid Build Coastguard Worker* `tf.saved_model`: 5339*b6fb3261SAndroid Build Coastguard Worker * `@tf.function` from SavedModel no longer ignores args after a 5340*b6fb3261SAndroid Build Coastguard Worker `RaggedTensor` when selecting the concrete function to run. 5341*b6fb3261SAndroid Build Coastguard Worker * Fix save model issue for ops with a list of functions. 5342*b6fb3261SAndroid Build Coastguard Worker * Add `tf.saved_model.LoadOptions` with 5343*b6fb3261SAndroid Build Coastguard Worker [`experimental_io_device`](https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/saved_model/LoadOptions?hl=en) 5344*b6fb3261SAndroid Build Coastguard Worker as arg with default value `None` to choose the I/O device for loading 5345*b6fb3261SAndroid Build Coastguard Worker models and weights. 5346*b6fb3261SAndroid Build Coastguard Worker * Update `tf.saved_model.SaveOptions` with 5347*b6fb3261SAndroid Build Coastguard Worker [`experimental_io_device`](https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/saved_model/SaveOptions?hl=en) 5348*b6fb3261SAndroid Build Coastguard Worker as arg with default value `None` to choose the I/O device for saving 5349*b6fb3261SAndroid Build Coastguard Worker models and weights. 5350*b6fb3261SAndroid Build Coastguard Worker * Mutable tables now restore checkpointed values when loaded from 5351*b6fb3261SAndroid Build Coastguard Worker SavedModel. 5352*b6fb3261SAndroid Build Coastguard Worker * The user object metadata field in the SavedModel proto has been 5353*b6fb3261SAndroid Build Coastguard Worker deprecated as part of the updates to Keras SavedModel. Keras was the 5354*b6fb3261SAndroid Build Coastguard Worker only consumer of this field prior to the update. 5355*b6fb3261SAndroid Build Coastguard Worker* GPU 5356*b6fb3261SAndroid Build Coastguard Worker * TF 2.3 includes PTX kernels only for 5357*b6fb3261SAndroid Build Coastguard Worker [compute capability](https://developer.nvidia.com/cuda-gpus) 7.0 to 5358*b6fb3261SAndroid Build Coastguard Worker reduce the TF pip binary size. Earlier releases included PTX for a 5359*b6fb3261SAndroid Build Coastguard Worker variety of older compute capabilities. 5360*b6fb3261SAndroid Build Coastguard Worker * Remove environmental variable `TF_USE_CUDNN`. 5361*b6fb3261SAndroid Build Coastguard Worker* Others 5362*b6fb3261SAndroid Build Coastguard Worker * Retain parent namescope for ops added inside 5363*b6fb3261SAndroid Build Coastguard Worker `tf.while_loop`/`tf.cond`/`tf.switch_case`. 5364*b6fb3261SAndroid Build Coastguard Worker * Update `tf.vectorized_map` to support vectorizing `tf.while_loop` and 5365*b6fb3261SAndroid Build Coastguard Worker TensorList operations. 5366*b6fb3261SAndroid Build Coastguard Worker * `tf.custom_gradient` can now be applied to functions that accept nested 5367*b6fb3261SAndroid Build Coastguard Worker structures of `tensors` as inputs (instead of just a list of tensors). 5368*b6fb3261SAndroid Build Coastguard Worker Note that Python structures such as tuples and lists now won't be 5369*b6fb3261SAndroid Build Coastguard Worker treated as tensors, so if you still want them to be treated that way, 5370*b6fb3261SAndroid Build Coastguard Worker you need to wrap them with `tf.convert_to_tensor`. 5371*b6fb3261SAndroid Build Coastguard Worker * No lowering on gradient case op when input is `DeviceIndex` op. 5372*b6fb3261SAndroid Build Coastguard Worker * Extend the ragged version of `tf.gather` to support `batch_dims` and 5373*b6fb3261SAndroid Build Coastguard Worker `axis` args. 5374*b6fb3261SAndroid Build Coastguard Worker * Update `tf.map_fn` to support RaggedTensors and SparseTensors. 5375*b6fb3261SAndroid Build Coastguard Worker * Deprecate `tf.group`. It is not useful in eager mode. 5376*b6fb3261SAndroid Build Coastguard Worker * Add CPU and GPU implementation of modified variation of 5377*b6fb3261SAndroid Build Coastguard Worker [`FTRL`](https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/raw_ops/ApplyFtrl)/[`FTRLV2`](https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/raw_ops/ApplyFtrlV2) 5378*b6fb3261SAndroid Build Coastguard Worker that can triggerred by `multiply_linear_by_lr` allowing a learning rate 5379*b6fb3261SAndroid Build Coastguard Worker of zero. 5380*b6fb3261SAndroid Build Coastguard Worker 5381*b6fb3261SAndroid Build Coastguard Worker### `tf.data`: 5382*b6fb3261SAndroid Build Coastguard Worker 5383*b6fb3261SAndroid Build Coastguard Worker* `tf.data.experimental.dense_to_ragged_batch` works correctly with tuples. 5384*b6fb3261SAndroid Build Coastguard Worker* `tf.data.experimental.dense_to_ragged_batch` to output variable ragged rank. 5385*b6fb3261SAndroid Build Coastguard Worker* `tf.data.experimental.cardinality` is now a method on `tf.data.Dataset`. 5386*b6fb3261SAndroid Build Coastguard Worker* `tf.data.Dataset` now supports `len(Dataset)` when the cardinality is 5387*b6fb3261SAndroid Build Coastguard Worker finite. 5388*b6fb3261SAndroid Build Coastguard Worker 5389*b6fb3261SAndroid Build Coastguard Worker### `tf.distribute`: 5390*b6fb3261SAndroid Build Coastguard Worker 5391*b6fb3261SAndroid Build Coastguard Worker* Expose experimental 5392*b6fb3261SAndroid Build Coastguard Worker [`tf.distribute.DistributedDataset`](https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/distribute/DistributedDataset?hl=en) 5393*b6fb3261SAndroid Build Coastguard Worker and 5394*b6fb3261SAndroid Build Coastguard Worker [`tf.distribute.DistributedIterator`](https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/distribute/DistributedIterator) 5395*b6fb3261SAndroid Build Coastguard Worker to distribute input data when using `tf.distribute` to scale training on 5396*b6fb3261SAndroid Build Coastguard Worker multiple devices. 5397*b6fb3261SAndroid Build Coastguard Worker * Added a 5398*b6fb3261SAndroid Build Coastguard Worker [`get_next_as_optional`](https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/distribute/DistributedIterator?hl=en#get_next_as_optional) 5399*b6fb3261SAndroid Build Coastguard Worker method for 5400*b6fb3261SAndroid Build Coastguard Worker [`tf.distribute.DistributedIterator`](https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/distribute/DistributedIterator?hl=en) 5401*b6fb3261SAndroid Build Coastguard Worker class to return a `tf.experimental.Optional` instance that contains the 5402*b6fb3261SAndroid Build Coastguard Worker next value for all replicas or none instead of raising an out of range 5403*b6fb3261SAndroid Build Coastguard Worker error. Also see *new* 5404*b6fb3261SAndroid Build Coastguard Worker [guide on input distribution](https://www.tensorflow.org/tutorials/distribute/input). 5405*b6fb3261SAndroid Build Coastguard Worker* Allow var.assign on MirroredVariables with aggregation=NONE in replica 5406*b6fb3261SAndroid Build Coastguard Worker context. Previously this would raise an error. We now allow this because 5407*b6fb3261SAndroid Build Coastguard Worker many users and library writers find using `.assign` in replica context to be 5408*b6fb3261SAndroid Build Coastguard Worker more convenient, instead of having to use `Strategy.extended.update` which 5409*b6fb3261SAndroid Build Coastguard Worker was the previous way of updating variables in this situation. 5410*b6fb3261SAndroid Build Coastguard Worker* `tf.distribute.experimental.MultiWorkerMirroredStrategy` adds support for 5411*b6fb3261SAndroid Build Coastguard Worker partial batches. Workers running out of data now continue to participate in 5412*b6fb3261SAndroid Build Coastguard Worker the training with empty inputs, instead of raising an error. Learn more 5413*b6fb3261SAndroid Build Coastguard Worker about 5414*b6fb3261SAndroid Build Coastguard Worker [partial batches here](https://www.tensorflow.org/tutorials/distribute/input#partial_batches). 5415*b6fb3261SAndroid Build Coastguard Worker* Improve the performance of reading metrics eagerly under 5416*b6fb3261SAndroid Build Coastguard Worker `tf.distribute.experimental.MultiWorkerMirroredStrategy`. 5417*b6fb3261SAndroid Build Coastguard Worker* Fix the issue that `strategy.reduce()` inside `tf.function` may raise 5418*b6fb3261SAndroid Build Coastguard Worker exceptions when the values to reduce are from loops or if-clauses. 5419*b6fb3261SAndroid Build Coastguard Worker* Fix the issue that `tf.distribute.MirroredStrategy` cannot be used together 5420*b6fb3261SAndroid Build Coastguard Worker with `tf.distribute.experimental.MultiWorkerMirroredStrategy`. 5421*b6fb3261SAndroid Build Coastguard Worker* Add a `tf.distribute.cluster_resolver.TPUClusterResolver.connect` API to 5422*b6fb3261SAndroid Build Coastguard Worker simplify TPU initialization. 5423*b6fb3261SAndroid Build Coastguard Worker* Add `tf.distribute.Strategy.gather` and 5424*b6fb3261SAndroid Build Coastguard Worker `tf.distribute.ReplicaContext.all_gather` methods to gather and concatenate 5425*b6fb3261SAndroid Build Coastguard Worker `tf.distribute.DistributedValues` across workers and devices. 5426*b6fb3261SAndroid Build Coastguard Worker 5427*b6fb3261SAndroid Build Coastguard Worker### `tf.keras`: 5428*b6fb3261SAndroid Build Coastguard Worker 5429*b6fb3261SAndroid Build Coastguard Worker* Introduces experimental preprocessing layers API 5430*b6fb3261SAndroid Build Coastguard Worker (`tf.keras.layers.experimental.preprocessing`) to handle data preprocessing 5431*b6fb3261SAndroid Build Coastguard Worker operations such as categorical feature encoding, text vectorization, data 5432*b6fb3261SAndroid Build Coastguard Worker normalization, and data discretization (binning). The newly added layers 5433*b6fb3261SAndroid Build Coastguard Worker provide a replacement for the legacy feature column API, and support 5434*b6fb3261SAndroid Build Coastguard Worker composite tensor inputs. 5435*b6fb3261SAndroid Build Coastguard Worker* Added **categorical data** processing layers: 5436*b6fb3261SAndroid Build Coastguard Worker * `IntegerLookup` & `StringLookup`: build an index of categorical feature 5437*b6fb3261SAndroid Build Coastguard Worker values 5438*b6fb3261SAndroid Build Coastguard Worker * `CategoryEncoding`: turn integer-encoded categories into one-hot, 5439*b6fb3261SAndroid Build Coastguard Worker multi-hot, or tf-idf encoded representations 5440*b6fb3261SAndroid Build Coastguard Worker * `CategoryCrossing`: create new categorical features representing 5441*b6fb3261SAndroid Build Coastguard Worker co-occurrences of previous categorical feature values 5442*b6fb3261SAndroid Build Coastguard Worker * `Hashing`: the hashing trick, for large-vocabulary categorical features 5443*b6fb3261SAndroid Build Coastguard Worker * `Discretization`: turn continuous numerical features into categorical 5444*b6fb3261SAndroid Build Coastguard Worker features by binning their values 5445*b6fb3261SAndroid Build Coastguard Worker* Improved **image preprocessing** layers: `CenterCrop`, `Rescaling` 5446*b6fb3261SAndroid Build Coastguard Worker* Improved **image augmentation** layers: `RandomCrop`, `RandomFlip`, 5447*b6fb3261SAndroid Build Coastguard Worker `RandomTranslation`, `RandomRotation`, `RandomHeight`, `RandomWidth`, 5448*b6fb3261SAndroid Build Coastguard Worker `RandomZoom`, `RandomContrast` 5449*b6fb3261SAndroid Build Coastguard Worker* Improved **`TextVectorization`** layer, which handles string tokenization, 5450*b6fb3261SAndroid Build Coastguard Worker n-gram generation, and token encoding 5451*b6fb3261SAndroid Build Coastguard Worker * The `TextVectorization` layer now accounts for the mask_token as part of 5452*b6fb3261SAndroid Build Coastguard Worker the vocabulary size when output_mode='int'. This means that, if you have 5453*b6fb3261SAndroid Build Coastguard Worker a max_tokens value of 5000, your output will have 5000 unique values 5454*b6fb3261SAndroid Build Coastguard Worker (not 5001 as before). 5455*b6fb3261SAndroid Build Coastguard Worker * Change the return value of `TextVectorization.get_vocabulary()` from 5456*b6fb3261SAndroid Build Coastguard Worker `byte` to `string`. Users who previously were calling 'decode' on the 5457*b6fb3261SAndroid Build Coastguard Worker output of this method should no longer need to do so. 5458*b6fb3261SAndroid Build Coastguard Worker* Introduce new Keras dataset generation utilities : 5459*b6fb3261SAndroid Build Coastguard Worker * **[`image_dataset_from_directory`](https://www.tensorflow.org/api_docs/python/tf/keras/preprocessing/image_dataset_from_directory)** 5460*b6fb3261SAndroid Build Coastguard Worker is a utility based on `tf.data.Dataset`, meant to replace the legacy 5461*b6fb3261SAndroid Build Coastguard Worker `ImageDataGenerator`. It takes you from a structured directory of images 5462*b6fb3261SAndroid Build Coastguard Worker to a labeled dataset, in one function call. Note that it doesn't perform 5463*b6fb3261SAndroid Build Coastguard Worker image data augmentation (which is meant to be done using preprocessing 5464*b6fb3261SAndroid Build Coastguard Worker layers). 5465*b6fb3261SAndroid Build Coastguard Worker * **[`text_dataset_from_directory`](https://www.tensorflow.org/api_docs/python/tf/keras/preprocessing/text_dataset_from_directory)** 5466*b6fb3261SAndroid Build Coastguard Worker takes you from a structured directory of text files to a labeled 5467*b6fb3261SAndroid Build Coastguard Worker dataset, in one function call. 5468*b6fb3261SAndroid Build Coastguard Worker * **[`timeseries_dataset_from_array`](https://www.tensorflow.org/api_docs/python/tf/keras/preprocessing/timeseries_dataset_from_array)** 5469*b6fb3261SAndroid Build Coastguard Worker is a `tf.data.Dataset`-based replacement of the legacy 5470*b6fb3261SAndroid Build Coastguard Worker `TimeseriesGenerator`. It takes you from an array of timeseries data to 5471*b6fb3261SAndroid Build Coastguard Worker a dataset of shifting windows with their targets. 5472*b6fb3261SAndroid Build Coastguard Worker* Added 5473*b6fb3261SAndroid Build Coastguard Worker [`experimental_steps_per_execution`](https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/keras/Model?hl=en#compile) 5474*b6fb3261SAndroid Build Coastguard Worker arg to `model.compile` to indicate the number of batches to run per 5475*b6fb3261SAndroid Build Coastguard Worker `tf.function` call. This can speed up Keras Models on TPUs up to 3x. 5476*b6fb3261SAndroid Build Coastguard Worker* Extends `tf.keras.layers.Lambda` layers to support multi-argument lambdas, 5477*b6fb3261SAndroid Build Coastguard Worker and keyword arguments when calling the layer. 5478*b6fb3261SAndroid Build Coastguard Worker* Functional models now get constructed if *any* tensor in a layer call's 5479*b6fb3261SAndroid Build Coastguard Worker arguments/keyword arguments comes from a keras input. Previously the 5480*b6fb3261SAndroid Build Coastguard Worker functional api would only work if all of the elements in the first argument 5481*b6fb3261SAndroid Build Coastguard Worker to the layer came from a keras input. 5482*b6fb3261SAndroid Build Coastguard Worker* Clean up `BatchNormalization` layer's `trainable` property to act like 5483*b6fb3261SAndroid Build Coastguard Worker standard python state when it's used inside `tf.functions` (frozen at 5484*b6fb3261SAndroid Build Coastguard Worker tracing time), instead of acting like a pseudo-variable whose updates *kind 5485*b6fb3261SAndroid Build Coastguard Worker of sometimes* get reflected in already-traced `tf.function` traces. 5486*b6fb3261SAndroid Build Coastguard Worker* Add the `Conv1DTranspose` layer. 5487*b6fb3261SAndroid Build Coastguard Worker* Refine the semantics of `SensitivitySpecificityBase` derived metrics. See 5488*b6fb3261SAndroid Build Coastguard Worker the updated API docstrings for 5489*b6fb3261SAndroid Build Coastguard Worker [`tf.keras.metrics.SensitivityAtSpecificity`](https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/keras/metrics/SensitivityAtSpecificity) 5490*b6fb3261SAndroid Build Coastguard Worker and 5491*b6fb3261SAndroid Build Coastguard Worker [`tf.keras.metrics.SpecificityAtSensitivty`](https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/keras/metrics/SpecificityAtSensitivity). 5492*b6fb3261SAndroid Build Coastguard Worker 5493*b6fb3261SAndroid Build Coastguard Worker### `tf.lite`: 5494*b6fb3261SAndroid Build Coastguard Worker 5495*b6fb3261SAndroid Build Coastguard Worker* Converter 5496*b6fb3261SAndroid Build Coastguard Worker * Restored `inference_input_type` and `inference_output_type` flags in TF 5497*b6fb3261SAndroid Build Coastguard Worker 2.x TFLiteConverter (backward compatible with TF 1.x) to support integer 5498*b6fb3261SAndroid Build Coastguard Worker (tf.int8, tf.uint8) input and output types in post training full integer 5499*b6fb3261SAndroid Build Coastguard Worker quantized models. 5500*b6fb3261SAndroid Build Coastguard Worker * Added support for converting and resizing models with dynamic 5501*b6fb3261SAndroid Build Coastguard Worker (placeholder) dimensions. Previously, there was only limited support for 5502*b6fb3261SAndroid Build Coastguard Worker dynamic batch size, and even that did not guarantee that the model could 5503*b6fb3261SAndroid Build Coastguard Worker be properly resized at runtime. 5504*b6fb3261SAndroid Build Coastguard Worker * Enabled experimental support for a new quantization mode with 16-bit 5505*b6fb3261SAndroid Build Coastguard Worker activations and 8-bit weights. See 5506*b6fb3261SAndroid Build Coastguard Worker `lite.OpsSet.EXPERIMENTAL_TFLITE_BUILTINS_ACTIVATIONS_INT16_WEIGHTS_INT8`. 5507*b6fb3261SAndroid Build Coastguard Worker* CPU 5508*b6fb3261SAndroid Build Coastguard Worker * Fix an issue w/ dynamic weights and `Conv2D` on x86. 5509*b6fb3261SAndroid Build Coastguard Worker * Add a runtime Android flag for enabling `XNNPACK` for optimized CPU 5510*b6fb3261SAndroid Build Coastguard Worker performance. 5511*b6fb3261SAndroid Build Coastguard Worker * Add a runtime iOS flag for enabling `XNNPACK` for optimized CPU 5512*b6fb3261SAndroid Build Coastguard Worker performance. 5513*b6fb3261SAndroid Build Coastguard Worker * Add a compiler flag to enable building a TFLite library that applies 5514*b6fb3261SAndroid Build Coastguard Worker `XNNPACK` delegate automatically when the model has a `fp32` operation. 5515*b6fb3261SAndroid Build Coastguard Worker* GPU 5516*b6fb3261SAndroid Build Coastguard Worker * Allow GPU acceleration starting with internal graph nodes 5517*b6fb3261SAndroid Build Coastguard Worker * Experimental support for quantized models with the Android GPU delegate 5518*b6fb3261SAndroid Build Coastguard Worker * Add GPU delegate whitelist. 5519*b6fb3261SAndroid Build Coastguard Worker * Rename GPU whitelist -> compatibility (list). 5520*b6fb3261SAndroid Build Coastguard Worker * Improve GPU compatibility list entries from crash reports. 5521*b6fb3261SAndroid Build Coastguard Worker* NNAPI 5522*b6fb3261SAndroid Build Coastguard Worker * Set default value for 5523*b6fb3261SAndroid Build Coastguard Worker `StatefulNnApiDelegate::Options::max_number_delegated_partitions` to 3. 5524*b6fb3261SAndroid Build Coastguard Worker * Add capability to disable `NNAPI` CPU and check `NNAPI` Errno. 5525*b6fb3261SAndroid Build Coastguard Worker * Fix crashes when using `NNAPI` with target accelerator specified with 5526*b6fb3261SAndroid Build Coastguard Worker model containing Conv2d or FullyConnected or LSTM nodes with quantized 5527*b6fb3261SAndroid Build Coastguard Worker weights. 5528*b6fb3261SAndroid Build Coastguard Worker * Fix `ANEURALNETWORKS_BAD_DATA` execution failures with 5529*b6fb3261SAndroid Build Coastguard Worker `sum`/`max`/`min`/`reduce` operations with `scalar` inputs. 5530*b6fb3261SAndroid Build Coastguard Worker* Hexagon 5531*b6fb3261SAndroid Build Coastguard Worker * TFLite Hexagon Delegate out of experimental. 5532*b6fb3261SAndroid Build Coastguard Worker * Experimental `int8` support for most hexagon ops. 5533*b6fb3261SAndroid Build Coastguard Worker * Experimental per-channel quant support for `conv` in Hexagon delegate. 5534*b6fb3261SAndroid Build Coastguard Worker * Support dynamic batch size in C++ API. 5535*b6fb3261SAndroid Build Coastguard Worker* CoreML 5536*b6fb3261SAndroid Build Coastguard Worker * Opensource CoreML delegate 5537*b6fb3261SAndroid Build Coastguard Worker* Misc 5538*b6fb3261SAndroid Build Coastguard Worker * Enable building Android TFLite targets on Windows 5539*b6fb3261SAndroid Build Coastguard Worker * Add support for `BatchMatMul`. 5540*b6fb3261SAndroid Build Coastguard Worker * Add support for `half_pixel_centers` with `ResizeNearestNeighbor`. 5541*b6fb3261SAndroid Build Coastguard Worker * Add 3D support for `BatchToSpaceND`. 5542*b6fb3261SAndroid Build Coastguard Worker * Add 5D support for `BroadcastSub`, `Maximum`, `Minimum`, `Transpose` and 5543*b6fb3261SAndroid Build Coastguard Worker `BroadcastDiv`. 5544*b6fb3261SAndroid Build Coastguard Worker * Rename `kTfLiteActRelu1` to `kTfLiteActReluN1To1`. 5545*b6fb3261SAndroid Build Coastguard Worker * Enable flex delegate on tensorflow.lite.Interpreter Python package. 5546*b6fb3261SAndroid Build Coastguard Worker * Add `Buckettize`, `SparseCross` and `BoostedTreesBucketize` to the flex 5547*b6fb3261SAndroid Build Coastguard Worker whitelist. 5548*b6fb3261SAndroid Build Coastguard Worker * Add support for selective registration of flex ops. 5549*b6fb3261SAndroid Build Coastguard Worker * Add missing kernels for flex delegate whitelisted ops. 5550*b6fb3261SAndroid Build Coastguard Worker * Fix issue when using direct `ByteBuffer` inputs with graphs that have 5551*b6fb3261SAndroid Build Coastguard Worker dynamic shapes. 5552*b6fb3261SAndroid Build Coastguard Worker * Fix error checking supported operations in a model containing 5553*b6fb3261SAndroid Build Coastguard Worker `HardSwish`. 5554*b6fb3261SAndroid Build Coastguard Worker 5555*b6fb3261SAndroid Build Coastguard Worker### Packaging Support 5556*b6fb3261SAndroid Build Coastguard Worker 5557*b6fb3261SAndroid Build Coastguard Worker* Added `tf.sysconfig.get_build_info()`. Returns a dict that describes the 5558*b6fb3261SAndroid Build Coastguard Worker build environment of the currently installed TensorFlow package, e.g. the 5559*b6fb3261SAndroid Build Coastguard Worker NVIDIA CUDA and NVIDIA CuDNN versions used when TensorFlow was built. 5560*b6fb3261SAndroid Build Coastguard Worker 5561*b6fb3261SAndroid Build Coastguard Worker### Profiler 5562*b6fb3261SAndroid Build Coastguard Worker 5563*b6fb3261SAndroid Build Coastguard Worker* Fix a subtle use-after-free issue in `XStatVisitor::RefValue()`. 5564*b6fb3261SAndroid Build Coastguard Worker 5565*b6fb3261SAndroid Build Coastguard Worker### TPU Enhancements 5566*b6fb3261SAndroid Build Coastguard Worker 5567*b6fb3261SAndroid Build Coastguard Worker* Adds 3D mesh support in TPU configurations ops. 5568*b6fb3261SAndroid Build Coastguard Worker* Added TPU code for `FTRL` with `multiply_linear_by_lr`. 5569*b6fb3261SAndroid Build Coastguard Worker* Silently adds a new file system registry at `gstpu`. 5570*b6fb3261SAndroid Build Coastguard Worker* Support `restartType` in cloud tpu client. 5571*b6fb3261SAndroid Build Coastguard Worker* Depend on a specific version of google-api-python-client. 5572*b6fb3261SAndroid Build Coastguard Worker* Fixes apiclient import. 5573*b6fb3261SAndroid Build Coastguard Worker 5574*b6fb3261SAndroid Build Coastguard Worker### Tracing and Debugging 5575*b6fb3261SAndroid Build Coastguard Worker 5576*b6fb3261SAndroid Build Coastguard Worker* Add a `TFE_Py_Execute` traceme. 5577*b6fb3261SAndroid Build Coastguard Worker 5578*b6fb3261SAndroid Build Coastguard Worker### XLA Support 5579*b6fb3261SAndroid Build Coastguard Worker 5580*b6fb3261SAndroid Build Coastguard Worker* Implement stable `argmin` and `argmax` 5581*b6fb3261SAndroid Build Coastguard Worker 5582*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors 5583*b6fb3261SAndroid Build Coastguard Worker 5584*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as: 5585*b6fb3261SAndroid Build Coastguard Worker 5586*b6fb3261SAndroid Build Coastguard Worker902449@58880@bigcat_chen@ASIC, Abdul Baseer Khan, Abhineet Choudhary, Abolfazl 5587*b6fb3261SAndroid Build Coastguard WorkerShahbazi, Adam Hillier, ag.ramesh, Agoniii, Ajay P, Alex Hoffman, Alexander 5588*b6fb3261SAndroid Build Coastguard WorkerBayandin, Alexander Grund, Alexandre Abadie, Alexey Rogachevskiy, amoitra, 5589*b6fb3261SAndroid Build Coastguard WorkerAndrew Stevens, Angus-Luo, Anshuman Tripathy, Anush Elangovan, Artem Mavrin, 5590*b6fb3261SAndroid Build Coastguard WorkerAshutosh Hathidara, autoih, Ayushman Kumar, ayushmankumar7, Bairen Yi, Bas 5591*b6fb3261SAndroid Build Coastguard WorkerAarts, Bastian Eichenberger, Ben Barsdell, bhack, Bharat Raghunathan, Biagio 5592*b6fb3261SAndroid Build Coastguard WorkerMontaruli, Bigcat-Himax, blueyi, Bryan Cutler, Byambaa, Carlos 5593*b6fb3261SAndroid Build Coastguard WorkerHernandez-Vaquero, Chen Lei, Chris Knorowski, Christian Clauss, chuanqiw, 5594*b6fb3261SAndroid Build Coastguard WorkerCuiYifeng, Daniel Situnayake, Daria Zhuravleva, Dayananda-V, Deven Desai, Devi 5595*b6fb3261SAndroid Build Coastguard WorkerSandeep Endluri, Dmitry Zakharov, Dominic Jack, Duncan Riach, Edgar Liberis, 5596*b6fb3261SAndroid Build Coastguard WorkerEhsan Toosi, ekuznetsov139, Elena Zhelezina, Eugene Kuznetsov, Eugene 5597*b6fb3261SAndroid Build Coastguard WorkerMikhantiev, Evgenii Zheltonozhskii, Fabio Di Domenico, Fausto Morales, Fei Sun, 5598*b6fb3261SAndroid Build Coastguard Workerfeihugis, Felix E. Klee, flyingcat, Frederic Bastien, Fredrik Knutsson, frreiss, 5599*b6fb3261SAndroid Build Coastguard Workerfsx950223, ganler, Gaurav Singh, Georgios Pinitas, Gian Marco Iodice, Giorgio 5600*b6fb3261SAndroid Build Coastguard WorkerArena, Giuseppe Rossini, Gregory Keith, Guozhong Zhuang, gurushantj, Hahn 5601*b6fb3261SAndroid Build Coastguard WorkerAnselm, Harald Husum, Harjyot Bagga, Hristo Vrigazov, Ilya Persky, Ir1d, Itamar 5602*b6fb3261SAndroid Build Coastguard WorkerTurner-Trauring, jacco, Jake Tae, Janosh Riebesell, Jason Zaman, jayanth, Jeff 5603*b6fb3261SAndroid Build Coastguard WorkerDaily, Jens Elofsson, Jinzhe Zeng, JLZ, Jonas Skog, Jonathan Dekhtiar, Josh 5604*b6fb3261SAndroid Build Coastguard WorkerMeyer, Joshua Chia, Judd, justkw, Kaixi Hou, Kam D Kasravi, Kamil Rakoczy, Karol 5605*b6fb3261SAndroid Build Coastguard WorkerGugala, Kayou, Kazuaki Ishizaki, Keith Smiley, Khaled Besrour, Kilaru Yasaswi 5606*b6fb3261SAndroid Build Coastguard WorkerSri Chandra Gandhi, Kim, Young Soo, Kristian Hartikainen, Kwabena W. Agyeman, 5607*b6fb3261SAndroid Build Coastguard WorkerLeslie-Fang, Leslie-Fang-Intel, Li, Guizi, Lukas Geiger, Lutz Roeder, M\U00E5Ns 5608*b6fb3261SAndroid Build Coastguard WorkerNilsson, Mahmoud Abuzaina, Manish, Marcel Koester, Marcin Sielski, marload, 5609*b6fb3261SAndroid Build Coastguard WorkerMartin Jul, Matt Conley, mdfaijul, Meng, Peng, Meteorix, Michael Käufl, 5610*b6fb3261SAndroid Build Coastguard WorkerMichael137, Milan Straka, Mitchell Vitez, Ml-0, Mokke Meguru, Mshr-H, nammbash, 5611*b6fb3261SAndroid Build Coastguard WorkerNathan Luehr, naumkin, Neeraj Bhadani, ngc92, Nick Morgan, nihui, Niranjan 5612*b6fb3261SAndroid Build Coastguard WorkerHasabnis, Niranjan Yadla, Nishidha Panpaliya, Oceania2018, oclyke, Ouyang Jin, 5613*b6fb3261SAndroid Build Coastguard WorkerOverLordGoldDragon, Owen Lyke, Patrick Hemmer, Paul Andrey, Peng Sun, 5614*b6fb3261SAndroid Build Coastguard Workerperiannath, Phil Pearl, Prashant Dandriyal, Prashant Kumar, Rahul Huilgol, Rajan 5615*b6fb3261SAndroid Build Coastguard WorkerSingh, Rajeshwar Reddy T, rangjiaheng, Rishit Dagli, Rohan Reddy, rpalakkal, 5616*b6fb3261SAndroid Build Coastguard Workerrposts, Ruan Kunliang, Rushabh Vasani, Ryohei Ikegami, Semun Lee, Seo-Inyoung, 5617*b6fb3261SAndroid Build Coastguard WorkerSergey Mironov, Sharada Shiddibhavi, ShengYang1, Shraiysh Vaishay, Shunya Ueta, 5618*b6fb3261SAndroid Build Coastguard Workershwetaoj, Siyavash Najafzade, Srinivasan Narayanamoorthy, Stephan Uphoff, 5619*b6fb3261SAndroid Build Coastguard Workerstorypku, sunchenggen, sunway513, Sven-Hendrik Haase, Swapnil Parekh, Tamas Bela 5620*b6fb3261SAndroid Build Coastguard WorkerFeher, Teng Lu, tigertang, tomas, Tomohiro Ubukata, tongxuan.ltx, Tony Tonev, 5621*b6fb3261SAndroid Build Coastguard WorkerTzu-Wei Huang, Téo Bouvard, Uday Bondhugula, Vaibhav Jade, Vijay Tadikamalla, 5622*b6fb3261SAndroid Build Coastguard WorkerVikram Dattu, Vincent Abriou, Vishnuvardhan Janapati, Vo Van Nghia, VoVAllen, 5623*b6fb3261SAndroid Build Coastguard WorkerWill Battel, William D. Irons, wyzhao, Xiaoming (Jason) Cui, Xiaoquan Kong, 5624*b6fb3261SAndroid Build Coastguard WorkerXinan Jiang, xutianming, Yair Ehrenwald, Yasir Modak, Yasuhiro Matsumoto, Yixing 5625*b6fb3261SAndroid Build Coastguard WorkerFu, Yong Tang, Yuan Tang, zhaozheng09, Zilin Zhu, zilinzhu, 张志豪 5626*b6fb3261SAndroid Build Coastguard Worker 5627*b6fb3261SAndroid Build Coastguard Worker# Release 2.1.1 5628*b6fb3261SAndroid Build Coastguard Worker 5629*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 5630*b6fb3261SAndroid Build Coastguard Worker 5631*b6fb3261SAndroid Build Coastguard Worker* Updates `sqlite3` to `3.31.01` to handle 5632*b6fb3261SAndroid Build Coastguard Worker [CVE-2019-19880](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-19880), 5633*b6fb3261SAndroid Build Coastguard Worker [CVE-2019-19244](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-19244) 5634*b6fb3261SAndroid Build Coastguard Worker and 5635*b6fb3261SAndroid Build Coastguard Worker [CVE-2019-19645](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-19645) 5636*b6fb3261SAndroid Build Coastguard Worker* Updates `curl` to `7.69.1` to handle 5637*b6fb3261SAndroid Build Coastguard Worker [CVE-2019-15601](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-15601) 5638*b6fb3261SAndroid Build Coastguard Worker* Updates `libjpeg-turbo` to `2.0.4` to handle 5639*b6fb3261SAndroid Build Coastguard Worker [CVE-2018-19664](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-19664), 5640*b6fb3261SAndroid Build Coastguard Worker [CVE-2018-20330](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-20330) 5641*b6fb3261SAndroid Build Coastguard Worker and 5642*b6fb3261SAndroid Build Coastguard Worker [CVE-2019-13960](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-13960) 5643*b6fb3261SAndroid Build Coastguard Worker* Updates Apache Spark to `2.4.5` to handle 5644*b6fb3261SAndroid Build Coastguard Worker [CVE-2019-10099](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-10099), 5645*b6fb3261SAndroid Build Coastguard Worker [CVE-2018-17190](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-17190) 5646*b6fb3261SAndroid Build Coastguard Worker and 5647*b6fb3261SAndroid Build Coastguard Worker [CVE-2018-11770](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-11770) 5648*b6fb3261SAndroid Build Coastguard Worker* Fixes a versioning bug which causes Keras layers from TF 1.x to be used 5649*b6fb3261SAndroid Build Coastguard Worker instead of those from TF 2.x 5650*b6fb3261SAndroid Build Coastguard Worker 5651*b6fb3261SAndroid Build Coastguard Worker# Release 2.0.2 5652*b6fb3261SAndroid Build Coastguard Worker 5653*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 5654*b6fb3261SAndroid Build Coastguard Worker 5655*b6fb3261SAndroid Build Coastguard Worker* Updates `sqlite3` to `3.31.01` to handle 5656*b6fb3261SAndroid Build Coastguard Worker [CVE-2019-19880](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-19880), 5657*b6fb3261SAndroid Build Coastguard Worker [CVE-2019-19244](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-19244) 5658*b6fb3261SAndroid Build Coastguard Worker and 5659*b6fb3261SAndroid Build Coastguard Worker [CVE-2019-19645](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-19645) 5660*b6fb3261SAndroid Build Coastguard Worker* Updates `curl` to `7.69.1` to handle 5661*b6fb3261SAndroid Build Coastguard Worker [CVE-2019-15601](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-15601) 5662*b6fb3261SAndroid Build Coastguard Worker* Updates `libjpeg-turbo` to `2.0.4` to handle 5663*b6fb3261SAndroid Build Coastguard Worker [CVE-2018-19664](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-19664), 5664*b6fb3261SAndroid Build Coastguard Worker [CVE-2018-20330](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-20330) 5665*b6fb3261SAndroid Build Coastguard Worker and 5666*b6fb3261SAndroid Build Coastguard Worker [CVE-2019-13960](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-13960) 5667*b6fb3261SAndroid Build Coastguard Worker* Updates Apache Spark to `2.4.5` to handle 5668*b6fb3261SAndroid Build Coastguard Worker [CVE-2019-10099](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-10099), 5669*b6fb3261SAndroid Build Coastguard Worker [CVE-2018-17190](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-17190) 5670*b6fb3261SAndroid Build Coastguard Worker and 5671*b6fb3261SAndroid Build Coastguard Worker [CVE-2018-11770](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-11770) 5672*b6fb3261SAndroid Build Coastguard Worker 5673*b6fb3261SAndroid Build Coastguard Worker# Release 1.15.3 5674*b6fb3261SAndroid Build Coastguard Worker 5675*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 5676*b6fb3261SAndroid Build Coastguard Worker 5677*b6fb3261SAndroid Build Coastguard Worker* Updates `sqlite3` to `3.31.01` to handle 5678*b6fb3261SAndroid Build Coastguard Worker [CVE-2019-19880](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-19880), 5679*b6fb3261SAndroid Build Coastguard Worker [CVE-2019-19244](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-19244) 5680*b6fb3261SAndroid Build Coastguard Worker and 5681*b6fb3261SAndroid Build Coastguard Worker [CVE-2019-19645](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-19645) 5682*b6fb3261SAndroid Build Coastguard Worker* Updates `curl` to `7.69.1` to handle 5683*b6fb3261SAndroid Build Coastguard Worker [CVE-2019-15601](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-15601) 5684*b6fb3261SAndroid Build Coastguard Worker* Updates `libjpeg-turbo` to `2.0.4` to handle 5685*b6fb3261SAndroid Build Coastguard Worker [CVE-2018-19664](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-19664), 5686*b6fb3261SAndroid Build Coastguard Worker [CVE-2018-20330](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-20330) 5687*b6fb3261SAndroid Build Coastguard Worker and 5688*b6fb3261SAndroid Build Coastguard Worker [CVE-2019-13960](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-13960) 5689*b6fb3261SAndroid Build Coastguard Worker* Updates Apache Spark to `2.4.5` to handle 5690*b6fb3261SAndroid Build Coastguard Worker [CVE-2019-10099](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-10099), 5691*b6fb3261SAndroid Build Coastguard Worker [CVE-2018-17190](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-17190) 5692*b6fb3261SAndroid Build Coastguard Worker and 5693*b6fb3261SAndroid Build Coastguard Worker [CVE-2018-11770](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-11770) 5694*b6fb3261SAndroid Build Coastguard Worker 5695*b6fb3261SAndroid Build Coastguard Worker# Release 2.2.0 5696*b6fb3261SAndroid Build Coastguard Worker 5697*b6fb3261SAndroid Build Coastguard WorkerTensorFlow 2.2 discontinues support for Python 2, 5698*b6fb3261SAndroid Build Coastguard Worker[previously announced](https://groups.google.com/a/tensorflow.org/d/msg/announce/gVwS5RC8mds/dCt1ka2XAAAJ) 5699*b6fb3261SAndroid Build Coastguard Workeras following 5700*b6fb3261SAndroid Build Coastguard Worker[Python 2's EOL on January 1, 2020](https://www.python.org/dev/peps/pep-0373/#update). 5701*b6fb3261SAndroid Build Coastguard Worker 5702*b6fb3261SAndroid Build Coastguard WorkerCoinciding with this change, new releases of 5703*b6fb3261SAndroid Build Coastguard Worker[TensorFlow's Docker images](https://hub.docker.com/r/tensorflow/tensorflow/) 5704*b6fb3261SAndroid Build Coastguard Workerprovide Python 3 exclusively. Because all images now use Python 3, Docker tags 5705*b6fb3261SAndroid Build Coastguard Workercontaining `-py3` will no longer be provided and existing `-py3` tags like 5706*b6fb3261SAndroid Build Coastguard Worker`latest-py3` will not be updated. 5707*b6fb3261SAndroid Build Coastguard Worker 5708*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements 5709*b6fb3261SAndroid Build Coastguard Worker 5710*b6fb3261SAndroid Build Coastguard Worker* Replaced the scalar type for string tensors from `std::string` to 5711*b6fb3261SAndroid Build Coastguard Worker `tensorflow::tstring` which is now ABI stable. 5712*b6fb3261SAndroid Build Coastguard Worker* A new Profiler for TF 2 for CPU/GPU/TPU. It offers both device and host 5713*b6fb3261SAndroid Build Coastguard Worker performance analysis, including input pipeline and TF Ops. Optimization 5714*b6fb3261SAndroid Build Coastguard Worker advisory is provided whenever possible. Please see 5715*b6fb3261SAndroid Build Coastguard Worker [this tutorial](https://www.tensorflow.org/tensorboard/tensorboard_profiling_keras) 5716*b6fb3261SAndroid Build Coastguard Worker and [guide](https://www.tensorflow.org/guide/profiler) for usage guidelines. 5717*b6fb3261SAndroid Build Coastguard Worker* Export C++ functions to Python using `pybind11` as opposed to `SWIG` as a 5718*b6fb3261SAndroid Build Coastguard Worker part of our 5719*b6fb3261SAndroid Build Coastguard Worker [deprecation of swig efforts](https://github.com/tensorflow/community/blob/master/rfcs/20190208-pybind11.md). 5720*b6fb3261SAndroid Build Coastguard Worker* `tf.distribute`: 5721*b6fb3261SAndroid Build Coastguard Worker * Support added for global sync `BatchNormalization` by using the newly 5722*b6fb3261SAndroid Build Coastguard Worker added `tf.keras.layers.experimental.SyncBatchNormalization` layer. This 5723*b6fb3261SAndroid Build Coastguard Worker layer will sync `BatchNormalization` statistics every step across all 5724*b6fb3261SAndroid Build Coastguard Worker replicas taking part in sync training. 5725*b6fb3261SAndroid Build Coastguard Worker * Performance improvements for GPU multi-worker distributed training using 5726*b6fb3261SAndroid Build Coastguard Worker `tf.distribute.experimental.MultiWorkerMirroredStrategy` 5727*b6fb3261SAndroid Build Coastguard Worker * Update NVIDIA `NCCL` to `2.5.7-1` for better performance and performance 5728*b6fb3261SAndroid Build Coastguard Worker tuning. Please see 5729*b6fb3261SAndroid Build Coastguard Worker [nccl developer guide](https://docs.nvidia.com/deeplearning/sdk/nccl-developer-guide/docs/env.html) 5730*b6fb3261SAndroid Build Coastguard Worker for more information on this. 5731*b6fb3261SAndroid Build Coastguard Worker * Support gradient `allreduce` in `float16`. See this 5732*b6fb3261SAndroid Build Coastguard Worker [example](https://github.com/tensorflow/models/blob/master/official/modeling/grad_utils.py) 5733*b6fb3261SAndroid Build Coastguard Worker usage. 5734*b6fb3261SAndroid Build Coastguard Worker * Experimental support of 5735*b6fb3261SAndroid Build Coastguard Worker [all reduce gradient packing](https://www.tensorflow.org/api_docs/python/tf/distribute/experimental/CollectiveHints) 5736*b6fb3261SAndroid Build Coastguard Worker to allow overlapping gradient aggregation with backward path 5737*b6fb3261SAndroid Build Coastguard Worker computation. 5738*b6fb3261SAndroid Build Coastguard Worker * Deprecated `experimental_run_v2` method for distribution strategies and 5739*b6fb3261SAndroid Build Coastguard Worker renamed the method `run` as it is no longer experimental. 5740*b6fb3261SAndroid Build Coastguard Worker * Add CompositeTensor support for DistributedIterators. This should help 5741*b6fb3261SAndroid Build Coastguard Worker prevent unnecessary function retracing and memory leaks. 5742*b6fb3261SAndroid Build Coastguard Worker* `tf.keras`: 5743*b6fb3261SAndroid Build Coastguard Worker 5744*b6fb3261SAndroid Build Coastguard Worker * `Model.fit` major improvements: 5745*b6fb3261SAndroid Build Coastguard Worker * You can now use custom training logic with `Model.fit` by overriding 5746*b6fb3261SAndroid Build Coastguard Worker `Model.train_step`. 5747*b6fb3261SAndroid Build Coastguard Worker * Easily write state-of-the-art training loops without worrying about 5748*b6fb3261SAndroid Build Coastguard Worker all of the features `Model.fit` handles for you (distribution 5749*b6fb3261SAndroid Build Coastguard Worker strategies, callbacks, data formats, looping logic, etc) 5750*b6fb3261SAndroid Build Coastguard Worker * See the default 5751*b6fb3261SAndroid Build Coastguard Worker [`Model.train_step`](https://github.com/tensorflow/tensorflow/blob/1381fc8e15e22402417b98e3881dfd409998daea/tensorflow/python/keras/engine/training.py#L540) 5752*b6fb3261SAndroid Build Coastguard Worker for an example of what this function should look like. Same applies 5753*b6fb3261SAndroid Build Coastguard Worker for validation and inference via `Model.test_step` and 5754*b6fb3261SAndroid Build Coastguard Worker `Model.predict_step`. 5755*b6fb3261SAndroid Build Coastguard Worker * SavedModel uses its own `Model._saved_model_inputs_spec` attr now 5756*b6fb3261SAndroid Build Coastguard Worker instead of relying on `Model.inputs` and `Model.input_names`, which 5757*b6fb3261SAndroid Build Coastguard Worker are no longer set for subclass Models. This attr is set in eager, 5758*b6fb3261SAndroid Build Coastguard Worker `tf.function`, and graph modes. This gets rid of the need for users 5759*b6fb3261SAndroid Build Coastguard Worker to manually call `Model._set_inputs` when using Custom Training 5760*b6fb3261SAndroid Build Coastguard Worker Loops(CTLs). 5761*b6fb3261SAndroid Build Coastguard Worker * Dynamic shapes are supported for generators by calling the Model on 5762*b6fb3261SAndroid Build Coastguard Worker the first batch we "peek" from the generator. This used to happen 5763*b6fb3261SAndroid Build Coastguard Worker implicitly in `Model._standardize_user_data`. Long-term, a solution 5764*b6fb3261SAndroid Build Coastguard Worker where the `DataAdapter` doesn't need to call the Model is probably 5765*b6fb3261SAndroid Build Coastguard Worker preferable. 5766*b6fb3261SAndroid Build Coastguard Worker * The SavedModel format now supports all Keras built-in layers (including 5767*b6fb3261SAndroid Build Coastguard Worker metrics, preprocessing layers, and stateful RNN layers) 5768*b6fb3261SAndroid Build Coastguard Worker * Update Keras batch normalization layer to use the running mean and 5769*b6fb3261SAndroid Build Coastguard Worker average computation in the `fused_batch_norm`. You should see 5770*b6fb3261SAndroid Build Coastguard Worker significant performance improvements when using `fused_batch_norm` in 5771*b6fb3261SAndroid Build Coastguard Worker Eager mode. 5772*b6fb3261SAndroid Build Coastguard Worker 5773*b6fb3261SAndroid Build Coastguard Worker* `tf.lite`: 5774*b6fb3261SAndroid Build Coastguard Worker 5775*b6fb3261SAndroid Build Coastguard Worker * Enable TFLite experimental new converter by default. 5776*b6fb3261SAndroid Build Coastguard Worker 5777*b6fb3261SAndroid Build Coastguard Worker* XLA 5778*b6fb3261SAndroid Build Coastguard Worker 5779*b6fb3261SAndroid Build Coastguard Worker * XLA now builds and works on windows. All prebuilt packages come with XLA 5780*b6fb3261SAndroid Build Coastguard Worker available. 5781*b6fb3261SAndroid Build Coastguard Worker * XLA can be 5782*b6fb3261SAndroid Build Coastguard Worker [enabled for a `tf.function`](https://www.tensorflow.org/xla#explicit_compilation_with_tffunction) 5783*b6fb3261SAndroid Build Coastguard Worker with “compile or throw exception” semantics on CPU and GPU. 5784*b6fb3261SAndroid Build Coastguard Worker 5785*b6fb3261SAndroid Build Coastguard Worker## Breaking Changes 5786*b6fb3261SAndroid Build Coastguard Worker 5787*b6fb3261SAndroid Build Coastguard Worker* `tf.keras`: 5788*b6fb3261SAndroid Build Coastguard Worker * In `tf.keras.applications` the name of the "top" layer has been 5789*b6fb3261SAndroid Build Coastguard Worker standardized to "predictions". This is only a problem if your code 5790*b6fb3261SAndroid Build Coastguard Worker relies on the exact name of the layer. 5791*b6fb3261SAndroid Build Coastguard Worker * Huber loss function has been updated to be consistent with other Keras 5792*b6fb3261SAndroid Build Coastguard Worker losses. It now computes mean over the last axis of per-sample losses 5793*b6fb3261SAndroid Build Coastguard Worker before applying the reduction function. 5794*b6fb3261SAndroid Build Coastguard Worker* AutoGraph no longer converts functions passed to `tf.py_function`, 5795*b6fb3261SAndroid Build Coastguard Worker `tf.py_func` and `tf.numpy_function`. 5796*b6fb3261SAndroid Build Coastguard Worker* Deprecating `XLA_CPU` and `XLA_GPU` devices with this release. 5797*b6fb3261SAndroid Build Coastguard Worker* Increasing the minimum bazel version to build TF to 2.0.0 to use Bazel's 5798*b6fb3261SAndroid Build Coastguard Worker `cc_experimental_shared_library`. 5799*b6fb3261SAndroid Build Coastguard Worker* Keras compile/fit behavior for functional and subclassed models have been 5800*b6fb3261SAndroid Build Coastguard Worker unified. Model properties such as `metrics`, `metrics_names` will now be 5801*b6fb3261SAndroid Build Coastguard Worker available only after **training/evaluating the model on actual data** for 5802*b6fb3261SAndroid Build Coastguard Worker functional models. `metrics` will **now include** model `loss` and output 5803*b6fb3261SAndroid Build Coastguard Worker losses.`loss_functions` property has been removed from the model. This was 5804*b6fb3261SAndroid Build Coastguard Worker an undocumented property that was accidentally public and has now been 5805*b6fb3261SAndroid Build Coastguard Worker removed. 5806*b6fb3261SAndroid Build Coastguard Worker 5807*b6fb3261SAndroid Build Coastguard Worker## Known Caveats 5808*b6fb3261SAndroid Build Coastguard Worker 5809*b6fb3261SAndroid Build Coastguard Worker* The current TensorFlow release now **requires** 5810*b6fb3261SAndroid Build Coastguard Worker [gast](https://pypi.org/project/gast/) version 0.3.3. 5811*b6fb3261SAndroid Build Coastguard Worker 5812*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 5813*b6fb3261SAndroid Build Coastguard Worker 5814*b6fb3261SAndroid Build Coastguard Worker* `tf.data`: 5815*b6fb3261SAndroid Build Coastguard Worker * Removed `autotune_algorithm` from experimental optimization options. 5816*b6fb3261SAndroid Build Coastguard Worker* TF Core: 5817*b6fb3261SAndroid Build Coastguard Worker * `tf.constant` always creates CPU tensors irrespective of the current 5818*b6fb3261SAndroid Build Coastguard Worker device context. 5819*b6fb3261SAndroid Build Coastguard Worker * Eager `TensorHandles` maintain a list of mirrors for any copies to local 5820*b6fb3261SAndroid Build Coastguard Worker or remote devices. This avoids any redundant copies due to op execution. 5821*b6fb3261SAndroid Build Coastguard Worker * For `tf.Tensor` & `tf.Variable`, `.experimental_ref()` is no longer 5822*b6fb3261SAndroid Build Coastguard Worker experimental and is available as simply `.ref()`. 5823*b6fb3261SAndroid Build Coastguard Worker * `pfor/vectorized_map`: Added support for vectorizing 56 more ops. 5824*b6fb3261SAndroid Build Coastguard Worker Vectorizing `tf.cond` is also supported now. 5825*b6fb3261SAndroid Build Coastguard Worker * Set as much partial shape as we can infer statically within the gradient 5826*b6fb3261SAndroid Build Coastguard Worker impl of the gather op. 5827*b6fb3261SAndroid Build Coastguard Worker * Gradient of `tf.while_loop` emits `StatelessWhile` op if `cond` and body 5828*b6fb3261SAndroid Build Coastguard Worker functions are stateless. This allows multiple gradients while ops to run 5829*b6fb3261SAndroid Build Coastguard Worker in parallel under distribution strategy. 5830*b6fb3261SAndroid Build Coastguard Worker * Speed up `GradientTape` in eager mode by auto-generating list of op 5831*b6fb3261SAndroid Build Coastguard Worker inputs/outputs which are unused and hence not cached for gradient 5832*b6fb3261SAndroid Build Coastguard Worker functions. 5833*b6fb3261SAndroid Build Coastguard Worker * Support `back_prop=False` in `while_v2` but mark it as deprecated. 5834*b6fb3261SAndroid Build Coastguard Worker * Improve error message when attempting to use `None` in data-dependent 5835*b6fb3261SAndroid Build Coastguard Worker control flow. 5836*b6fb3261SAndroid Build Coastguard Worker * Add `RaggedTensor.numpy()`. 5837*b6fb3261SAndroid Build Coastguard Worker * Update `RaggedTensor.__getitem__` to preserve uniform dimensions & allow 5838*b6fb3261SAndroid Build Coastguard Worker indexing into uniform dimensions. 5839*b6fb3261SAndroid Build Coastguard Worker * Update `tf.expand_dims` to always insert the new dimension as a 5840*b6fb3261SAndroid Build Coastguard Worker non-ragged dimension. 5841*b6fb3261SAndroid Build Coastguard Worker * Update `tf.embedding_lookup` to use `partition_strategy` and `max_norm` 5842*b6fb3261SAndroid Build Coastguard Worker when `ids` is ragged. 5843*b6fb3261SAndroid Build Coastguard Worker * Allow `batch_dims==rank(indices)` in `tf.gather`. 5844*b6fb3261SAndroid Build Coastguard Worker * Add support for bfloat16 in `tf.print`. 5845*b6fb3261SAndroid Build Coastguard Worker* `tf.distribute`: 5846*b6fb3261SAndroid Build Coastguard Worker * Support `embedding_column` with variable-length input features for 5847*b6fb3261SAndroid Build Coastguard Worker `MultiWorkerMirroredStrategy`. 5848*b6fb3261SAndroid Build Coastguard Worker* `tf.keras`: 5849*b6fb3261SAndroid Build Coastguard Worker * Added `experimental_aggregate_gradients` argument to 5850*b6fb3261SAndroid Build Coastguard Worker `tf.keras.optimizer.Optimizer.apply_gradients`. This allows custom 5851*b6fb3261SAndroid Build Coastguard Worker gradient aggregation and processing aggregated gradients in custom 5852*b6fb3261SAndroid Build Coastguard Worker training loop. 5853*b6fb3261SAndroid Build Coastguard Worker * Allow `pathlib.Path` paths for loading models via Keras API. 5854*b6fb3261SAndroid Build Coastguard Worker* `tf.function`/AutoGraph: 5855*b6fb3261SAndroid Build Coastguard Worker * AutoGraph is now available in `ReplicaContext.merge_call`, 5856*b6fb3261SAndroid Build Coastguard Worker `Strategy.extended.update` and `Strategy.extended.update_non_slot`. 5857*b6fb3261SAndroid Build Coastguard Worker * Experimental support for shape invariants has been enabled in 5858*b6fb3261SAndroid Build Coastguard Worker `tf.function`. See the API docs for 5859*b6fb3261SAndroid Build Coastguard Worker `tf.autograph.experimental.set_loop_options` for additional info. 5860*b6fb3261SAndroid Build Coastguard Worker * AutoGraph error messages now exclude frames corresponding to APIs 5861*b6fb3261SAndroid Build Coastguard Worker internal to AutoGraph. 5862*b6fb3261SAndroid Build Coastguard Worker * Improve shape inference for `tf.function` input arguments to unlock more 5863*b6fb3261SAndroid Build Coastguard Worker Grappler optimizations in TensorFlow 2.x. 5864*b6fb3261SAndroid Build Coastguard Worker * Improve automatic control dependency management of resources by allowing 5865*b6fb3261SAndroid Build Coastguard Worker resource reads to occur in parallel and synchronizing only on writes. 5866*b6fb3261SAndroid Build Coastguard Worker * Fix execution order of multiple stateful calls to `experimental_run_v2` 5867*b6fb3261SAndroid Build Coastguard Worker in `tf.function`. 5868*b6fb3261SAndroid Build Coastguard Worker * You can now iterate over `RaggedTensors` using a for loop inside 5869*b6fb3261SAndroid Build Coastguard Worker `tf.function`. 5870*b6fb3261SAndroid Build Coastguard Worker* `tf.lite`: 5871*b6fb3261SAndroid Build Coastguard Worker * Migrated the `tf.lite` C inference API out of experimental into lite/c. 5872*b6fb3261SAndroid Build Coastguard Worker * Add an option to disallow `NNAPI` CPU / partial acceleration on Android 5873*b6fb3261SAndroid Build Coastguard Worker 10 5874*b6fb3261SAndroid Build Coastguard Worker * TFLite Android AARs now include the C headers and APIs are required to 5875*b6fb3261SAndroid Build Coastguard Worker use TFLite from native code. 5876*b6fb3261SAndroid Build Coastguard Worker * Refactors the delegate and delegate kernel sources to allow usage in the 5877*b6fb3261SAndroid Build Coastguard Worker linter. 5878*b6fb3261SAndroid Build Coastguard Worker * Limit delegated ops to actually supported ones if a device name is 5879*b6fb3261SAndroid Build Coastguard Worker specified or `NNAPI` CPU Fallback is disabled. 5880*b6fb3261SAndroid Build Coastguard Worker * TFLite now supports `tf.math.reciprocal1` op by lowering to `tf.div op`. 5881*b6fb3261SAndroid Build Coastguard Worker * TFLite's unpack op now supports boolean tensor inputs. 5882*b6fb3261SAndroid Build Coastguard Worker * Microcontroller and embedded code moved from experimental to main 5883*b6fb3261SAndroid Build Coastguard Worker TensorFlow Lite folder 5884*b6fb3261SAndroid Build Coastguard Worker * Check for large TFLite tensors. 5885*b6fb3261SAndroid Build Coastguard Worker * Fix GPU delegate crash with C++17. 5886*b6fb3261SAndroid Build Coastguard Worker * Add 5D support to TFLite `strided_slice`. 5887*b6fb3261SAndroid Build Coastguard Worker * Fix error in delegation of `DEPTH_TO_SPACE` to `NNAPI` causing op not to 5888*b6fb3261SAndroid Build Coastguard Worker be accelerated. 5889*b6fb3261SAndroid Build Coastguard Worker * Fix segmentation fault when running a model with LSTM nodes using 5890*b6fb3261SAndroid Build Coastguard Worker `NNAPI` Delegate 5891*b6fb3261SAndroid Build Coastguard Worker * Fix `NNAPI` delegate failure when an operand for Maximum/Minimum 5892*b6fb3261SAndroid Build Coastguard Worker operation is a scalar. 5893*b6fb3261SAndroid Build Coastguard Worker * Fix `NNAPI` delegate failure when Axis input for reduce operation is a 5894*b6fb3261SAndroid Build Coastguard Worker scalar. 5895*b6fb3261SAndroid Build Coastguard Worker * Expose option to limit the number of partitions that will be delegated 5896*b6fb3261SAndroid Build Coastguard Worker to `NNAPI`. 5897*b6fb3261SAndroid Build Coastguard Worker * If a target accelerator is specified, use its feature level to determine 5898*b6fb3261SAndroid Build Coastguard Worker operations to delegate instead of SDK version. 5899*b6fb3261SAndroid Build Coastguard Worker* `tf.random`: 5900*b6fb3261SAndroid Build Coastguard Worker * Various random number generation improvements: 5901*b6fb3261SAndroid Build Coastguard Worker * Add a fast path for default `random_uniform` 5902*b6fb3261SAndroid Build Coastguard Worker * `random_seed` documentation improvement. 5903*b6fb3261SAndroid Build Coastguard Worker * `RandomBinomial` broadcasts and appends the sample shape to the left 5904*b6fb3261SAndroid Build Coastguard Worker rather than the right. 5905*b6fb3261SAndroid Build Coastguard Worker * Added `tf.random.stateless_binomial`, `tf.random.stateless_gamma`, 5906*b6fb3261SAndroid Build Coastguard Worker `tf.random.stateless_poisson` 5907*b6fb3261SAndroid Build Coastguard Worker * `tf.random.stateless_uniform` now supports unbounded sampling of `int` 5908*b6fb3261SAndroid Build Coastguard Worker types. 5909*b6fb3261SAndroid Build Coastguard Worker* Math and Linear Algebra: 5910*b6fb3261SAndroid Build Coastguard Worker * Add `tf.linalg.LinearOperatorTridiag`. 5911*b6fb3261SAndroid Build Coastguard Worker * Add `LinearOperatorBlockLowerTriangular` 5912*b6fb3261SAndroid Build Coastguard Worker * Add broadcasting support to 5913*b6fb3261SAndroid Build Coastguard Worker tf.linalg.triangular_solve[#26204](https://github.com/tensorflow/tensorflow/issues/26204), 5914*b6fb3261SAndroid Build Coastguard Worker tf.math.invert_permutation. 5915*b6fb3261SAndroid Build Coastguard Worker * Add `tf.math.sobol_sample` op. 5916*b6fb3261SAndroid Build Coastguard Worker * Add `tf.math.xlog1py`. 5917*b6fb3261SAndroid Build Coastguard Worker * Add `tf.math.special.{dawsn,expi,fresnel_cos,fresnel_sin,spence}`. 5918*b6fb3261SAndroid Build Coastguard Worker * Add a Modified Discrete Cosine Transform (MDCT) and its inverse to 5919*b6fb3261SAndroid Build Coastguard Worker `tf.signal`. 5920*b6fb3261SAndroid Build Coastguard Worker* TPU Enhancements: 5921*b6fb3261SAndroid Build Coastguard Worker * Refactor `TpuClusterResolver` to move shared logic to a separate pip 5922*b6fb3261SAndroid Build Coastguard Worker package. 5923*b6fb3261SAndroid Build Coastguard Worker * Support configuring TPU software version from cloud tpu client. 5924*b6fb3261SAndroid Build Coastguard Worker * Allowed TPU embedding weight decay factor to be multiplied by learning 5925*b6fb3261SAndroid Build Coastguard Worker rate. 5926*b6fb3261SAndroid Build Coastguard Worker* XLA Support: 5927*b6fb3261SAndroid Build Coastguard Worker * Add standalone XLA AOT runtime target + relevant .cc sources to pip 5928*b6fb3261SAndroid Build Coastguard Worker package. 5929*b6fb3261SAndroid Build Coastguard Worker * Add check for memory alignment to MemoryAllocation::MemoryAllocation() 5930*b6fb3261SAndroid Build Coastguard Worker on 32-bit ARM. This ensures a deterministic early exit instead of a hard 5931*b6fb3261SAndroid Build Coastguard Worker to debug bus error later. 5932*b6fb3261SAndroid Build Coastguard Worker * `saved_model_cli aot_compile_cpu` allows you to compile saved models to 5933*b6fb3261SAndroid Build Coastguard Worker XLA header+object files and include them in your C++ programs. 5934*b6fb3261SAndroid Build Coastguard Worker * Enable `Igamma`, `Igammac` for XLA. 5935*b6fb3261SAndroid Build Coastguard Worker* Deterministic Op Functionality: 5936*b6fb3261SAndroid Build Coastguard Worker * XLA reduction emitter is deterministic when the environment variable 5937*b6fb3261SAndroid Build Coastguard Worker `TF_DETERMINISTIC_OPS` is set to "true" or "1". This extends 5938*b6fb3261SAndroid Build Coastguard Worker deterministic `tf.nn.bias_add` back-prop functionality (and therefore 5939*b6fb3261SAndroid Build Coastguard Worker also deterministic back-prop of bias-addition in Keras layers) to 5940*b6fb3261SAndroid Build Coastguard Worker include when XLA JIT compilation is enabled. 5941*b6fb3261SAndroid Build Coastguard Worker * Fix problem, when running on a CUDA GPU and when either environment 5942*b6fb3261SAndroid Build Coastguard Worker variable `TF_DETERMINISTIC_OPS` or environment variable 5943*b6fb3261SAndroid Build Coastguard Worker `TF_CUDNN_DETERMINISTIC` is set to "true" or "1", in which some layer 5944*b6fb3261SAndroid Build Coastguard Worker configurations led to an exception with the message "No algorithm 5945*b6fb3261SAndroid Build Coastguard Worker worked!" 5946*b6fb3261SAndroid Build Coastguard Worker* Tracing and Debugging: 5947*b6fb3261SAndroid Build Coastguard Worker * Add source, destination name to `_send` traceme to allow easier 5948*b6fb3261SAndroid Build Coastguard Worker debugging. 5949*b6fb3261SAndroid Build Coastguard Worker * Add traceme event to `fastpathexecute`. 5950*b6fb3261SAndroid Build Coastguard Worker* Other: 5951*b6fb3261SAndroid Build Coastguard Worker * Fix an issue with AUC.reset_states for multi-label AUC 5952*b6fb3261SAndroid Build Coastguard Worker [#35852](https://github.com/tensorflow/tensorflow/issues/35852) 5953*b6fb3261SAndroid Build Coastguard Worker * Fix the TF upgrade script to not delete files when there is a parsing 5954*b6fb3261SAndroid Build Coastguard Worker error and the output mode is `in-place`. 5955*b6fb3261SAndroid Build Coastguard Worker * Move `tensorflow/core:framework/*_pyclif` rules to 5956*b6fb3261SAndroid Build Coastguard Worker `tensorflow/core/framework:*_pyclif`. 5957*b6fb3261SAndroid Build Coastguard Worker 5958*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors 5959*b6fb3261SAndroid Build Coastguard Worker 5960*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as: 5961*b6fb3261SAndroid Build Coastguard Worker 5962*b6fb3261SAndroid Build Coastguard Worker372046933, 8bitmp3, aaronhma, Abin Shahab, Aditya Patwardhan, Agoniii, Ahti 5963*b6fb3261SAndroid Build Coastguard WorkerKitsik, Alan Yee, Albin Joy, Alex Hoffman, Alexander Grund, Alexandre E. 5964*b6fb3261SAndroid Build Coastguard WorkerEichenberger, Amit Kumar Jaiswal, amoitra, Andrew Anderson, Angus-Luo, Anthony 5965*b6fb3261SAndroid Build Coastguard WorkerBarbier, Anton Kachatkou, Anuj Rawat, archis, Arpan-Dhatt, Arvind Sundararajan, 5966*b6fb3261SAndroid Build Coastguard WorkerAshutosh Hathidara, autoih, Bairen Yi, Balint Cristian, Bas Aarts, BashirSbaiti, 5967*b6fb3261SAndroid Build Coastguard WorkerBasit Ayantunde, Ben Barsdell, Benjamin Gaillard, boron, Brett Koonce, Bryan 5968*b6fb3261SAndroid Build Coastguard WorkerCutler, Christian Goll, Christian Sachs, Clayne Robison, comet, Daniel Falbel, 5969*b6fb3261SAndroid Build Coastguard WorkerDaria Zhuravleva, darsh8200, David Truby, Dayananda-V, deepakm, Denis Khalikov, 5970*b6fb3261SAndroid Build Coastguard WorkerDevansh Singh, Dheeraj R Reddy, Diederik Van Liere, Diego Caballero, Dominic 5971*b6fb3261SAndroid Build Coastguard WorkerJack, dothinking, Douman, Drake Gens, Duncan Riach, Ehsan Toosi, ekuznetsov139, 5972*b6fb3261SAndroid Build Coastguard WorkerElena Zhelezina, elzino, Ending2015a, Eric Schweitz, Erik Zettel, Ethan Saadia, 5973*b6fb3261SAndroid Build Coastguard WorkerEugene Kuznetsov, Evgeniy Zheltonozhskiy, Ewout Ter Hoeven, exfalso, FAIJUL, 5974*b6fb3261SAndroid Build Coastguard WorkerFangjun Kuang, Fei Hu, Frank Laub, Frederic Bastien, Fredrik Knutsson, frreiss, 5975*b6fb3261SAndroid Build Coastguard WorkerFrédéric Rechtenstein, fsx950223, Gaurav Singh, gbaned, George Grzegorz 5976*b6fb3261SAndroid Build Coastguard WorkerPawelczak, George Sterpu, Gian Marco Iodice, Giorgio Arena, Hans Gaiser, Hans 5977*b6fb3261SAndroid Build Coastguard WorkerPabst, Haoyu Wu, Harry Slatyer, hsahovic, Hugo, Hugo Sjöberg, IrinaM21, jacco, 5978*b6fb3261SAndroid Build Coastguard WorkerJake Tae, Jean-Denis Lesage, Jean-Michel Gorius, Jeff Daily, Jens Elofsson, 5979*b6fb3261SAndroid Build Coastguard WorkerJerry Shih, jerryyin, Jin Mingjian, Jinjing Zhou, JKIsaacLee, jojimonv, Jonathan 5980*b6fb3261SAndroid Build Coastguard WorkerDekhtiar, Jose Ignacio Gomez, Joseph-Rance, Judd, Julian Gross, Kaixi Hou, 5981*b6fb3261SAndroid Build Coastguard WorkerKaustubh Maske Patil, Keunwoo Choi, Kevin Hanselman, Khor Chean Wei, Kilaru 5982*b6fb3261SAndroid Build Coastguard WorkerYasaswi Sri Chandra Gandhi, Koan-Sin Tan, Koki Ibukuro, Kristian Holsheimer, 5983*b6fb3261SAndroid Build Coastguard Workerkurileo, Lakshay Tokas, Lee Netherton, leike666666, Leslie-Fang-Intel, Li, 5984*b6fb3261SAndroid Build Coastguard WorkerGuizi, LIUJIAN435, Lukas Geiger, Lyo Nguyen, madisetti, Maher Jendoubi, Mahmoud 5985*b6fb3261SAndroid Build Coastguard WorkerAbuzaina, Manuel Freiberger, Marcel Koester, Marco Jacopo Ferrarotti, Markus 5986*b6fb3261SAndroid Build Coastguard WorkerFranke, marload, Mbah-Javis, mbhuiyan, Meng Zhang, Michael Liao, 5987*b6fb3261SAndroid Build Coastguard WorkerMichaelKonobeev, Michal Tarnowski, Milan Straka, minoring, Mohamed Nour 5988*b6fb3261SAndroid Build Coastguard WorkerAbouelseoud, MoussaMM, Mrinal Jain, mrTsjolder, Måns Nilsson, Namrata Bhave, 5989*b6fb3261SAndroid Build Coastguard WorkerNicholas Gao, Niels Ole Salscheider, nikochiko, Niranjan Hasabnis, Nishidha 5990*b6fb3261SAndroid Build Coastguard WorkerPanpaliya, nmostafa, Noah Trenaman, nuka137, Officium, Owen L - Sfe, Pallavi G, 5991*b6fb3261SAndroid Build Coastguard WorkerPaul Andrey, Peng Sun, Peng Wu, Phil Pearl, PhilipMay, pingsutw, Pooya Davoodi, 5992*b6fb3261SAndroid Build Coastguard WorkerPragmaTwice, pshiko, Qwerty71, R Gomathi, Rahul Huilgol, Richard Xiao, Rick 5993*b6fb3261SAndroid Build Coastguard WorkerWierenga, Roberto Rosmaninho, ruchit2801, Rushabh Vasani, Sami, Sana Damani, 5994*b6fb3261SAndroid Build Coastguard WorkerSarvesh Dubey, Sasan Jafarnejad, Sergii Khomenko, Shane Smiskol, Shaochen Shi, 5995*b6fb3261SAndroid Build Coastguard Workersharkdtu, Shawn Presser, ShengYang1, Shreyash Patodia, Shyam Sundar Dhanabalan, 5996*b6fb3261SAndroid Build Coastguard WorkerSiju Samuel, Somyajit Chakraborty Sam, Srihari Humbarwadi, 5997*b6fb3261SAndroid Build Coastguard Workersrinivasan.narayanamoorthy, Srishti Yadav, Steph-En-M, Stephan Uphoff, Stephen 5998*b6fb3261SAndroid Build Coastguard WorkerMugisha, SumanSudhir, Taehun Kim, Tamas Bela Feher, TengLu, Tetragramm, Thierry 5999*b6fb3261SAndroid Build Coastguard WorkerHerrmann, Tian Jin, tigertang, Tom Carchrae, Tom Forbes, Trent Lo, Victor Peng, 6000*b6fb3261SAndroid Build Coastguard Workervijayphoenix, Vincent Abriou, Vishal Bhola, Vishnuvardhan Janapati, vladbataev, 6001*b6fb3261SAndroid Build Coastguard WorkerVoVAllen, Wallyss Lima, Wen-Heng (Jack) Chung, wenxizhu, William D. Irons, 6002*b6fb3261SAndroid Build Coastguard WorkerWilliam Zhang, Xiaoming (Jason) Cui, Xiaoquan Kong, Xinan Jiang, Yasir Modak, 6003*b6fb3261SAndroid Build Coastguard WorkerYasuhiro Matsumoto, Yaxun (Sam) Liu, Yong Tang, Ytyt-Yt, yuan, Yuan Mingshuai, 6004*b6fb3261SAndroid Build Coastguard WorkerYuan Tang, Yuki Ueda, Yusup, zhangshijin, zhuwenxi 6005*b6fb3261SAndroid Build Coastguard Worker 6006*b6fb3261SAndroid Build Coastguard Worker# Release 2.0.1 6007*b6fb3261SAndroid Build Coastguard Worker 6008*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 6009*b6fb3261SAndroid Build Coastguard Worker 6010*b6fb3261SAndroid Build Coastguard Worker* Fixes a security vulnerability where converting a Python string to a 6011*b6fb3261SAndroid Build Coastguard Worker `tf.float16` value produces a segmentation fault 6012*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-5215](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-5215)) 6013*b6fb3261SAndroid Build Coastguard Worker* Updates `curl` to `7.66.0` to handle 6014*b6fb3261SAndroid Build Coastguard Worker [CVE-2019-5482](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-5482) 6015*b6fb3261SAndroid Build Coastguard Worker and 6016*b6fb3261SAndroid Build Coastguard Worker [CVE-2019-5481](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-5481) 6017*b6fb3261SAndroid Build Coastguard Worker* Updates `sqlite3` to `3.30.01` to handle 6018*b6fb3261SAndroid Build Coastguard Worker [CVE-2019-19646](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-19646), 6019*b6fb3261SAndroid Build Coastguard Worker [CVE-2019-19645](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-19645) 6020*b6fb3261SAndroid Build Coastguard Worker and 6021*b6fb3261SAndroid Build Coastguard Worker [CVE-2019-16168](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-16168) 6022*b6fb3261SAndroid Build Coastguard Worker 6023*b6fb3261SAndroid Build Coastguard Worker# Release 1.15.2 6024*b6fb3261SAndroid Build Coastguard Worker 6025*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 6026*b6fb3261SAndroid Build Coastguard Worker 6027*b6fb3261SAndroid Build Coastguard Worker* Fixes a security vulnerability where converting a Python string to a 6028*b6fb3261SAndroid Build Coastguard Worker `tf.float16` value produces a segmentation fault 6029*b6fb3261SAndroid Build Coastguard Worker ([CVE-2020-5215](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-5215)) 6030*b6fb3261SAndroid Build Coastguard Worker* Updates `curl` to `7.66.0` to handle 6031*b6fb3261SAndroid Build Coastguard Worker [CVE-2019-5482](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-5482) 6032*b6fb3261SAndroid Build Coastguard Worker and 6033*b6fb3261SAndroid Build Coastguard Worker [CVE-2019-5481](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-5481) 6034*b6fb3261SAndroid Build Coastguard Worker* Updates `sqlite3` to `3.30.01` to handle 6035*b6fb3261SAndroid Build Coastguard Worker [CVE-2019-19646](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-19646), 6036*b6fb3261SAndroid Build Coastguard Worker [CVE-2019-19645](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-19645) 6037*b6fb3261SAndroid Build Coastguard Worker and 6038*b6fb3261SAndroid Build Coastguard Worker [CVE-2019-16168](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-16168) 6039*b6fb3261SAndroid Build Coastguard Worker 6040*b6fb3261SAndroid Build Coastguard Worker# Release 2.1.0 6041*b6fb3261SAndroid Build Coastguard Worker 6042*b6fb3261SAndroid Build Coastguard WorkerTensorFlow 2.1 will be the last TF release supporting Python 2. Python 2 support 6043*b6fb3261SAndroid Build Coastguard Worker[officially ends an January 1, 2020](https://www.python.org/dev/peps/pep-0373/#update). 6044*b6fb3261SAndroid Build Coastguard Worker[As announced earlier](https://groups.google.com/a/tensorflow.org/d/msg/announce/gVwS5RC8mds/dCt1ka2XAAAJ), 6045*b6fb3261SAndroid Build Coastguard WorkerTensorFlow will also stop supporting Python 2 starting January 1, 2020, and no 6046*b6fb3261SAndroid Build Coastguard Workermore releases are expected in 2019. 6047*b6fb3261SAndroid Build Coastguard Worker 6048*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements 6049*b6fb3261SAndroid Build Coastguard Worker 6050*b6fb3261SAndroid Build Coastguard Worker* The `tensorflow` pip package now includes GPU support by default (same as 6051*b6fb3261SAndroid Build Coastguard Worker `tensorflow-gpu`) for both Linux and Windows. This runs on machines with and 6052*b6fb3261SAndroid Build Coastguard Worker without NVIDIA GPUs. `tensorflow-gpu` is still available, and CPU-only 6053*b6fb3261SAndroid Build Coastguard Worker packages can be downloaded at `tensorflow-cpu` for users who are concerned 6054*b6fb3261SAndroid Build Coastguard Worker about package size. 6055*b6fb3261SAndroid Build Coastguard Worker* **Windows users:** Officially-released `tensorflow` Pip packages are now 6056*b6fb3261SAndroid Build Coastguard Worker built with Visual Studio 2019 version 16.4 in order to take advantage of the 6057*b6fb3261SAndroid Build Coastguard Worker new `/d2ReducedOptimizeHugeFunctions` compiler flag. To use these new 6058*b6fb3261SAndroid Build Coastguard Worker packages, you must install "Microsoft Visual C++ Redistributable for Visual 6059*b6fb3261SAndroid Build Coastguard Worker Studio 2015, 2017 and 2019", available from Microsoft's website 6060*b6fb3261SAndroid Build Coastguard Worker [here](https://support.microsoft.com/help/2977003/the-latest-supported-visual-c-downloads). 6061*b6fb3261SAndroid Build Coastguard Worker * This does not change the minimum required version for building 6062*b6fb3261SAndroid Build Coastguard Worker TensorFlow from source on Windows, but builds enabling 6063*b6fb3261SAndroid Build Coastguard Worker `EIGEN_STRONG_INLINE` can take over 48 hours to compile without this 6064*b6fb3261SAndroid Build Coastguard Worker flag. Refer to `configure.py` for more information about 6065*b6fb3261SAndroid Build Coastguard Worker `EIGEN_STRONG_INLINE` and `/d2ReducedOptimizeHugeFunctions`. 6066*b6fb3261SAndroid Build Coastguard Worker * If either of the required DLLs, `msvcp140.dll` (old) or `msvcp140_1.dll` 6067*b6fb3261SAndroid Build Coastguard Worker (new), are missing on your machine, `import tensorflow` will print a 6068*b6fb3261SAndroid Build Coastguard Worker warning message. 6069*b6fb3261SAndroid Build Coastguard Worker* The `tensorflow` pip package is built with CUDA 10.1 and cuDNN 7.6. 6070*b6fb3261SAndroid Build Coastguard Worker* `tf.keras` 6071*b6fb3261SAndroid Build Coastguard Worker * Experimental support for mixed precision is available on GPUs and Cloud 6072*b6fb3261SAndroid Build Coastguard Worker TPUs. See 6073*b6fb3261SAndroid Build Coastguard Worker [usage guide](https://www.tensorflow.org/guide/keras/mixed_precision). 6074*b6fb3261SAndroid Build Coastguard Worker * Introduced the `TextVectorization` layer, which takes as input raw 6075*b6fb3261SAndroid Build Coastguard Worker strings and takes care of text standardization, tokenization, n-gram 6076*b6fb3261SAndroid Build Coastguard Worker generation, and vocabulary indexing. See this 6077*b6fb3261SAndroid Build Coastguard Worker [end-to-end text classification example](https://colab.research.google.com/drive/1RvCnR7h0_l4Ekn5vINWToI9TNJdpUZB3). 6078*b6fb3261SAndroid Build Coastguard Worker * Keras `.compile` `.fit` `.evaluate` and `.predict` are allowed to be 6079*b6fb3261SAndroid Build Coastguard Worker outside of the DistributionStrategy scope, as long as the model was 6080*b6fb3261SAndroid Build Coastguard Worker constructed inside of a scope. 6081*b6fb3261SAndroid Build Coastguard Worker * Experimental support for Keras `.compile`, `.fit`, `.evaluate`, and 6082*b6fb3261SAndroid Build Coastguard Worker `.predict` is available for Cloud TPUs, Cloud TPU, for all types of 6083*b6fb3261SAndroid Build Coastguard Worker Keras models (sequential, functional and subclassing models). 6084*b6fb3261SAndroid Build Coastguard Worker * Automatic outside compilation is now enabled for Cloud TPUs. This allows 6085*b6fb3261SAndroid Build Coastguard Worker `tf.summary` to be used more conveniently with Cloud TPUs. 6086*b6fb3261SAndroid Build Coastguard Worker * Dynamic batch sizes with DistributionStrategy and Keras are supported on 6087*b6fb3261SAndroid Build Coastguard Worker Cloud TPUs. 6088*b6fb3261SAndroid Build Coastguard Worker * Support for `.fit`, `.evaluate`, `.predict` on TPU using numpy data, in 6089*b6fb3261SAndroid Build Coastguard Worker addition to `tf.data.Dataset`. 6090*b6fb3261SAndroid Build Coastguard Worker * Keras reference implementations for many popular models are available in 6091*b6fb3261SAndroid Build Coastguard Worker the TensorFlow 6092*b6fb3261SAndroid Build Coastguard Worker [Model Garden](https://github.com/tensorflow/models/tree/master/official). 6093*b6fb3261SAndroid Build Coastguard Worker* `tf.data` 6094*b6fb3261SAndroid Build Coastguard Worker * Changes rebatching for `tf.data datasets` + DistributionStrategy for 6095*b6fb3261SAndroid Build Coastguard Worker better performance. Note that the dataset also behaves slightly 6096*b6fb3261SAndroid Build Coastguard Worker differently, in that the rebatched dataset cardinality will always be a 6097*b6fb3261SAndroid Build Coastguard Worker multiple of the number of replicas. 6098*b6fb3261SAndroid Build Coastguard Worker * `tf.data.Dataset` now supports automatic data distribution and sharding 6099*b6fb3261SAndroid Build Coastguard Worker in distributed environments, including on TPU pods. 6100*b6fb3261SAndroid Build Coastguard Worker * Distribution policies for `tf.data.Dataset` can now be tuned with 1. 6101*b6fb3261SAndroid Build Coastguard Worker `tf.data.experimental.AutoShardPolicy(OFF, AUTO, FILE, DATA)` 2. 6102*b6fb3261SAndroid Build Coastguard Worker `tf.data.experimental.ExternalStatePolicy(WARN, IGNORE, FAIL)` 6103*b6fb3261SAndroid Build Coastguard Worker* `tf.debugging` 6104*b6fb3261SAndroid Build Coastguard Worker * Add `tf.debugging.enable_check_numerics()` and 6105*b6fb3261SAndroid Build Coastguard Worker `tf.debugging.disable_check_numerics()` to help debugging the root 6106*b6fb3261SAndroid Build Coastguard Worker causes of issues involving infinities and `NaN`s. 6107*b6fb3261SAndroid Build Coastguard Worker* `tf.distribute` 6108*b6fb3261SAndroid Build Coastguard Worker * Custom training loop support on TPUs and TPU pods is available through 6109*b6fb3261SAndroid Build Coastguard Worker `strategy.experimental_distribute_dataset`, 6110*b6fb3261SAndroid Build Coastguard Worker `strategy.experimental_distribute_datasets_from_function`, 6111*b6fb3261SAndroid Build Coastguard Worker `strategy.experimental_run_v2`, `strategy.reduce`. 6112*b6fb3261SAndroid Build Coastguard Worker * Support for a global distribution strategy through 6113*b6fb3261SAndroid Build Coastguard Worker `tf.distribute.experimental_set_strategy(),` in addition to 6114*b6fb3261SAndroid Build Coastguard Worker `strategy.scope()`. 6115*b6fb3261SAndroid Build Coastguard Worker* `TensorRT` 6116*b6fb3261SAndroid Build Coastguard Worker * [TensorRT 6.0](https://developer.nvidia.com/tensorrt#tensorrt-whats-new) 6117*b6fb3261SAndroid Build Coastguard Worker is now supported and enabled by default. This adds support for more 6118*b6fb3261SAndroid Build Coastguard Worker TensorFlow ops including Conv3D, Conv3DBackpropInputV2, AvgPool3D, 6119*b6fb3261SAndroid Build Coastguard Worker MaxPool3D, ResizeBilinear, and ResizeNearestNeighbor. In addition, the 6120*b6fb3261SAndroid Build Coastguard Worker TensorFlow-TensorRT python conversion API is exported as 6121*b6fb3261SAndroid Build Coastguard Worker `tf.experimental.tensorrt.Converter`. 6122*b6fb3261SAndroid Build Coastguard Worker* Environment variable `TF_DETERMINISTIC_OPS` has been added. When set to 6123*b6fb3261SAndroid Build Coastguard Worker "true" or "1", this environment variable makes `tf.nn.bias_add` operate 6124*b6fb3261SAndroid Build Coastguard Worker deterministically (i.e. reproducibly), but currently only when XLA JIT 6125*b6fb3261SAndroid Build Coastguard Worker compilation is *not* enabled. Setting `TF_DETERMINISTIC_OPS` to "true" or 6126*b6fb3261SAndroid Build Coastguard Worker "1" also makes cuDNN convolution and max-pooling operate deterministically. 6127*b6fb3261SAndroid Build Coastguard Worker This makes Keras Conv\*D and MaxPool\*D layers operate deterministically in 6128*b6fb3261SAndroid Build Coastguard Worker both the forward and backward directions when running on a CUDA-enabled GPU. 6129*b6fb3261SAndroid Build Coastguard Worker 6130*b6fb3261SAndroid Build Coastguard Worker## Breaking Changes 6131*b6fb3261SAndroid Build Coastguard Worker 6132*b6fb3261SAndroid Build Coastguard Worker* Deletes `Operation.traceback_with_start_lines` for which we know of no 6133*b6fb3261SAndroid Build Coastguard Worker usages. 6134*b6fb3261SAndroid Build Coastguard Worker* Removed `id` from `tf.Tensor.__repr__()` as `id` is not useful other than 6135*b6fb3261SAndroid Build Coastguard Worker internal debugging. 6136*b6fb3261SAndroid Build Coastguard Worker* Some `tf.assert_*` methods now raise assertions at operation creation time 6137*b6fb3261SAndroid Build Coastguard Worker if the input tensors' values are known at that time, not during the 6138*b6fb3261SAndroid Build Coastguard Worker `session.run()`. This only changes behavior when the graph execution would 6139*b6fb3261SAndroid Build Coastguard Worker have resulted in an error. When this happens, a noop is returned and the 6140*b6fb3261SAndroid Build Coastguard Worker input tensors are marked non-feedable. In other words, if they are used as 6141*b6fb3261SAndroid Build Coastguard Worker keys in `feed_dict` argument to `session.run()`, an error will be raised. 6142*b6fb3261SAndroid Build Coastguard Worker Also, because some assert ops don't make it into the graph, the graph 6143*b6fb3261SAndroid Build Coastguard Worker structure changes. A different graph can result in different per-op random 6144*b6fb3261SAndroid Build Coastguard Worker seeds when they are not given explicitly (most often). 6145*b6fb3261SAndroid Build Coastguard Worker* The following APIs are not longer experimental: 6146*b6fb3261SAndroid Build Coastguard Worker `tf.config.list_logical_devices`, `tf.config.list_physical_devices`, 6147*b6fb3261SAndroid Build Coastguard Worker `tf.config.get_visible_devices`, `tf.config.set_visible_devices`, 6148*b6fb3261SAndroid Build Coastguard Worker `tf.config.get_logical_device_configuration`, 6149*b6fb3261SAndroid Build Coastguard Worker `tf.config.set_logical_device_configuration`. 6150*b6fb3261SAndroid Build Coastguard Worker* `tf.config.experimentalVirtualDeviceConfiguration` has been renamed to 6151*b6fb3261SAndroid Build Coastguard Worker `tf.config.LogicalDeviceConfiguration`. 6152*b6fb3261SAndroid Build Coastguard Worker* `tf.config.experimental_list_devices` has been removed, please use 6153*b6fb3261SAndroid Build Coastguard Worker `tf.config.list_logical_devices`. 6154*b6fb3261SAndroid Build Coastguard Worker 6155*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 6156*b6fb3261SAndroid Build Coastguard Worker 6157*b6fb3261SAndroid Build Coastguard Worker* `tf.data` 6158*b6fb3261SAndroid Build Coastguard Worker * Fixes concurrency issue with `tf.data.experimental.parallel_interleave` 6159*b6fb3261SAndroid Build Coastguard Worker with `sloppy=True`. 6160*b6fb3261SAndroid Build Coastguard Worker * Add `tf.data.experimental.dense_to_ragged_batch()`. 6161*b6fb3261SAndroid Build Coastguard Worker * Extend `tf.data` parsing ops to support `RaggedTensors`. 6162*b6fb3261SAndroid Build Coastguard Worker* `tf.distribute` 6163*b6fb3261SAndroid Build Coastguard Worker * Fix issue where GRU would crash or give incorrect output when a 6164*b6fb3261SAndroid Build Coastguard Worker `tf.distribute.Strategy` was used. 6165*b6fb3261SAndroid Build Coastguard Worker* `tf.estimator` 6166*b6fb3261SAndroid Build Coastguard Worker * Added option in `tf.estimator.CheckpointSaverHook` to not save the 6167*b6fb3261SAndroid Build Coastguard Worker `GraphDef`. 6168*b6fb3261SAndroid Build Coastguard Worker * Moving the checkpoint reader from swig to pybind11. 6169*b6fb3261SAndroid Build Coastguard Worker* `tf.keras` 6170*b6fb3261SAndroid Build Coastguard Worker * Export `depthwise_conv2d` in `tf.keras.backend`. 6171*b6fb3261SAndroid Build Coastguard Worker * In Keras Layers and Models, Variables in `trainable_weights`, 6172*b6fb3261SAndroid Build Coastguard Worker `non_trainable_weights`, and `weights` are explicitly deduplicated. 6173*b6fb3261SAndroid Build Coastguard Worker * Keras `model.load_weights` now accepts `skip_mismatch` as an argument. 6174*b6fb3261SAndroid Build Coastguard Worker This was available in external Keras, and has now been copied over to 6175*b6fb3261SAndroid Build Coastguard Worker `tf.keras`. 6176*b6fb3261SAndroid Build Coastguard Worker * Fix the input shape caching behavior of Keras convolutional layers. 6177*b6fb3261SAndroid Build Coastguard Worker * `Model.fit_generator`, `Model.evaluate_generator`, 6178*b6fb3261SAndroid Build Coastguard Worker `Model.predict_generator`, `Model.train_on_batch`, 6179*b6fb3261SAndroid Build Coastguard Worker `Model.test_on_batch`, and `Model.predict_on_batch` methods now respect 6180*b6fb3261SAndroid Build Coastguard Worker the `run_eagerly` property, and will correctly run using `tf.function` 6181*b6fb3261SAndroid Build Coastguard Worker by default. Note that `Model.fit_generator`, `Model.evaluate_generator`, 6182*b6fb3261SAndroid Build Coastguard Worker and `Model.predict_generator` are deprecated endpoints. They are 6183*b6fb3261SAndroid Build Coastguard Worker subsumed by `Model.fit`, `Model.evaluate`, and `Model.predict` which now 6184*b6fb3261SAndroid Build Coastguard Worker support generators and Sequences. 6185*b6fb3261SAndroid Build Coastguard Worker* `tf.lite` 6186*b6fb3261SAndroid Build Coastguard Worker * Legalization for `NMS` ops in TFLite. 6187*b6fb3261SAndroid Build Coastguard Worker * add `narrow_range` and `axis` to `quantize_v2` and `dequantize` ops. 6188*b6fb3261SAndroid Build Coastguard Worker * Added support for `FusedBatchNormV3` in converter. 6189*b6fb3261SAndroid Build Coastguard Worker * Add an `errno`-like field to `NNAPI` delegate for detecting `NNAPI` 6190*b6fb3261SAndroid Build Coastguard Worker errors for fallback behaviour. 6191*b6fb3261SAndroid Build Coastguard Worker * Refactors `NNAPI` Delegate to support detailed reason why an operation 6192*b6fb3261SAndroid Build Coastguard Worker is not accelerated. 6193*b6fb3261SAndroid Build Coastguard Worker * Converts hardswish subgraphs into atomic ops. 6194*b6fb3261SAndroid Build Coastguard Worker* Other 6195*b6fb3261SAndroid Build Coastguard Worker * Critical stability updates for TPUs, especially in cases where the XLA 6196*b6fb3261SAndroid Build Coastguard Worker compiler produces compilation errors. 6197*b6fb3261SAndroid Build Coastguard Worker * TPUs can now be re-initialized multiple times, using 6198*b6fb3261SAndroid Build Coastguard Worker `tf.tpu.experimental.initialize_tpu_system`. 6199*b6fb3261SAndroid Build Coastguard Worker * Add `RaggedTensor.merge_dims()`. 6200*b6fb3261SAndroid Build Coastguard Worker * Added new `uniform_row_length` row-partitioning tensor to 6201*b6fb3261SAndroid Build Coastguard Worker `RaggedTensor`. 6202*b6fb3261SAndroid Build Coastguard Worker * Add `shape` arg to `RaggedTensor.to_tensor`; Improve speed of 6203*b6fb3261SAndroid Build Coastguard Worker `RaggedTensor.to_tensor`. 6204*b6fb3261SAndroid Build Coastguard Worker * `tf.io.parse_sequence_example` and `tf.io.parse_single_sequence_example` 6205*b6fb3261SAndroid Build Coastguard Worker now support ragged features. 6206*b6fb3261SAndroid Build Coastguard Worker * Fix `while_v2` with variables in custom gradient. 6207*b6fb3261SAndroid Build Coastguard Worker * Support taking gradients of V2 `tf.cond` and `tf.while_loop` using 6208*b6fb3261SAndroid Build Coastguard Worker `LookupTable`. 6209*b6fb3261SAndroid Build Coastguard Worker * Fix bug where `vectorized_map` failed on inputs with unknown static 6210*b6fb3261SAndroid Build Coastguard Worker shape. 6211*b6fb3261SAndroid Build Coastguard Worker * Add preliminary support for sparse CSR matrices. 6212*b6fb3261SAndroid Build Coastguard Worker * Tensor equality with `None` now behaves as expected. 6213*b6fb3261SAndroid Build Coastguard Worker * Make calls to `tf.function(f)()`, `tf.function(f).get_concrete_function` 6214*b6fb3261SAndroid Build Coastguard Worker and `tf.function(f).get_initialization_function` thread-safe. 6215*b6fb3261SAndroid Build Coastguard Worker * Extend `tf.identity` to work with CompositeTensors (such as 6216*b6fb3261SAndroid Build Coastguard Worker SparseTensor) 6217*b6fb3261SAndroid Build Coastguard Worker * Added more `dtypes` and zero-sized inputs to `Einsum` Op and improved 6218*b6fb3261SAndroid Build Coastguard Worker its performance 6219*b6fb3261SAndroid Build Coastguard Worker * Enable multi-worker `NCCL` `all-reduce` inside functions executing 6220*b6fb3261SAndroid Build Coastguard Worker eagerly. 6221*b6fb3261SAndroid Build Coastguard Worker * Added complex128 support to `RFFT`, `RFFT2D`, `RFFT3D`, `IRFFT`, 6222*b6fb3261SAndroid Build Coastguard Worker `IRFFT2D`, and `IRFFT3D`. 6223*b6fb3261SAndroid Build Coastguard Worker * Add `pfor` converter for `SelfAdjointEigV2`. 6224*b6fb3261SAndroid Build Coastguard Worker * Add `tf.math.ndtri` and `tf.math.erfinv`. 6225*b6fb3261SAndroid Build Coastguard Worker * Add `tf.config.experimental.enable_mlir_bridge` to allow using MLIR 6226*b6fb3261SAndroid Build Coastguard Worker compiler bridge in eager model. 6227*b6fb3261SAndroid Build Coastguard Worker * Added support for MatrixSolve on Cloud TPU / XLA. 6228*b6fb3261SAndroid Build Coastguard Worker * Added `tf.autodiff.ForwardAccumulator` for forward-mode autodiff 6229*b6fb3261SAndroid Build Coastguard Worker * Add `LinearOperatorPermutation`. 6230*b6fb3261SAndroid Build Coastguard Worker * A few performance optimizations on `tf.reduce_logsumexp`. 6231*b6fb3261SAndroid Build Coastguard Worker * Added multilabel handling to `AUC` metric 6232*b6fb3261SAndroid Build Coastguard Worker * Optimization on `zeros_like`. 6233*b6fb3261SAndroid Build Coastguard Worker * Dimension constructor now requires `None` or types with an `__index__` 6234*b6fb3261SAndroid Build Coastguard Worker method. 6235*b6fb3261SAndroid Build Coastguard Worker * Add `tf.random.uniform` microbenchmark. 6236*b6fb3261SAndroid Build Coastguard Worker * Use `_protogen` suffix for proto library targets instead of 6237*b6fb3261SAndroid Build Coastguard Worker `_cc_protogen` suffix. 6238*b6fb3261SAndroid Build Coastguard Worker * Moving the checkpoint reader from `swig` to `pybind11`. 6239*b6fb3261SAndroid Build Coastguard Worker * `tf.device` & `MirroredStrategy` now supports passing in a 6240*b6fb3261SAndroid Build Coastguard Worker `tf.config.LogicalDevice` 6241*b6fb3261SAndroid Build Coastguard Worker * If you're building Tensorflow from source, consider using 6242*b6fb3261SAndroid Build Coastguard Worker [bazelisk](https://github.com/bazelbuild/bazelisk) to automatically 6243*b6fb3261SAndroid Build Coastguard Worker download and use the correct Bazel version. Bazelisk reads the 6244*b6fb3261SAndroid Build Coastguard Worker `.bazelversion` file at the root of the project directory. 6245*b6fb3261SAndroid Build Coastguard Worker 6246*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors 6247*b6fb3261SAndroid Build Coastguard Worker 6248*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as: 6249*b6fb3261SAndroid Build Coastguard Worker 6250*b6fb3261SAndroid Build Coastguard Worker8bitmp3, Aaron Ma, AbdüLhamit Yilmaz, Abhai Kollara, aflc, Ag Ramesh, Albert Z. 6251*b6fb3261SAndroid Build Coastguard WorkerGuo, Alex Torres, amoitra, Andrii Prymostka, angeliand, Anshuman Tripathy, 6252*b6fb3261SAndroid Build Coastguard WorkerAnthony Barbier, Anton Kachatkou, Anubh-V, Anuja Jakhade, Artem Ryabov, autoih, 6253*b6fb3261SAndroid Build Coastguard WorkerBairen Yi, Bas Aarts, Basit Ayantunde, Ben Barsdell, Bhavani Subramanian, Brett 6254*b6fb3261SAndroid Build Coastguard WorkerKoonce, candy.dc, Captain-Pool, caster, cathy, Chong Yan, Choong Yin Thong, 6255*b6fb3261SAndroid Build Coastguard WorkerClayne Robison, Colle, Dan Ganea, David Norman, David Refaeli, dengziming, Diego 6256*b6fb3261SAndroid Build Coastguard WorkerCaballero, Divyanshu, djshen, Douman, Duncan Riach, EFanZh, Elena Zhelezina, 6257*b6fb3261SAndroid Build Coastguard WorkerEric Schweitz, Evgenii Zheltonozhskii, Fei Hu, fo40225, Fred Reiss, Frederic 6258*b6fb3261SAndroid Build Coastguard WorkerBastien, Fredrik Knutsson, fsx950223, fwcore, George Grzegorz Pawelczak, George 6259*b6fb3261SAndroid Build Coastguard WorkerSterpu, Gian Marco Iodice, Giorgio Arena, giuros01, Gomathi Ramamurthy, Guozhong 6260*b6fb3261SAndroid Build Coastguard WorkerZhuang, Haifeng Jin, Haoyu Wu, HarikrishnanBalagopal, HJYOO, Huang Chen-Yi, 6261*b6fb3261SAndroid Build Coastguard WorkerIlham Firdausi Putra, Imran Salam, Jared Nielsen, Jason Zaman, Jasper Vicenti, 6262*b6fb3261SAndroid Build Coastguard WorkerJeff Daily, Jeff Poznanovic, Jens Elofsson, Jerry Shih, jerryyin, Jesper 6263*b6fb3261SAndroid Build Coastguard WorkerDramsch, jim.meyer, Jongwon Lee, Jun Wan, Junyuan Xie, Kaixi Hou, kamalkraj, Kan 6264*b6fb3261SAndroid Build Coastguard WorkerChen, Karthik Muthuraman, Keiji Ariyama, Kevin Rose, Kevin Wang, Koan-Sin Tan, 6265*b6fb3261SAndroid Build Coastguard Workerkstuedem, Kwabena W. Agyeman, Lakshay Tokas, latyas, Leslie-Fang-Intel, Li, 6266*b6fb3261SAndroid Build Coastguard WorkerGuizi, Luciano Resende, Lukas Folle, Lukas Geiger, Mahmoud Abuzaina, Manuel 6267*b6fb3261SAndroid Build Coastguard WorkerFreiberger, Mark Ryan, Martin Mlostek, Masaki Kozuki, Matthew Bentham, Matthew 6268*b6fb3261SAndroid Build Coastguard WorkerDenton, mbhuiyan, mdfaijul, Muhwan Kim, Nagy Mostafa, nammbash, Nathan Luehr, 6269*b6fb3261SAndroid Build Coastguard WorkerNathan Wells, Niranjan Hasabnis, Oleksii Volkovskyi, Olivier Moindrot, olramde, 6270*b6fb3261SAndroid Build Coastguard WorkerOuyang Jin, OverLordGoldDragon, Pallavi G, Paul Andrey, Paul Wais, pkanwar23, 6271*b6fb3261SAndroid Build Coastguard WorkerPooya Davoodi, Prabindh Sundareson, Rajeshwar Reddy T, Ralovich, Kristof, 6272*b6fb3261SAndroid Build Coastguard WorkerRefraction-Ray, Richard Barnes, richardbrks, Robert Herbig, Romeo Kienzler, Ryan 6273*b6fb3261SAndroid Build Coastguard WorkerMccormick, saishruthi, Saket Khandelwal, Sami Kama, Sana Damani, Satoshi Tanaka, 6274*b6fb3261SAndroid Build Coastguard WorkerSergey Mironov, Sergii Khomenko, Shahid, Shawn Presser, ShengYang1, Siddhartha 6275*b6fb3261SAndroid Build Coastguard WorkerBagaria, Simon Plovyt, skeydan, srinivasan.narayanamoorthy, Stephen Mugisha, 6276*b6fb3261SAndroid Build Coastguard Workersunway513, Takeshi Watanabe, Taylor Jakobson, TengLu, TheMindVirus, ThisIsIsaac, 6277*b6fb3261SAndroid Build Coastguard WorkerTim Gates, Timothy Liu, Tomer Gafner, Trent Lo, Trevor Hickey, Trevor Morris, 6278*b6fb3261SAndroid Build Coastguard Workervcarpani, Wei Wang, Wen-Heng (Jack) Chung, wenshuai, Wenshuai-Xiaomi, wenxizhu, 6279*b6fb3261SAndroid Build Coastguard Workerwilliam, William D. Irons, Xinan Jiang, Yannic, Yasir Modak, Yasuhiro Matsumoto, 6280*b6fb3261SAndroid Build Coastguard WorkerYong Tang, Yongfeng Gu, Youwei Song, Zaccharie Ramzi, Zhang, Zhenyu Guo, 王振华 6281*b6fb3261SAndroid Build Coastguard Worker(Zhenhua Wang), 韩董, 이중건 Isaac Lee 6282*b6fb3261SAndroid Build Coastguard Worker 6283*b6fb3261SAndroid Build Coastguard Worker# Release 1.15.0 6284*b6fb3261SAndroid Build Coastguard Worker 6285*b6fb3261SAndroid Build Coastguard WorkerThis is the last 1.x release for TensorFlow. We do not expect to update the 1.x 6286*b6fb3261SAndroid Build Coastguard Workerbranch with features, although we will issue patch releases to fix 6287*b6fb3261SAndroid Build Coastguard Workervulnerabilities for at least one year. 6288*b6fb3261SAndroid Build Coastguard Worker 6289*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements 6290*b6fb3261SAndroid Build Coastguard Worker 6291*b6fb3261SAndroid Build Coastguard Worker* As 6292*b6fb3261SAndroid Build Coastguard Worker [announced](https://groups.google.com/a/tensorflow.org/forum/#!topic/developers/iRCt5m4qUz0), 6293*b6fb3261SAndroid Build Coastguard Worker `tensorflow` pip package will by default include GPU support (same as 6294*b6fb3261SAndroid Build Coastguard Worker `tensorflow-gpu` now) for the platforms we currently have GPU support (Linux 6295*b6fb3261SAndroid Build Coastguard Worker and Windows). It will work on machines with and without Nvidia GPUs. 6296*b6fb3261SAndroid Build Coastguard Worker `tensorflow-gpu` will still be available, and CPU-only packages can be 6297*b6fb3261SAndroid Build Coastguard Worker downloaded at `tensorflow-cpu` for users who are concerned about package 6298*b6fb3261SAndroid Build Coastguard Worker size. 6299*b6fb3261SAndroid Build Coastguard Worker* TensorFlow 1.15 contains a complete implementation of the 2.0 API in its 6300*b6fb3261SAndroid Build Coastguard Worker `compat.v2` module. It contains a copy of the 1.15 main module (without 6301*b6fb3261SAndroid Build Coastguard Worker `contrib`) in the `compat.v1` module. TensorFlow 1.15 is able to emulate 2.0 6302*b6fb3261SAndroid Build Coastguard Worker behavior using the `enable_v2_behavior()` function. This enables writing 6303*b6fb3261SAndroid Build Coastguard Worker forward compatible code: by explicitly importing either 6304*b6fb3261SAndroid Build Coastguard Worker `tensorflow.compat.v1` or `tensorflow.compat.v2`, you can ensure that your 6305*b6fb3261SAndroid Build Coastguard Worker code works without modifications against an installation of 1.15 or 2.0. 6306*b6fb3261SAndroid Build Coastguard Worker* EagerTensor now supports numpy buffer interface for tensors. 6307*b6fb3261SAndroid Build Coastguard Worker* Add toggles `tf.enable_control_flow_v2()` and `tf.disable_control_flow_v2()` 6308*b6fb3261SAndroid Build Coastguard Worker for enabling/disabling v2 control flow. 6309*b6fb3261SAndroid Build Coastguard Worker* Enable v2 control flow as part of `tf.enable_v2_behavior()` and 6310*b6fb3261SAndroid Build Coastguard Worker `TF2_BEHAVIOR=1`. 6311*b6fb3261SAndroid Build Coastguard Worker* AutoGraph translates Python control flow into TensorFlow expressions, 6312*b6fb3261SAndroid Build Coastguard Worker allowing users to write regular Python inside `tf.function`-decorated 6313*b6fb3261SAndroid Build Coastguard Worker functions. AutoGraph is also applied in functions used with `tf.data`, 6314*b6fb3261SAndroid Build Coastguard Worker `tf.distribute` and `tf.keras` APIS. 6315*b6fb3261SAndroid Build Coastguard Worker* Adds `enable_tensor_equality()`, which switches the behavior such that: 6316*b6fb3261SAndroid Build Coastguard Worker * Tensors are no longer hashable. 6317*b6fb3261SAndroid Build Coastguard Worker * Tensors can be compared with `==` and `!=`, yielding a Boolean Tensor 6318*b6fb3261SAndroid Build Coastguard Worker with element-wise comparison results. This will be the default behavior 6319*b6fb3261SAndroid Build Coastguard Worker in 2.0. 6320*b6fb3261SAndroid Build Coastguard Worker 6321*b6fb3261SAndroid Build Coastguard Worker## Breaking Changes 6322*b6fb3261SAndroid Build Coastguard Worker 6323*b6fb3261SAndroid Build Coastguard Worker* Tensorflow code now produces 2 different pip packages: `tensorflow_core` 6324*b6fb3261SAndroid Build Coastguard Worker containing all the code (in the future it will contain only the private 6325*b6fb3261SAndroid Build Coastguard Worker implementation) and `tensorflow` which is a virtual pip package doing 6326*b6fb3261SAndroid Build Coastguard Worker forwarding to `tensorflow_core` (and in the future will contain only the 6327*b6fb3261SAndroid Build Coastguard Worker public API of tensorflow). We don't expect this to be breaking, unless you 6328*b6fb3261SAndroid Build Coastguard Worker were importing directly from the implementation. 6329*b6fb3261SAndroid Build Coastguard Worker* TensorFlow 1.15 is built using devtoolset7 (GCC7) on Ubuntu 16. This may 6330*b6fb3261SAndroid Build Coastguard Worker lead to ABI incompatibilities with extensions built against earlier versions 6331*b6fb3261SAndroid Build Coastguard Worker of TensorFlow. 6332*b6fb3261SAndroid Build Coastguard Worker* Deprecated the use of `constraint=` and `.constraint` with ResourceVariable. 6333*b6fb3261SAndroid Build Coastguard Worker* `tf.keras`: 6334*b6fb3261SAndroid Build Coastguard Worker * `OMP_NUM_THREADS` is no longer used by the default Keras config. To 6335*b6fb3261SAndroid Build Coastguard Worker configure the number of threads, use `tf.config.threading` APIs. 6336*b6fb3261SAndroid Build Coastguard Worker * `tf.keras.model.save_model` and `model.save` now defaults to saving a 6337*b6fb3261SAndroid Build Coastguard Worker TensorFlow SavedModel. 6338*b6fb3261SAndroid Build Coastguard Worker * `keras.backend.resize_images` (and consequently, 6339*b6fb3261SAndroid Build Coastguard Worker `keras.layers.Upsampling2D`) behavior has changed, a bug in the resizing 6340*b6fb3261SAndroid Build Coastguard Worker implementation was fixed. 6341*b6fb3261SAndroid Build Coastguard Worker * Layers now default to `float32`, and automatically cast their inputs to 6342*b6fb3261SAndroid Build Coastguard Worker the layer's dtype. If you had a model that used `float64`, it will 6343*b6fb3261SAndroid Build Coastguard Worker probably silently use `float32` in TensorFlow2, and a warning will be 6344*b6fb3261SAndroid Build Coastguard Worker issued that starts with Layer "layer-name" is casting an input tensor 6345*b6fb3261SAndroid Build Coastguard Worker from dtype float64 to the layer's dtype of float32. To fix, either set 6346*b6fb3261SAndroid Build Coastguard Worker the default dtype to float64 with 6347*b6fb3261SAndroid Build Coastguard Worker `tf.keras.backend.set_floatx('float64')`, or pass `dtype='float64'` to 6348*b6fb3261SAndroid Build Coastguard Worker each of the Layer constructors. See `tf.keras.layers.Layer` for more 6349*b6fb3261SAndroid Build Coastguard Worker information. 6350*b6fb3261SAndroid Build Coastguard Worker * Some `tf.assert_*` methods now raise assertions at operation creation 6351*b6fb3261SAndroid Build Coastguard Worker time (i.e. when this Python line executes) if the input tensors' values 6352*b6fb3261SAndroid Build Coastguard Worker are known at that time, not during the session.run(). When this happens, 6353*b6fb3261SAndroid Build Coastguard Worker a noop is returned and the input tensors are marked non-feedable. In 6354*b6fb3261SAndroid Build Coastguard Worker other words, if they are used as keys in `feed_dict` argument to 6355*b6fb3261SAndroid Build Coastguard Worker `session.run()`, an error will be raised. Also, because some assert ops 6356*b6fb3261SAndroid Build Coastguard Worker don't make it into the graph, the graph structure changes. A different 6357*b6fb3261SAndroid Build Coastguard Worker graph can result in different per-op random seeds when they are not 6358*b6fb3261SAndroid Build Coastguard Worker given explicitly (most often). 6359*b6fb3261SAndroid Build Coastguard Worker 6360*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 6361*b6fb3261SAndroid Build Coastguard Worker 6362*b6fb3261SAndroid Build Coastguard Worker* `tf.estimator`: 6363*b6fb3261SAndroid Build Coastguard Worker * `tf.keras.estimator.model_to_estimator` now supports exporting to 6364*b6fb3261SAndroid Build Coastguard Worker `tf.train.Checkpoint` format, which allows the saved checkpoints to be 6365*b6fb3261SAndroid Build Coastguard Worker compatible with `model.load_weights`. 6366*b6fb3261SAndroid Build Coastguard Worker * Fix tests in canned estimators. 6367*b6fb3261SAndroid Build Coastguard Worker * Expose Head as public API. 6368*b6fb3261SAndroid Build Coastguard Worker * Fixes critical bugs that help with `DenseFeatures` usability in TF2 6369*b6fb3261SAndroid Build Coastguard Worker* `tf.data`: 6370*b6fb3261SAndroid Build Coastguard Worker * Promoting `unbatch` from experimental to core API. 6371*b6fb3261SAndroid Build Coastguard Worker * Adding support for datasets as inputs to `from_tensors` and 6372*b6fb3261SAndroid Build Coastguard Worker `from_tensor_slices` and batching and unbatching of nested datasets. 6373*b6fb3261SAndroid Build Coastguard Worker* `tf.keras`: 6374*b6fb3261SAndroid Build Coastguard Worker * `tf.keras.estimator.model_to_estimator` now supports exporting to 6375*b6fb3261SAndroid Build Coastguard Worker tf.train.Checkpoint format, which allows the saved checkpoints to be 6376*b6fb3261SAndroid Build Coastguard Worker compatible with `model.load_weights`. 6377*b6fb3261SAndroid Build Coastguard Worker * Saving a Keras Model using `tf.saved_model.save` now saves the list of 6378*b6fb3261SAndroid Build Coastguard Worker variables, trainable variables, regularization losses, and the call 6379*b6fb3261SAndroid Build Coastguard Worker function. 6380*b6fb3261SAndroid Build Coastguard Worker * Deprecated `tf.keras.experimental.export_saved_model` and 6381*b6fb3261SAndroid Build Coastguard Worker `tf.keras.experimental.function`. Please use 6382*b6fb3261SAndroid Build Coastguard Worker `tf.keras.models.save_model(..., save_format='tf')` and 6383*b6fb3261SAndroid Build Coastguard Worker `tf.keras.models.load_model` instead. 6384*b6fb3261SAndroid Build Coastguard Worker * Add an `implementation=3` mode for `tf.keras.layers.LocallyConnected2D` 6385*b6fb3261SAndroid Build Coastguard Worker and `tf.keras.layers.LocallyConnected1D` layers using `tf.SparseTensor` 6386*b6fb3261SAndroid Build Coastguard Worker to store weights, allowing a dramatic speedup for large sparse models. 6387*b6fb3261SAndroid Build Coastguard Worker * Enable the Keras compile API `experimental_run_tf_function` flag by 6388*b6fb3261SAndroid Build Coastguard Worker default. This flag enables single training/eval/predict execution path. 6389*b6fb3261SAndroid Build Coastguard Worker With this 1. All input types are converted to `Dataset`. 2. When 6390*b6fb3261SAndroid Build Coastguard Worker distribution strategy is not specified this goes through the no-op 6391*b6fb3261SAndroid Build Coastguard Worker distribution strategy path. 3. Execution is wrapped in tf.function 6392*b6fb3261SAndroid Build Coastguard Worker unless `run_eagerly=True` is set in compile. 6393*b6fb3261SAndroid Build Coastguard Worker * Raise error if `batch_size` argument is used when input is 6394*b6fb3261SAndroid Build Coastguard Worker dataset/generator/keras sequence. 6395*b6fb3261SAndroid Build Coastguard Worker* `tf.lite` 6396*b6fb3261SAndroid Build Coastguard Worker * Add `GATHER` support to NN API delegate. 6397*b6fb3261SAndroid Build Coastguard Worker * tflite object detection script has a debug mode. 6398*b6fb3261SAndroid Build Coastguard Worker * Add delegate support for `QUANTIZE`. 6399*b6fb3261SAndroid Build Coastguard Worker * Added evaluation script for COCO minival. 6400*b6fb3261SAndroid Build Coastguard Worker * Add delegate support for `QUANTIZED_16BIT_LSTM`. 6401*b6fb3261SAndroid Build Coastguard Worker * Converts hardswish subgraphs into atomic ops. 6402*b6fb3261SAndroid Build Coastguard Worker* Add support for defaulting the value of `cycle_length` argument of 6403*b6fb3261SAndroid Build Coastguard Worker `tf.data.Dataset.interleave` to the number of schedulable CPU cores. 6404*b6fb3261SAndroid Build Coastguard Worker* `parallel_for`: Add converter for `MatrixDiag`. 6405*b6fb3261SAndroid Build Coastguard Worker* Add `narrow_range` attribute to `QuantizeAndDequantizeV2` and V3. 6406*b6fb3261SAndroid Build Coastguard Worker* Added new op: `tf.strings.unsorted_segment_join`. 6407*b6fb3261SAndroid Build Coastguard Worker* Add HW acceleration support for `topK_v2`. 6408*b6fb3261SAndroid Build Coastguard Worker* Add new `TypeSpec` classes. 6409*b6fb3261SAndroid Build Coastguard Worker* CloudBigtable version updated to v0.10.0. 6410*b6fb3261SAndroid Build Coastguard Worker* Expose `Head` as public API. 6411*b6fb3261SAndroid Build Coastguard Worker* Update docstring for gather to properly describe the non-empty `batch_dims` 6412*b6fb3261SAndroid Build Coastguard Worker case. 6413*b6fb3261SAndroid Build Coastguard Worker* Added `tf.sparse.from_dense` utility function. 6414*b6fb3261SAndroid Build Coastguard Worker* Improved ragged tensor support in `TensorFlowTestCase`. 6415*b6fb3261SAndroid Build Coastguard Worker* Makes the a-normal form transformation in Pyct configurable as to which 6416*b6fb3261SAndroid Build Coastguard Worker nodes are converted to variables and which are not. 6417*b6fb3261SAndroid Build Coastguard Worker* `ResizeInputTensor` now works for all delegates. 6418*b6fb3261SAndroid Build Coastguard Worker* Add `EXPAND_DIMS` support to NN API delegate TEST: expand_dims_test 6419*b6fb3261SAndroid Build Coastguard Worker* `tf.cond` emits a StatelessIf op if the branch functions are stateless and 6420*b6fb3261SAndroid Build Coastguard Worker do not touch any resources. 6421*b6fb3261SAndroid Build Coastguard Worker* `tf.cond`, `tf.while` and `if` and `while` in AutoGraph now accept a 6422*b6fb3261SAndroid Build Coastguard Worker nonscalar predicate if has a single element. This does not affect non-V2 6423*b6fb3261SAndroid Build Coastguard Worker control flow. 6424*b6fb3261SAndroid Build Coastguard Worker* `tf.while_loop` emits a StatelessWhile op if the cond and body functions are 6425*b6fb3261SAndroid Build Coastguard Worker stateless and do not touch any resources. 6426*b6fb3261SAndroid Build Coastguard Worker* Refactors code in Quant8 LSTM support to reduce TFLite binary size. 6427*b6fb3261SAndroid Build Coastguard Worker* Add support of local soft device placement for eager op. 6428*b6fb3261SAndroid Build Coastguard Worker* Add HW acceleration support for `LogSoftMax`. 6429*b6fb3261SAndroid Build Coastguard Worker* Added a function `nested_value_rowids` for ragged tensors. 6430*b6fb3261SAndroid Build Coastguard Worker* Add guard to avoid acceleration of L2 Normalization with input rank != 4 6431*b6fb3261SAndroid Build Coastguard Worker* Add `tf.math.cumulative_logsumexp operation`. 6432*b6fb3261SAndroid Build Coastguard Worker* Add `tf.ragged.stack`. 6433*b6fb3261SAndroid Build Coastguard Worker* Fix memory allocation problem when calling `AddNewInputConstantTensor`. 6434*b6fb3261SAndroid Build Coastguard Worker* Delegate application failure leaves interpreter in valid state. 6435*b6fb3261SAndroid Build Coastguard Worker* Add check for correct memory alignment to 6436*b6fb3261SAndroid Build Coastguard Worker `MemoryAllocation::MemoryAllocation()`. 6437*b6fb3261SAndroid Build Coastguard Worker* Extracts `NNAPIDelegateKernel` from nnapi_delegate.cc 6438*b6fb3261SAndroid Build Coastguard Worker* Added support for `FusedBatchNormV3` in converter. 6439*b6fb3261SAndroid Build Coastguard Worker* A ragged to dense op for directly calculating tensors. 6440*b6fb3261SAndroid Build Coastguard Worker* Fix accidental quadratic graph construction cost in graph-mode 6441*b6fb3261SAndroid Build Coastguard Worker `tf.gradients()`. 6442*b6fb3261SAndroid Build Coastguard Worker 6443*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors 6444*b6fb3261SAndroid Build Coastguard Worker 6445*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as: 6446*b6fb3261SAndroid Build Coastguard Worker 6447*b6fb3261SAndroid Build Coastguard Workera6802739, Aaron Ma, Abdullah Selek, Abolfazl Shahbazi, Ag Ramesh, Albert Z. Guo, 6448*b6fb3261SAndroid Build Coastguard WorkerAlbin Joy, Alex Itkes, Alex Sergeev, Alexander Pivovarov, Alexey Romanov, 6449*b6fb3261SAndroid Build Coastguard Workeralhkad, Amit Srivastava, amoitra, Andrew Lihonosov, Andrii Prymostka, Anuj 6450*b6fb3261SAndroid Build Coastguard WorkerRawat, Astropeak, Ayush Agrawal, Bairen Yi, Bas Aarts, Bastian Eichenberger, Ben 6451*b6fb3261SAndroid Build Coastguard WorkerBarsdell, Benjamin Peterson, bhack, Bharat Raghunathan, Bhavani Subramanian, 6452*b6fb3261SAndroid Build Coastguard WorkerBryan Cutler, candy.dc, Cao Zongyan, Captain-Pool, Casper Da Costa-Luis, Chen 6453*b6fb3261SAndroid Build Coastguard WorkerGuoyin, Cheng Chang, chengchingwen, Chong Yan, Choong Yin Thong, Christopher 6454*b6fb3261SAndroid Build Coastguard WorkerYeh, Clayne Robison, Coady, Patrick, Dan Ganea, David Norman, Denis Khalikov, 6455*b6fb3261SAndroid Build Coastguard WorkerDeven Desai, Diego Caballero, Duncan Dean, Duncan Riach, Dwight J Lyle, Eamon 6456*b6fb3261SAndroid Build Coastguard WorkerIto-Fisher, eashtian3, EFanZh, ejot, Elroy Ashtian Jr, Eric Schweitz, Fangjun 6457*b6fb3261SAndroid Build Coastguard WorkerKuang, Fei Hu, fo40225, formath, Fred Reiss, Frederic Bastien, Fredrik Knutsson, 6458*b6fb3261SAndroid Build Coastguard WorkerG. Hussain Chinoy, Gabriel, gehring, George Grzegorz Pawelczak, Gianluca 6459*b6fb3261SAndroid Build Coastguard WorkerVarisco, Gleb Popov, Greg Peatfield, Guillaume Klein, Gurpreet Singh, Gustavo 6460*b6fb3261SAndroid Build Coastguard WorkerLima Chaves, haison, Haraldur TóMas HallgríMsson, HarikrishnanBalagopal, HåKon 6461*b6fb3261SAndroid Build Coastguard WorkerSandsmark, I-Hong, Ilham Firdausi Putra, Imran Salam, Jason Zaman, Jason 6462*b6fb3261SAndroid Build Coastguard WorkerZavaglia, jayhpark530, jefby, Jeff Daily, Jeffrey Poznanovic, Jekyll Lai, Jeroen 6463*b6fb3261SAndroid Build Coastguard WorkerBéDorf, Jerry Shih, jerryyin, jiakai, JiangXIAO, Joe Bowser, Joel Shapiro, Johan 6464*b6fb3261SAndroid Build Coastguard WorkerGunnarsson, Jojimon Varghese, Joon, Josh Beal, Julian Niedermeier, Jun Wan, 6465*b6fb3261SAndroid Build Coastguard WorkerJunqin Zhang, Junyuan Xie, Justin Tunis, Kaixi Hou, Karl Lessard, Karthik 6466*b6fb3261SAndroid Build Coastguard WorkerMuthuraman, Kbhute-Ibm, khanhlvg, Koock Yoon, kstuedem, Kyuwon Kim, Lakshay 6467*b6fb3261SAndroid Build Coastguard WorkerTokas, leike666666, leonard951, Leslie-Fang, Leslie-Fang-Intel, Li, Guizi, Lukas 6468*b6fb3261SAndroid Build Coastguard WorkerFolle, Lukas Geiger, Mahmoud Abuzaina, Manraj Singh Grover, Margaret 6469*b6fb3261SAndroid Build Coastguard WorkerMaynard-Reid, Mark Ryan, Matt Conley, Matthew Bentham, Matthew Denton, mbhuiyan, 6470*b6fb3261SAndroid Build Coastguard Workermdfaijul, Mei Jie, merturl, MichaelKonobeev, Michal W. Tarnowski, minds, mpppk, 6471*b6fb3261SAndroid Build Coastguard Workermusikisomorphie, Nagy Mostafa, Nayana Thorat, Neil, Niels Ole Salscheider, 6472*b6fb3261SAndroid Build Coastguard WorkerNiklas SilfverströM, Niranjan Hasabnis, ocjosen, olramde, Pariksheet Pinjari, 6473*b6fb3261SAndroid Build Coastguard WorkerPatrick J. Lopresti, Patrik Gustavsson, per1234, PeterLee, Phan Van Nguyen Duc, 6474*b6fb3261SAndroid Build Coastguard WorkerPhillip Kravtsov, Pooya Davoodi, Pranav Marathe, Putra Manggala, Qingqing Cao, 6475*b6fb3261SAndroid Build Coastguard WorkerRajeshwar Reddy T, Ramon ViñAs, Rasmus Diederichsen, Reuben Morais, richardbrks, 6476*b6fb3261SAndroid Build Coastguard Workerrobert, RonLek, Ryan Jiang, saishruthi, Saket Khandelwal, Saleem Abdulrasool, 6477*b6fb3261SAndroid Build Coastguard WorkerSami Kama, Sana-Damani, Sergii Khomenko, Severen Redwood, Shubham Goyal, Sigrid 6478*b6fb3261SAndroid Build Coastguard WorkerKeydana, Siju Samuel, sleighsoft, smilu97, Son Tran, Srini511, 6479*b6fb3261SAndroid Build Coastguard Workersrinivasan.narayanamoorthy, Sumesh Udayakumaran, Sungmann Cho, Tae-Hwan Jung, 6480*b6fb3261SAndroid Build Coastguard WorkerTaehoon Lee, Takeshi Watanabe, TengLu, terryky, TheMindVirus, ThisIsIsaac, Till 6481*b6fb3261SAndroid Build Coastguard WorkerHoffmann, Timothy Liu, Tomer Gafner, Tongxuan Liu, Trent Lo, Trevor Morris, Uday 6482*b6fb3261SAndroid Build Coastguard WorkerBondhugula, Vasileios Lioutas, vbvg2008, Vishnuvardhan Janapati, Vivek 6483*b6fb3261SAndroid Build Coastguard WorkerSuryamurthy, Wei Wang, Wen-Heng (Jack) Chung, wenxizhu, William D. Irons, 6484*b6fb3261SAndroid Build Coastguard Workerwinstonq, wyzhao, Xiaoming (Jason) Cui, Xinan Jiang, Xinping Wang, Yann-Yy, 6485*b6fb3261SAndroid Build Coastguard WorkerYasir Modak, Yong Tang, Yongfeng Gu, Yuchen Ying, Yuxin Wu, zyeric, 王振华 (Zhenhua 6486*b6fb3261SAndroid Build Coastguard WorkerWang) 6487*b6fb3261SAndroid Build Coastguard Worker 6488*b6fb3261SAndroid Build Coastguard Worker# Release 2.0.0 6489*b6fb3261SAndroid Build Coastguard Worker 6490*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements 6491*b6fb3261SAndroid Build Coastguard Worker 6492*b6fb3261SAndroid Build Coastguard WorkerTensorFlow 2.0 focuses on **simplicity** and **ease of use**, featuring updates 6493*b6fb3261SAndroid Build Coastguard Workerlike: 6494*b6fb3261SAndroid Build Coastguard Worker 6495*b6fb3261SAndroid Build Coastguard Worker* Easy model building with Keras and eager execution. 6496*b6fb3261SAndroid Build Coastguard Worker* Robust model deployment in production on any platform. 6497*b6fb3261SAndroid Build Coastguard Worker* Powerful experimentation for research. 6498*b6fb3261SAndroid Build Coastguard Worker* API simplification by reducing duplication and removing deprecated 6499*b6fb3261SAndroid Build Coastguard Worker endpoints. 6500*b6fb3261SAndroid Build Coastguard Worker 6501*b6fb3261SAndroid Build Coastguard WorkerFor details on best practices with 2.0, see 6502*b6fb3261SAndroid Build Coastguard Worker[the Effective 2.0 guide](https://www.tensorflow.org/beta/guide/effective_tf2) 6503*b6fb3261SAndroid Build Coastguard Worker 6504*b6fb3261SAndroid Build Coastguard WorkerFor information on upgrading your existing TensorFlow 1.x models, please refer 6505*b6fb3261SAndroid Build Coastguard Workerto our 6506*b6fb3261SAndroid Build Coastguard Worker[Upgrade](https://medium.com/tensorflow/upgrading-your-code-to-tensorflow-2-0-f72c3a4d83b5) 6507*b6fb3261SAndroid Build Coastguard Workerand [Migration](https://www.tensorflow.org/beta/guide/migration_guide) guides. 6508*b6fb3261SAndroid Build Coastguard WorkerWe have also released a collection of 6509*b6fb3261SAndroid Build Coastguard Worker[tutorials and getting started guides](https://www.tensorflow.org/beta). 6510*b6fb3261SAndroid Build Coastguard Worker 6511*b6fb3261SAndroid Build Coastguard Worker## Highlights 6512*b6fb3261SAndroid Build Coastguard Worker 6513*b6fb3261SAndroid Build Coastguard Worker* TF 2.0 delivers Keras as the central high level API used to build and train 6514*b6fb3261SAndroid Build Coastguard Worker models. Keras provides several model-building APIs such as Sequential, 6515*b6fb3261SAndroid Build Coastguard Worker Functional, and Subclassing along with eager execution, for immediate 6516*b6fb3261SAndroid Build Coastguard Worker iteration and intuitive debugging, and `tf.data`, for building scalable 6517*b6fb3261SAndroid Build Coastguard Worker input pipelines. Checkout 6518*b6fb3261SAndroid Build Coastguard Worker [guide](https://www.tensorflow.org/beta/guide/keras/overview) for additional 6519*b6fb3261SAndroid Build Coastguard Worker details. 6520*b6fb3261SAndroid Build Coastguard Worker* Distribution Strategy: TF 2.0 users will be able to use the 6521*b6fb3261SAndroid Build Coastguard Worker [`tf.distribute.Strategy`](https://www.tensorflow.org/beta/guide/distribute_strategy) 6522*b6fb3261SAndroid Build Coastguard Worker API to distribute training with minimal code changes, yielding great 6523*b6fb3261SAndroid Build Coastguard Worker out-of-the-box performance. It supports distributed training with Keras 6524*b6fb3261SAndroid Build Coastguard Worker model.fit, as well as with custom training loops. Multi-GPU support is 6525*b6fb3261SAndroid Build Coastguard Worker available, along with experimental support for multi worker and Cloud TPUs. 6526*b6fb3261SAndroid Build Coastguard Worker Check out the 6527*b6fb3261SAndroid Build Coastguard Worker [guide](https://www.tensorflow.org/beta/guide/distribute_strategy) for more 6528*b6fb3261SAndroid Build Coastguard Worker details. 6529*b6fb3261SAndroid Build Coastguard Worker* Functions, not Sessions. The traditional declarative programming model of 6530*b6fb3261SAndroid Build Coastguard Worker building a graph and executing it via a `tf.Session` is discouraged, and 6531*b6fb3261SAndroid Build Coastguard Worker replaced with by writing regular Python functions. Using the `tf.function` 6532*b6fb3261SAndroid Build Coastguard Worker decorator, such functions can be turned into graphs which can be executed 6533*b6fb3261SAndroid Build Coastguard Worker remotely, serialized, and optimized for performance. 6534*b6fb3261SAndroid Build Coastguard Worker* Unification of `tf.train.Optimizers` and `tf.keras.Optimizers`. Use 6535*b6fb3261SAndroid Build Coastguard Worker `tf.keras.Optimizers` for TF2.0. `compute_gradients` is removed as public 6536*b6fb3261SAndroid Build Coastguard Worker API, use `GradientTape` to compute gradients. 6537*b6fb3261SAndroid Build Coastguard Worker* AutoGraph translates Python control flow into TensorFlow expressions, 6538*b6fb3261SAndroid Build Coastguard Worker allowing users to write regular Python inside `tf.function`-decorated 6539*b6fb3261SAndroid Build Coastguard Worker functions. AutoGraph is also applied in functions used with tf.data, 6540*b6fb3261SAndroid Build Coastguard Worker tf.distribute and tf.keras APIs. 6541*b6fb3261SAndroid Build Coastguard Worker* Unification of exchange formats to SavedModel. All TensorFlow ecosystem 6542*b6fb3261SAndroid Build Coastguard Worker projects (TensorFlow Lite, TensorFlow JS, TensorFlow Serving, TensorFlow 6543*b6fb3261SAndroid Build Coastguard Worker Hub) accept SavedModels. Model state should be saved to and restored from 6544*b6fb3261SAndroid Build Coastguard Worker SavedModels. 6545*b6fb3261SAndroid Build Coastguard Worker* API Changes: Many API symbols have been renamed or removed, and argument 6546*b6fb3261SAndroid Build Coastguard Worker names have changed. Many of these changes are motivated by consistency and 6547*b6fb3261SAndroid Build Coastguard Worker clarity. The 1.x API remains available in the compat.v1 module. A list of 6548*b6fb3261SAndroid Build Coastguard Worker all symbol changes can be found 6549*b6fb3261SAndroid Build Coastguard Worker [here](https://docs.google.com/spreadsheets/d/1FLFJLzg7WNP6JHODX5q8BDgptKafq_slHpnHVbJIteQ/edit#gid=0). 6550*b6fb3261SAndroid Build Coastguard Worker * API clean-up, included removing `tf.app`, `tf.flags`, and `tf.logging` 6551*b6fb3261SAndroid Build Coastguard Worker in favor of [absl-py](https://github.com/abseil/abseil-py). 6552*b6fb3261SAndroid Build Coastguard Worker* No more global variables with helper methods like 6553*b6fb3261SAndroid Build Coastguard Worker `tf.global_variables_initializer` and `tf.get_global_step`. 6554*b6fb3261SAndroid Build Coastguard Worker* Add toggles `tf.enable_control_flow_v2()` and `tf.disable_control_flow_v2()` 6555*b6fb3261SAndroid Build Coastguard Worker for enabling/disabling v2 control flow. 6556*b6fb3261SAndroid Build Coastguard Worker* Enable v2 control flow as part of `tf.enable_v2_behavior()` and 6557*b6fb3261SAndroid Build Coastguard Worker `TF2_BEHAVIOR=1`. 6558*b6fb3261SAndroid Build Coastguard Worker* Fixes autocomplete for most TensorFlow API references by switching to use 6559*b6fb3261SAndroid Build Coastguard Worker relative imports in API `__init__.py` files. 6560*b6fb3261SAndroid Build Coastguard Worker* Auto Mixed-Precision graph optimizer simplifies converting models to 6561*b6fb3261SAndroid Build Coastguard Worker `float16` for acceleration on Volta and Turing Tensor Cores. This feature 6562*b6fb3261SAndroid Build Coastguard Worker can be enabled by wrapping an optimizer class with 6563*b6fb3261SAndroid Build Coastguard Worker `tf.train.experimental.enable_mixed_precision_graph_rewrite()`. 6564*b6fb3261SAndroid Build Coastguard Worker* Add environment variable `TF_CUDNN_DETERMINISTIC`. Setting to "true" or "1" 6565*b6fb3261SAndroid Build Coastguard Worker forces the selection of deterministic cuDNN convolution and max-pooling 6566*b6fb3261SAndroid Build Coastguard Worker algorithms. When this is enabled, the algorithm selection procedure itself 6567*b6fb3261SAndroid Build Coastguard Worker is also deterministic. 6568*b6fb3261SAndroid Build Coastguard Worker 6569*b6fb3261SAndroid Build Coastguard Worker## Breaking Changes 6570*b6fb3261SAndroid Build Coastguard Worker 6571*b6fb3261SAndroid Build Coastguard Worker* Many backwards incompatible API changes have been made to clean up the APIs 6572*b6fb3261SAndroid Build Coastguard Worker and make them more consistent. 6573*b6fb3261SAndroid Build Coastguard Worker* Toolchains: 6574*b6fb3261SAndroid Build Coastguard Worker 6575*b6fb3261SAndroid Build Coastguard Worker * TensorFlow 2.0.0 is built using devtoolset7 (GCC7) on Ubuntu 16. This 6576*b6fb3261SAndroid Build Coastguard Worker may lead to ABI incompatibilities with extensions built against earlier 6577*b6fb3261SAndroid Build Coastguard Worker versions of TensorFlow. 6578*b6fb3261SAndroid Build Coastguard Worker * Tensorflow code now produces 2 different pip packages: tensorflow_core 6579*b6fb3261SAndroid Build Coastguard Worker containing all the code (in the future it will contain only the private 6580*b6fb3261SAndroid Build Coastguard Worker implementation) and tensorflow which is a virtual pip package doing 6581*b6fb3261SAndroid Build Coastguard Worker forwarding to tensorflow_core (and in the future will contain only the 6582*b6fb3261SAndroid Build Coastguard Worker public API of tensorflow). We don't expect this to be breaking, unless 6583*b6fb3261SAndroid Build Coastguard Worker you were importing directly from the implementation. Removed the 6584*b6fb3261SAndroid Build Coastguard Worker `freeze_graph` command line tool; `SavedModel` should be used in place 6585*b6fb3261SAndroid Build Coastguard Worker of frozen graphs. 6586*b6fb3261SAndroid Build Coastguard Worker 6587*b6fb3261SAndroid Build Coastguard Worker* `tf.contrib`: 6588*b6fb3261SAndroid Build Coastguard Worker 6589*b6fb3261SAndroid Build Coastguard Worker * `tf.contrib` has been deprecated, and functionality has been either 6590*b6fb3261SAndroid Build Coastguard Worker migrated to the core TensorFlow API, to an ecosystem project such as 6591*b6fb3261SAndroid Build Coastguard Worker [tensorflow/addons](https://www.github.com/tensorflow/addons) or 6592*b6fb3261SAndroid Build Coastguard Worker [tensorflow/io](https://www.github.com/tensorflow/io), or removed 6593*b6fb3261SAndroid Build Coastguard Worker entirely. 6594*b6fb3261SAndroid Build Coastguard Worker * Remove `tf.contrib.timeseries` dependency on TF distributions. 6595*b6fb3261SAndroid Build Coastguard Worker * Replace contrib references with `tf.estimator.experimental.*` for apis 6596*b6fb3261SAndroid Build Coastguard Worker in `early_stopping.py`. 6597*b6fb3261SAndroid Build Coastguard Worker 6598*b6fb3261SAndroid Build Coastguard Worker* `tf.estimator`: 6599*b6fb3261SAndroid Build Coastguard Worker 6600*b6fb3261SAndroid Build Coastguard Worker * Premade estimators in the tf.estimator.DNN/Linear/DNNLinearCombined 6601*b6fb3261SAndroid Build Coastguard Worker family have been updated to use `tf.keras.optimizers` instead of the 6602*b6fb3261SAndroid Build Coastguard Worker `tf.compat.v1.train.Optimizer`s. If you do not pass in an `optimizer=` 6603*b6fb3261SAndroid Build Coastguard Worker arg or if you use a string, the premade estimator will use the Keras 6604*b6fb3261SAndroid Build Coastguard Worker optimizer. This is checkpoint breaking, as the optimizers have separate 6605*b6fb3261SAndroid Build Coastguard Worker variables. A checkpoint converter tool for converting optimizers is 6606*b6fb3261SAndroid Build Coastguard Worker included with the release, but if you want to avoid any change, switch 6607*b6fb3261SAndroid Build Coastguard Worker to the v1 version of the estimator: 6608*b6fb3261SAndroid Build Coastguard Worker `tf.compat.v1.estimator.DNN/Linear/DNNLinearCombined*`. 6609*b6fb3261SAndroid Build Coastguard Worker * Default aggregation for canned Estimators is now `SUM_OVER_BATCH_SIZE`. 6610*b6fb3261SAndroid Build Coastguard Worker To maintain previous default behavior, please pass `SUM` as the loss 6611*b6fb3261SAndroid Build Coastguard Worker aggregation method. 6612*b6fb3261SAndroid Build Coastguard Worker * Canned Estimators don’t support `input_layer_partitioner` arg in the 6613*b6fb3261SAndroid Build Coastguard Worker API. If you have this arg, you will have to switch to `tf.compat.v1 6614*b6fb3261SAndroid Build Coastguard Worker canned Estimators`. 6615*b6fb3261SAndroid Build Coastguard Worker * `Estimator.export_savedmodel` has been renamed to `export_saved_model`. 6616*b6fb3261SAndroid Build Coastguard Worker * When saving to SavedModel, Estimators will strip default op attributes. 6617*b6fb3261SAndroid Build Coastguard Worker This is almost always the correct behavior, as it is more forwards 6618*b6fb3261SAndroid Build Coastguard Worker compatible, but if you require that default attributes to be saved with 6619*b6fb3261SAndroid Build Coastguard Worker the model, please use `tf.compat.v1.Estimator`. 6620*b6fb3261SAndroid Build Coastguard Worker * Feature Columns have been upgraded to be more Eager-friendly and to work 6621*b6fb3261SAndroid Build Coastguard Worker with Keras. As a result, `tf.feature_column.input_layer` has been 6622*b6fb3261SAndroid Build Coastguard Worker deprecated in favor of `tf.keras.layers.DenseFeatures`. v1 feature 6623*b6fb3261SAndroid Build Coastguard Worker columns have direct analogues in v2 except for 6624*b6fb3261SAndroid Build Coastguard Worker `shared_embedding_columns`, which are not cross-compatible with v1 and 6625*b6fb3261SAndroid Build Coastguard Worker v2. Use `tf.feature_column.shared_embeddings` instead. 6626*b6fb3261SAndroid Build Coastguard Worker 6627*b6fb3261SAndroid Build Coastguard Worker* `tf.keras`: 6628*b6fb3261SAndroid Build Coastguard Worker 6629*b6fb3261SAndroid Build Coastguard Worker * `OMP_NUM_THREADS` is no longer used by the default Keras config. To 6630*b6fb3261SAndroid Build Coastguard Worker configure the number of threads, use `tf.config.threading` APIs. 6631*b6fb3261SAndroid Build Coastguard Worker * `tf.keras.model.save_model` and `model.save` now defaults to saving a 6632*b6fb3261SAndroid Build Coastguard Worker TensorFlow SavedModel. HDF5 files are still supported. 6633*b6fb3261SAndroid Build Coastguard Worker * Deprecated `tf.keras.experimental.export_saved_model` and 6634*b6fb3261SAndroid Build Coastguard Worker `tf.keras.experimental.function`. Please use 6635*b6fb3261SAndroid Build Coastguard Worker `tf.keras.models.save_model(..., save_format='tf')` and 6636*b6fb3261SAndroid Build Coastguard Worker `tf.keras.models.load_model` instead. 6637*b6fb3261SAndroid Build Coastguard Worker * Layers now default to float32, and automatically cast their inputs to 6638*b6fb3261SAndroid Build Coastguard Worker the layer's dtype. If you had a model that used float64, it will 6639*b6fb3261SAndroid Build Coastguard Worker probably silently use float32 in TensorFlow 2, and a warning will be 6640*b6fb3261SAndroid Build Coastguard Worker issued that starts with `Layer <layer-name>` is casting an input tensor 6641*b6fb3261SAndroid Build Coastguard Worker from dtype float64 to the layer's dtype of float32. To fix, either set 6642*b6fb3261SAndroid Build Coastguard Worker the default dtype to float64 with 6643*b6fb3261SAndroid Build Coastguard Worker `tf.keras.backend.set_floatx('float64')`, or pass `dtype='float64'` to 6644*b6fb3261SAndroid Build Coastguard Worker each of the Layer constructors. See `tf.keras.layers.Layer` for more 6645*b6fb3261SAndroid Build Coastguard Worker information. 6646*b6fb3261SAndroid Build Coastguard Worker 6647*b6fb3261SAndroid Build Coastguard Worker* `tf.lite`: 6648*b6fb3261SAndroid Build Coastguard Worker 6649*b6fb3261SAndroid Build Coastguard Worker * Removed `lite.OpHint`, `lite.experimental`, and `lite.constant` from 2.0 6650*b6fb3261SAndroid Build Coastguard Worker API. 6651*b6fb3261SAndroid Build Coastguard Worker 6652*b6fb3261SAndroid Build Coastguard Worker* Tensors are no longer hashable, but instead compare element-wise with `==` 6653*b6fb3261SAndroid Build Coastguard Worker and `!=`. Use `tf.compat.v1.disable_tensor_equality()` to return to the 6654*b6fb3261SAndroid Build Coastguard Worker previous behavior. 6655*b6fb3261SAndroid Build Coastguard Worker 6656*b6fb3261SAndroid Build Coastguard Worker* Performing equality operations on Tensors or Variables with incompatible 6657*b6fb3261SAndroid Build Coastguard Worker shapes an exception is no longer thrown. Instead `__eq__` returns False and 6658*b6fb3261SAndroid Build Coastguard Worker `__ne__` returns True. 6659*b6fb3261SAndroid Build Coastguard Worker 6660*b6fb3261SAndroid Build Coastguard Worker* Removed `tf.string_split` from v2 API. 6661*b6fb3261SAndroid Build Coastguard Worker 6662*b6fb3261SAndroid Build Coastguard Worker* Deprecated the use of `constraint=` and `.constraint` with ResourceVariable. 6663*b6fb3261SAndroid Build Coastguard Worker 6664*b6fb3261SAndroid Build Coastguard Worker* Add `UnifiedGRU` as the new GRU implementation for tf2.0. Change the default 6665*b6fb3261SAndroid Build Coastguard Worker recurrent activation function for GRU from `hard_sigmoid` to `sigmoid`, and 6666*b6fb3261SAndroid Build Coastguard Worker `reset_after` to True in 2.0. Historically recurrent activation is 6667*b6fb3261SAndroid Build Coastguard Worker `hard_sigmoid` since it is fast than 'sigmoid'. With new unified backend 6668*b6fb3261SAndroid Build Coastguard Worker between CPU and GPU mode, since the CuDNN kernel is using sigmoid, we change 6669*b6fb3261SAndroid Build Coastguard Worker the default for CPU mode to sigmoid as well. With that, the default GRU will 6670*b6fb3261SAndroid Build Coastguard Worker be compatible with both CPU and GPU kernel. This will enable user with GPU 6671*b6fb3261SAndroid Build Coastguard Worker to use CuDNN kernel by default and get a 10x performance boost in training. 6672*b6fb3261SAndroid Build Coastguard Worker Note that this is checkpoint breaking change. If user want to use their 1.x 6673*b6fb3261SAndroid Build Coastguard Worker pre-trained checkpoint, please construct the layer with 6674*b6fb3261SAndroid Build Coastguard Worker GRU(recurrent_activation='hard_sigmoid', reset_after=False) to fallback to 6675*b6fb3261SAndroid Build Coastguard Worker 1.x behavior. 6676*b6fb3261SAndroid Build Coastguard Worker 6677*b6fb3261SAndroid Build Coastguard Worker* `CUDNN_INSTALL_PATH`, `TENSORRT_INSTALL_PATH`, `NCCL_INSTALL_PATH`, 6678*b6fb3261SAndroid Build Coastguard Worker `NCCL_HDR_PATH` are deprecated. Use `TF_CUDA_PATHS` instead which supports a 6679*b6fb3261SAndroid Build Coastguard Worker comma-separated list of base paths that are searched to find CUDA libraries 6680*b6fb3261SAndroid Build Coastguard Worker and headers. 6681*b6fb3261SAndroid Build Coastguard Worker 6682*b6fb3261SAndroid Build Coastguard WorkerRefer to our 6683*b6fb3261SAndroid Build Coastguard Worker[public project status tracker](https://github.com/orgs/tensorflow/projects/4) 6684*b6fb3261SAndroid Build Coastguard Workerand 6685*b6fb3261SAndroid Build Coastguard Worker[issues tagged with `2.0`](https://github.com/tensorflow/tensorflow/issues?q=is%3Aopen+is%3Aissue+label%3A2.0) 6686*b6fb3261SAndroid Build Coastguard Workeron GitHub for insight into recent issues and development progress. 6687*b6fb3261SAndroid Build Coastguard Worker 6688*b6fb3261SAndroid Build Coastguard WorkerIf you experience any snags when using TF 2.0, please let us know at the 6689*b6fb3261SAndroid Build Coastguard Worker[TF 2.0 Testing User Group](https://groups.google.com/a/tensorflow.org/forum/?utm_medium=email&utm_source=footer#!forum/testing). 6690*b6fb3261SAndroid Build Coastguard WorkerWe have a support mailing list as well as weekly testing meetings, and would 6691*b6fb3261SAndroid Build Coastguard Workerlove to hear your migration feedback and questions. 6692*b6fb3261SAndroid Build Coastguard Worker 6693*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 6694*b6fb3261SAndroid Build Coastguard Worker 6695*b6fb3261SAndroid Build Coastguard Worker* `tf.contrib`: 6696*b6fb3261SAndroid Build Coastguard Worker 6697*b6fb3261SAndroid Build Coastguard Worker * Expose `tf.contrib.proto.*` ops in `tf.io` (they will exist in TF2) 6698*b6fb3261SAndroid Build Coastguard Worker 6699*b6fb3261SAndroid Build Coastguard Worker* `tf.data`: 6700*b6fb3261SAndroid Build Coastguard Worker 6701*b6fb3261SAndroid Build Coastguard Worker * Add support for TensorArrays to `tf.data Dataset`. 6702*b6fb3261SAndroid Build Coastguard Worker * Integrate Ragged Tensors with `tf.data`. 6703*b6fb3261SAndroid Build Coastguard Worker * All core and experimental tf.data transformations that input 6704*b6fb3261SAndroid Build Coastguard Worker user-defined functions can span multiple devices now. 6705*b6fb3261SAndroid Build Coastguard Worker * Extending the TF 2.0 support for `shuffle(..., 6706*b6fb3261SAndroid Build Coastguard Worker reshuffle_each_iteration=True)` and `cache()` to work across different 6707*b6fb3261SAndroid Build Coastguard Worker Python iterators for the same dataset. 6708*b6fb3261SAndroid Build Coastguard Worker * Removing the `experimental_numa_aware` option from `tf.data.Options`. 6709*b6fb3261SAndroid Build Coastguard Worker * Add `num_parallel_reads` and passing in a Dataset containing filenames 6710*b6fb3261SAndroid Build Coastguard Worker into `TextLineDataset` and `FixedLengthRecordDataset`. 6711*b6fb3261SAndroid Build Coastguard Worker * Add support for defaulting the value of `cycle_length` argument of 6712*b6fb3261SAndroid Build Coastguard Worker `tf.data.Dataset.interleave` to the number of schedulable CPU cores. 6713*b6fb3261SAndroid Build Coastguard Worker * Promoting `tf.data.experimental.enumerate_dataset` to core as 6714*b6fb3261SAndroid Build Coastguard Worker `tf.data.Dataset.enumerate`. 6715*b6fb3261SAndroid Build Coastguard Worker * Promoting `tf.data.experimental.unbatch` to core as 6716*b6fb3261SAndroid Build Coastguard Worker `tf.data.Dataset.unbatch`. 6717*b6fb3261SAndroid Build Coastguard Worker * Adds option for introducing slack in the pipeline to reduce CPU 6718*b6fb3261SAndroid Build Coastguard Worker contention, via `tf.data.Options().experimental_slack = True` 6719*b6fb3261SAndroid Build Coastguard Worker * Added experimental support for parallel batching to `batch()` and 6720*b6fb3261SAndroid Build Coastguard Worker `padded_batch()`. This functionality can be enabled through 6721*b6fb3261SAndroid Build Coastguard Worker `tf.data.Options()`. 6722*b6fb3261SAndroid Build Coastguard Worker * Support cancellation of long-running `reduce`. 6723*b6fb3261SAndroid Build Coastguard Worker * Now we use `dataset` node name as prefix instead of the op name, to 6724*b6fb3261SAndroid Build Coastguard Worker identify the component correctly in metrics, for pipelines with repeated 6725*b6fb3261SAndroid Build Coastguard Worker components. 6726*b6fb3261SAndroid Build Coastguard Worker * Improve the performance of datasets using `from_tensors()`. 6727*b6fb3261SAndroid Build Coastguard Worker * Promoting `unbatch` from experimental to core API. 6728*b6fb3261SAndroid Build Coastguard Worker * Adding support for datasets as inputs to `from_tensors` and 6729*b6fb3261SAndroid Build Coastguard Worker `from_tensor_slices` and batching and unbatching of nested datasets. 6730*b6fb3261SAndroid Build Coastguard Worker 6731*b6fb3261SAndroid Build Coastguard Worker* `tf.distribute`: 6732*b6fb3261SAndroid Build Coastguard Worker 6733*b6fb3261SAndroid Build Coastguard Worker * Enable `tf.distribute.experimental.MultiWorkerMirroredStrategy` working 6734*b6fb3261SAndroid Build Coastguard Worker in eager mode. 6735*b6fb3261SAndroid Build Coastguard Worker * Callbacks are supported in `MultiWorkerMirroredStrategy`. 6736*b6fb3261SAndroid Build Coastguard Worker * Disable `run_eagerly` and distribution strategy if there are symbolic 6737*b6fb3261SAndroid Build Coastguard Worker tensors added to the model using `add_metric` or `add_loss`. 6738*b6fb3261SAndroid Build Coastguard Worker * Loss and gradients should now more reliably be correctly scaled w.r.t. 6739*b6fb3261SAndroid Build Coastguard Worker the global batch size when using a `tf.distribute.Strategy`. 6740*b6fb3261SAndroid Build Coastguard Worker * Set default loss reduction as `AUTO` for improving reliability of loss 6741*b6fb3261SAndroid Build Coastguard Worker scaling with distribution strategy and custom training loops. `AUTO` 6742*b6fb3261SAndroid Build Coastguard Worker indicates that the reduction option will be determined by the usage 6743*b6fb3261SAndroid Build Coastguard Worker context. For almost all cases this defaults to `SUM_OVER_BATCH_SIZE`. 6744*b6fb3261SAndroid Build Coastguard Worker When used in distribution strategy scope, outside of built-in training 6745*b6fb3261SAndroid Build Coastguard Worker loops such as `tf.keras` `compile` and `fit`, we expect reduction value 6746*b6fb3261SAndroid Build Coastguard Worker to be 'None' or 'SUM'. Using other values will raise an error. 6747*b6fb3261SAndroid Build Coastguard Worker * Support for multi-host `ncclAllReduce` in Distribution Strategy. 6748*b6fb3261SAndroid Build Coastguard Worker 6749*b6fb3261SAndroid Build Coastguard Worker* `tf.estimator`: 6750*b6fb3261SAndroid Build Coastguard Worker 6751*b6fb3261SAndroid Build Coastguard Worker * Replace `tf.contrib.estimator.add_metrics` with 6752*b6fb3261SAndroid Build Coastguard Worker `tf.estimator.add_metrics` 6753*b6fb3261SAndroid Build Coastguard Worker * Use `tf.compat.v1.estimator.inputs` instead of `tf.estimator.inputs` 6754*b6fb3261SAndroid Build Coastguard Worker * Replace contrib references with `tf.estimator.experimental.*` for apis 6755*b6fb3261SAndroid Build Coastguard Worker in early_s in Estimator 6756*b6fb3261SAndroid Build Coastguard Worker * Canned Estimators will now use keras optimizers by default. An error 6757*b6fb3261SAndroid Build Coastguard Worker will be raised if tf.train.Optimizers are used, and you will have to 6758*b6fb3261SAndroid Build Coastguard Worker switch to tf.keras.optimizers or tf.compat.v1 canned Estimators. 6759*b6fb3261SAndroid Build Coastguard Worker * A checkpoint converter for canned Estimators has been provided to 6760*b6fb3261SAndroid Build Coastguard Worker transition canned Estimators that are warm started from 6761*b6fb3261SAndroid Build Coastguard Worker `tf.train.Optimizers` to `tf.keras.optimizers`. 6762*b6fb3261SAndroid Build Coastguard Worker * Losses are scaled in canned estimator v2 and not in the optimizers 6763*b6fb3261SAndroid Build Coastguard Worker anymore. If you are using Estimator + distribution strategy + optimikzer 6764*b6fb3261SAndroid Build Coastguard Worker v1 then the behavior does not change. This implies that if you are using 6765*b6fb3261SAndroid Build Coastguard Worker custom estimator with optimizer v2, you have to scale losses. We have 6766*b6fb3261SAndroid Build Coastguard Worker new utilities to help scale losses `tf.nn.compute_average_loss`, 6767*b6fb3261SAndroid Build Coastguard Worker `tf.nn.scale_regularization_loss`. 6768*b6fb3261SAndroid Build Coastguard Worker 6769*b6fb3261SAndroid Build Coastguard Worker* `tf.keras`: 6770*b6fb3261SAndroid Build Coastguard Worker 6771*b6fb3261SAndroid Build Coastguard Worker * Premade models (including Linear and WideDeep) have been introduced for 6772*b6fb3261SAndroid Build Coastguard Worker the purpose of replacing Premade estimators. 6773*b6fb3261SAndroid Build Coastguard Worker * Model saving changes 6774*b6fb3261SAndroid Build Coastguard Worker * `model.save` and `tf.saved_model.save` may now save to the TensorFlow 6775*b6fb3261SAndroid Build Coastguard Worker SavedModel format. The model can be restored using 6776*b6fb3261SAndroid Build Coastguard Worker `tf.keras.models.load_model`. HDF5 files are still supported, and may be 6777*b6fb3261SAndroid Build Coastguard Worker used by specifying `save_format="h5"` when saving. 6778*b6fb3261SAndroid Build Coastguard Worker * Raw TensorFlow functions can now be used in conjunction with the Keras 6779*b6fb3261SAndroid Build Coastguard Worker Functional API during model creation. This obviates the need for users 6780*b6fb3261SAndroid Build Coastguard Worker to create Lambda layers in most cases when using the Functional API. 6781*b6fb3261SAndroid Build Coastguard Worker Like Lambda layers, TensorFlow functions that result in Variable 6782*b6fb3261SAndroid Build Coastguard Worker creation or assign ops are not supported. 6783*b6fb3261SAndroid Build Coastguard Worker * Add support for passing list of lists to the `metrics` argument in Keras 6784*b6fb3261SAndroid Build Coastguard Worker `compile`. 6785*b6fb3261SAndroid Build Coastguard Worker * Add `tf.keras.layers.AbstractRNNCell` as the preferred implementation 6786*b6fb3261SAndroid Build Coastguard Worker for RNN cells in TF v2. User can use it to implement RNN cells with 6787*b6fb3261SAndroid Build Coastguard Worker custom behavior. 6788*b6fb3261SAndroid Build Coastguard Worker * Keras training and validation curves are shown on the same plot when 6789*b6fb3261SAndroid Build Coastguard Worker using the TensorBoard callback. 6790*b6fb3261SAndroid Build Coastguard Worker * Switched Keras `fit/evaluate/predict` execution to use only a single 6791*b6fb3261SAndroid Build Coastguard Worker unified path by default unless eager execution has been explicitly 6792*b6fb3261SAndroid Build Coastguard Worker disabled, regardless of input type. This unified path places an 6793*b6fb3261SAndroid Build Coastguard Worker eager-friendly training step inside of a `tf.function`. With this 6794*b6fb3261SAndroid Build Coastguard Worker * All input types are converted to `Dataset`. 6795*b6fb3261SAndroid Build Coastguard Worker * The path assumes there is always a distribution strategy. when 6796*b6fb3261SAndroid Build Coastguard Worker distribution strategy is not specified the path uses a no-op 6797*b6fb3261SAndroid Build Coastguard Worker distribution strategy. 6798*b6fb3261SAndroid Build Coastguard Worker * The training step is wrapped in `tf.function` unless `run_eagerly=True` 6799*b6fb3261SAndroid Build Coastguard Worker is set in compile. The single path execution code does not yet support 6800*b6fb3261SAndroid Build Coastguard Worker all use cases. We fallback to the existing v1 execution paths if your 6801*b6fb3261SAndroid Build Coastguard Worker model contains the following: 6802*b6fb3261SAndroid Build Coastguard Worker 1. `sample_weight_mode` in compile 6803*b6fb3261SAndroid Build Coastguard Worker 2. `weighted_metrics` in compile 6804*b6fb3261SAndroid Build Coastguard Worker 3. v1 optimizer 6805*b6fb3261SAndroid Build Coastguard Worker 4. target tensors in compile If you are experiencing any issues because 6806*b6fb3261SAndroid Build Coastguard Worker of this change, please inform us (file an issue) about your use case 6807*b6fb3261SAndroid Build Coastguard Worker and you can unblock yourself by setting 6808*b6fb3261SAndroid Build Coastguard Worker `experimental_run_tf_function=False` in compile meanwhile. We have 6809*b6fb3261SAndroid Build Coastguard Worker seen couple of use cases where the model usage pattern is not as 6810*b6fb3261SAndroid Build Coastguard Worker expected and would not work with this change. 6811*b6fb3261SAndroid Build Coastguard Worker * output tensors of one layer is used in the constructor of another. 6812*b6fb3261SAndroid Build Coastguard Worker * symbolic tensors outside the scope of the model are used in custom loss 6813*b6fb3261SAndroid Build Coastguard Worker functions. The flag can be disabled for these cases and ideally the 6814*b6fb3261SAndroid Build Coastguard Worker usage pattern will need to be fixed. 6815*b6fb3261SAndroid Build Coastguard Worker * Mark Keras `set_session` as `compat.v1` only. 6816*b6fb3261SAndroid Build Coastguard Worker * `tf.keras.estimator.model_to_estimator` now supports exporting to 6817*b6fb3261SAndroid Build Coastguard Worker `tf.train.Checkpoint format`, which allows the saved checkpoints to be 6818*b6fb3261SAndroid Build Coastguard Worker compatible with `model.load_weights`. 6819*b6fb3261SAndroid Build Coastguard Worker * `keras.backend.resize_images` (and consequently, 6820*b6fb3261SAndroid Build Coastguard Worker `keras.layers.Upsampling2D`) behavior has changed, a bug in the resizing 6821*b6fb3261SAndroid Build Coastguard Worker implementation was fixed. 6822*b6fb3261SAndroid Build Coastguard Worker * Add an `implementation=3` mode for `tf.keras.layers.LocallyConnected2D` 6823*b6fb3261SAndroid Build Coastguard Worker and `tf.keras.layers.LocallyConnected1D` layers using `tf.SparseTensor` 6824*b6fb3261SAndroid Build Coastguard Worker to store weights, allowing a dramatic speedup for large sparse models. 6825*b6fb3261SAndroid Build Coastguard Worker * Raise error if `batch_size` argument is used when input is 6826*b6fb3261SAndroid Build Coastguard Worker dataset/generator/keras sequence. 6827*b6fb3261SAndroid Build Coastguard Worker * Update TF 2.0 `keras.backend.name_scope` to use TF 2.0 `name_scope`. 6828*b6fb3261SAndroid Build Coastguard Worker * Add v2 module aliases for losses, metrics, initializers and optimizers: 6829*b6fb3261SAndroid Build Coastguard Worker `tf.losses = tf.keras.losses` & `tf.metrics = tf.keras.metrics` & 6830*b6fb3261SAndroid Build Coastguard Worker `tf.initializers = tf.keras.initializers` & `tf.optimizers = 6831*b6fb3261SAndroid Build Coastguard Worker tf.keras.optimizers`. 6832*b6fb3261SAndroid Build Coastguard Worker * Updates binary cross entropy logic in Keras when input is probabilities. 6833*b6fb3261SAndroid Build Coastguard Worker Instead of converting probabilities to logits, we are using the cross 6834*b6fb3261SAndroid Build Coastguard Worker entropy formula for probabilities. 6835*b6fb3261SAndroid Build Coastguard Worker * Added public APIs for `cumsum` and `cumprod` keras backend functions. 6836*b6fb3261SAndroid Build Coastguard Worker * Add support for temporal sample weight mode in subclassed models. 6837*b6fb3261SAndroid Build Coastguard Worker * Raise `ValueError` if an integer is passed to the training APIs. 6838*b6fb3261SAndroid Build Coastguard Worker * Added fault-tolerance support for training Keras model via `model.fit()` 6839*b6fb3261SAndroid Build Coastguard Worker with `MultiWorkerMirroredStrategy`, tutorial available. 6840*b6fb3261SAndroid Build Coastguard Worker * Custom Callback tutorial is now available. 6841*b6fb3261SAndroid Build Coastguard Worker * To train with `tf.distribute`, Keras API is recommended over estimator. 6842*b6fb3261SAndroid Build Coastguard Worker * `steps_per_epoch` and `steps` arguments are supported with numpy arrays. 6843*b6fb3261SAndroid Build Coastguard Worker * New error message when unexpected keys are used in 6844*b6fb3261SAndroid Build Coastguard Worker sample_weight/class_weight dictionaries 6845*b6fb3261SAndroid Build Coastguard Worker * Losses are scaled in Keras compile/fit and not in the optimizers 6846*b6fb3261SAndroid Build Coastguard Worker anymore. If you are using custom training loop, we have new utilities to 6847*b6fb3261SAndroid Build Coastguard Worker help scale losses `tf.nn.compute_average_loss`, 6848*b6fb3261SAndroid Build Coastguard Worker `tf.nn.scale_regularization_loss`. 6849*b6fb3261SAndroid Build Coastguard Worker * `Layer` apply and add_variable APIs are deprecated. 6850*b6fb3261SAndroid Build Coastguard Worker * Added support for channels first data format in cross entropy losses 6851*b6fb3261SAndroid Build Coastguard Worker with logits and support for tensors with unknown ranks. 6852*b6fb3261SAndroid Build Coastguard Worker * Error messages will be raised if `add_update`, `add_metric`, `add_loss`, 6853*b6fb3261SAndroid Build Coastguard Worker activity regularizers are used inside of a control flow branch. 6854*b6fb3261SAndroid Build Coastguard Worker * New loss reduction types: 6855*b6fb3261SAndroid Build Coastguard Worker * `AUTO`: Indicates that the reduction option will be determined by the 6856*b6fb3261SAndroid Build Coastguard Worker usage context. For almost all cases this defaults to 6857*b6fb3261SAndroid Build Coastguard Worker `SUM_OVER_BATCH_SIZE`. When used with `tf.distribute.Strategy`, outside 6858*b6fb3261SAndroid Build Coastguard Worker of built-in training loops such as `tf.keras` `compile` and `fit`, we 6859*b6fb3261SAndroid Build Coastguard Worker expect reduction value to be `SUM` or `NONE`. Using `AUTO` in that case 6860*b6fb3261SAndroid Build Coastguard Worker will raise an error. 6861*b6fb3261SAndroid Build Coastguard Worker * `NONE`: Weighted losses with one dimension reduced (axis=-1, or axis 6862*b6fb3261SAndroid Build Coastguard Worker specified by loss function). When this reduction type used with built-in 6863*b6fb3261SAndroid Build Coastguard Worker Keras training loops like `fit`/`evaluate`, the unreduced vector loss is 6864*b6fb3261SAndroid Build Coastguard Worker passed to the optimizer but the reported loss will be a scalar value. 6865*b6fb3261SAndroid Build Coastguard Worker * `SUM`: Scalar sum of weighted losses. 4. `SUM_OVER_BATCH_SIZE`: Scalar 6866*b6fb3261SAndroid Build Coastguard Worker `SUM` divided by number of elements in losses. This reduction type is 6867*b6fb3261SAndroid Build Coastguard Worker not supported when used with `tf.distribute.Strategy` outside of 6868*b6fb3261SAndroid Build Coastguard Worker built-in training loops like `tf.keras` `compile`/`fit`. 6869*b6fb3261SAndroid Build Coastguard Worker * Wraps losses passed to the `compile` API (strings and v1 losses) which 6870*b6fb3261SAndroid Build Coastguard Worker are not instances of v2 `Loss` class in `LossWrapper` class. => All 6871*b6fb3261SAndroid Build Coastguard Worker losses will now use `SUM_OVER_BATCH_SIZE` reduction as default. 6872*b6fb3261SAndroid Build Coastguard Worker * `model.add_loss(symbolic_tensor)` should work in ambient eager. 6873*b6fb3261SAndroid Build Coastguard Worker * Update metric name to always reflect what the user has given in compile. 6874*b6fb3261SAndroid Build Coastguard Worker Affects following cases 6875*b6fb3261SAndroid Build Coastguard Worker * When name is given as 'accuracy'/'crossentropy' 6876*b6fb3261SAndroid Build Coastguard Worker * When an aliased function name is used eg. 'mse' 6877*b6fb3261SAndroid Build Coastguard Worker * Removing the `weighted` prefix from weighted metric names. 6878*b6fb3261SAndroid Build Coastguard Worker * Allow non-Tensors through v2 losses. 6879*b6fb3261SAndroid Build Coastguard Worker * Add v2 sparse categorical crossentropy metric. 6880*b6fb3261SAndroid Build Coastguard Worker * Add v2 APIs for `AUCCurve` and `AUCSummationMethod` enums. 6881*b6fb3261SAndroid Build Coastguard Worker * `add_update` can now be passed a zero-arg callable in order to support 6882*b6fb3261SAndroid Build Coastguard Worker turning off the update when setting `trainable=False` on a Layer of a 6883*b6fb3261SAndroid Build Coastguard Worker Model compiled with `run_eagerly=True`. 6884*b6fb3261SAndroid Build Coastguard Worker * Standardize the LayerNormalization API by replacing the args `norm_axis` 6885*b6fb3261SAndroid Build Coastguard Worker and `params_axis` with `axis`. 6886*b6fb3261SAndroid Build Coastguard Worker * Fixed critical bugs that help with DenseFeatures usability in TF2 6887*b6fb3261SAndroid Build Coastguard Worker 6888*b6fb3261SAndroid Build Coastguard Worker* `tf.lite`: 6889*b6fb3261SAndroid Build Coastguard Worker 6890*b6fb3261SAndroid Build Coastguard Worker * Added evaluation script for `COCO` minival 6891*b6fb3261SAndroid Build Coastguard Worker * Add delegate support for `QUANTIZE`. 6892*b6fb3261SAndroid Build Coastguard Worker * Add `GATHER` support to NN API delegate. 6893*b6fb3261SAndroid Build Coastguard Worker * Added support for TFLiteConverter Python API in 2.0. Contains functions 6894*b6fb3261SAndroid Build Coastguard Worker from_saved_model, from_keras_file, and from_concrete_functions. 6895*b6fb3261SAndroid Build Coastguard Worker * Add `EXPAND_DIMS` support to NN API delegate TEST. 6896*b6fb3261SAndroid Build Coastguard Worker * Add `narrow_range` attribute to QuantizeAndDequantizeV2 and V3. 6897*b6fb3261SAndroid Build Coastguard Worker * Added support for `tflite_convert` command line tool in 2.0. 6898*b6fb3261SAndroid Build Coastguard Worker * Post-training quantization tool supports quantizing weights shared by 6899*b6fb3261SAndroid Build Coastguard Worker multiple operations. The models made with versions of this tool will use 6900*b6fb3261SAndroid Build Coastguard Worker INT8 types for weights and will only be executable interpreters from 6901*b6fb3261SAndroid Build Coastguard Worker this version onwards. 6902*b6fb3261SAndroid Build Coastguard Worker * Post-training quantization tool supports fp16 weights and GPU delegate 6903*b6fb3261SAndroid Build Coastguard Worker acceleration for fp16. 6904*b6fb3261SAndroid Build Coastguard Worker * Add delegate support for `QUANTIZED_16BIT_LSTM`. 6905*b6fb3261SAndroid Build Coastguard Worker * Extracts `NNAPIDelegateKernel` from nnapi_delegate.cc 6906*b6fb3261SAndroid Build Coastguard Worker 6907*b6fb3261SAndroid Build Coastguard Worker* TensorRT 6908*b6fb3261SAndroid Build Coastguard Worker 6909*b6fb3261SAndroid Build Coastguard Worker * Add TensorFlow 2.0-compatible `TrtGraphConverterV2` API for TensorRT 6910*b6fb3261SAndroid Build Coastguard Worker conversion. TensorRT initialization arguments are now passed wrapped in 6911*b6fb3261SAndroid Build Coastguard Worker a named-tuple, `TrtConversionParams`, rather than as separate arguments 6912*b6fb3261SAndroid Build Coastguard Worker as in `TrtGraphConverter`. 6913*b6fb3261SAndroid Build Coastguard Worker * Changed API to optimize TensorRT engines during graph optimization. This 6914*b6fb3261SAndroid Build Coastguard Worker is now done by calling `converter.build()` where previously 6915*b6fb3261SAndroid Build Coastguard Worker `is_dynamic_op=False` would be set. 6916*b6fb3261SAndroid Build Coastguard Worker * `converter.convert()` no longer returns a `tf.function`. Now the 6917*b6fb3261SAndroid Build Coastguard Worker function must be accessed from the saved model. 6918*b6fb3261SAndroid Build Coastguard Worker * The `converter.calibrate()` method has been removed. To trigger 6919*b6fb3261SAndroid Build Coastguard Worker calibration, a `calibration_input_fn` should be provided to 6920*b6fb3261SAndroid Build Coastguard Worker `converter.convert()`. 6921*b6fb3261SAndroid Build Coastguard Worker 6922*b6fb3261SAndroid Build Coastguard Worker* Other: 6923*b6fb3261SAndroid Build Coastguard Worker 6924*b6fb3261SAndroid Build Coastguard Worker * Fix accidental quadratic graph construction cost in graph-mode 6925*b6fb3261SAndroid Build Coastguard Worker `tf.gradients()`. 6926*b6fb3261SAndroid Build Coastguard Worker * ResourceVariable's gather op supports batch dimensions. 6927*b6fb3261SAndroid Build Coastguard Worker * ResourceVariable support for `gather_nd`. 6928*b6fb3261SAndroid Build Coastguard Worker * `ResourceVariable` and `Variable` no longer accepts `constraint` in the 6929*b6fb3261SAndroid Build Coastguard Worker constructor, nor expose it as a @property. 6930*b6fb3261SAndroid Build Coastguard Worker * Added gradient for `SparseToDense` op. 6931*b6fb3261SAndroid Build Coastguard Worker * Expose a flag that allows the number of threads to vary across Python 6932*b6fb3261SAndroid Build Coastguard Worker benchmarks. 6933*b6fb3261SAndroid Build Coastguard Worker * `image.resize` in 2.0 now supports gradients for the new resize kernels. 6934*b6fb3261SAndroid Build Coastguard Worker * `image.resize` now considers proper pixel centers and has new kernels 6935*b6fb3261SAndroid Build Coastguard Worker (incl. anti-aliasing). 6936*b6fb3261SAndroid Build Coastguard Worker * Renamed `tf.image` functions to remove duplicate "image" where it is 6937*b6fb3261SAndroid Build Coastguard Worker redundant. 6938*b6fb3261SAndroid Build Coastguard Worker * Variadic reduce is supported on CPU Variadic reduce is supported on CPU 6939*b6fb3261SAndroid Build Coastguard Worker * Remove unused `StringViewVariantWrapper`. 6940*b6fb3261SAndroid Build Coastguard Worker * Delete unused `Fingerprint64Map` op registration 6941*b6fb3261SAndroid Build Coastguard Worker * Add broadcasting support to `tf.matmul`. 6942*b6fb3261SAndroid Build Coastguard Worker * Add C++ Gradient for `BatchMatMulV2`. 6943*b6fb3261SAndroid Build Coastguard Worker * Add `tf.math.cumulative_logsumexp` operation. 6944*b6fb3261SAndroid Build Coastguard Worker * Add ellipsis (...) support for `tf.einsum()`. 6945*b6fb3261SAndroid Build Coastguard Worker * Add expand_composites argument to all `nest.*` methods. 6946*b6fb3261SAndroid Build Coastguard Worker * Added `strings.byte_split`. 6947*b6fb3261SAndroid Build Coastguard Worker * Add a new "result_type" parameter to `tf.strings.split`. 6948*b6fb3261SAndroid Build Coastguard Worker * Add name argument to `tf.string_split` and `tf.strings_split`. 6949*b6fb3261SAndroid Build Coastguard Worker * Extend `tf.strings.split` to support inputs with any rank. 6950*b6fb3261SAndroid Build Coastguard Worker * Added `tf.random.binomial`. 6951*b6fb3261SAndroid Build Coastguard Worker * Added `key` and `skip` methods to `random.experimental.Generator`. 6952*b6fb3261SAndroid Build Coastguard Worker * Extend `tf.function` with basic support for CompositeTensors arguments 6953*b6fb3261SAndroid Build Coastguard Worker (such as `SparseTensor` and `RaggedTensor`). 6954*b6fb3261SAndroid Build Coastguard Worker * `parallel_for.pfor`: add converters for Softmax, LogSoftmax, IsNaN, All, 6955*b6fb3261SAndroid Build Coastguard Worker Any, and MatrixSetDiag. 6956*b6fb3261SAndroid Build Coastguard Worker * `parallel_for`: add converters for LowerTriangularSolve and Cholesky. 6957*b6fb3261SAndroid Build Coastguard Worker * `parallel_for`: add converters for `LogMatrixDeterminant` and 6958*b6fb3261SAndroid Build Coastguard Worker `MatrixBandPart`. 6959*b6fb3261SAndroid Build Coastguard Worker * `parallel_for`: Add converter for `MatrixDiag`. 6960*b6fb3261SAndroid Build Coastguard Worker * `parallel_for`: Add converters for `OneHot`, `LowerBound`, `UpperBound`. 6961*b6fb3261SAndroid Build Coastguard Worker * `parallel_for`: add converter for `BroadcastTo`. 6962*b6fb3261SAndroid Build Coastguard Worker * Add `pfor` converter for `Squeeze`. 6963*b6fb3261SAndroid Build Coastguard Worker * Add `RaggedTensor.placeholder()`. 6964*b6fb3261SAndroid Build Coastguard Worker * Add ragged tensor support to `tf.squeeze`. 6965*b6fb3261SAndroid Build Coastguard Worker * Update RaggedTensors to support int32 row_splits. 6966*b6fb3261SAndroid Build Coastguard Worker * Allow `LinearOperator.solve` to take a `LinearOperator`. 6967*b6fb3261SAndroid Build Coastguard Worker * Allow all dtypes for `LinearOperatorCirculant`. 6968*b6fb3261SAndroid Build Coastguard Worker * Introduce MaxParallelism method 6969*b6fb3261SAndroid Build Coastguard Worker * Add `LinearOperatorHouseholder`. 6970*b6fb3261SAndroid Build Coastguard Worker * Adds Philox support to new stateful RNG's XLA path. 6971*b6fb3261SAndroid Build Coastguard Worker * Added `TensorSpec` support for CompositeTensors. 6972*b6fb3261SAndroid Build Coastguard Worker * Added `tf.linalg.tridiagonal_solve` op. 6973*b6fb3261SAndroid Build Coastguard Worker * Added partial_pivoting input parameter to `tf.linalg.tridiagonal_solve`. 6974*b6fb3261SAndroid Build Coastguard Worker * Added gradient to `tf.linalg.tridiagonal_solve`. 6975*b6fb3261SAndroid Build Coastguard Worker * Added `tf.linalg.tridiagonal_mul op`. 6976*b6fb3261SAndroid Build Coastguard Worker * Added GPU implementation of `tf.linalg.tridiagonal_matmul`. 6977*b6fb3261SAndroid Build Coastguard Worker * Added `LinearOperatorToeplitz`. 6978*b6fb3261SAndroid Build Coastguard Worker * Upgraded LIBXSMM to version 1.11. 6979*b6fb3261SAndroid Build Coastguard Worker * Uniform processing of quantized embeddings by Gather and EmbeddingLookup 6980*b6fb3261SAndroid Build Coastguard Worker Ops. 6981*b6fb3261SAndroid Build Coastguard Worker * Correct a misstatement in the documentation of the sparse softmax cross 6982*b6fb3261SAndroid Build Coastguard Worker entropy logit parameter. 6983*b6fb3261SAndroid Build Coastguard Worker * Add `tf.ragged.boolean_mask`. 6984*b6fb3261SAndroid Build Coastguard Worker * `tf.switch_case` added, which selects a branch_fn based on a 6985*b6fb3261SAndroid Build Coastguard Worker branch_index. 6986*b6fb3261SAndroid Build Coastguard Worker * The C++ kernel of gather op supports batch dimensions. 6987*b6fb3261SAndroid Build Coastguard Worker * Fixed default value and documentation for `trainable` arg of 6988*b6fb3261SAndroid Build Coastguard Worker tf.Variable. 6989*b6fb3261SAndroid Build Coastguard Worker * `EagerTensor` now supports numpy buffer interface for tensors. 6990*b6fb3261SAndroid Build Coastguard Worker * This change bumps the version number of the `FullyConnected` Op to 5. 6991*b6fb3261SAndroid Build Coastguard Worker * Added new op: `tf.strings.unsorted_segment_join`. 6992*b6fb3261SAndroid Build Coastguard Worker * Added HW acceleration support for `topK_v2`. 6993*b6fb3261SAndroid Build Coastguard Worker * CloudBigtable version updated to v0.10.0 BEGIN_PUBLIC CloudBigtable 6994*b6fb3261SAndroid Build Coastguard Worker version updated to v0.10.0. 6995*b6fb3261SAndroid Build Coastguard Worker * Expose `Head` as public API. 6996*b6fb3261SAndroid Build Coastguard Worker * Added `tf.sparse.from_dense` utility function. 6997*b6fb3261SAndroid Build Coastguard Worker * Improved ragged tensor support in `TensorFlowTestCase`. 6998*b6fb3261SAndroid Build Coastguard Worker * Added a function `nested_value_rowids` for ragged tensors. 6999*b6fb3261SAndroid Build Coastguard Worker * Added `tf.ragged.stack`. 7000*b6fb3261SAndroid Build Coastguard Worker * Makes the a-normal form transformation in Pyct configurable as to which 7001*b6fb3261SAndroid Build Coastguard Worker nodes are converted to variables and which are not. 7002*b6fb3261SAndroid Build Coastguard Worker * `ResizeInputTensor` now works for all delegates. 7003*b6fb3261SAndroid Build Coastguard Worker * `tf.cond` emits a StatelessIf op if the branch functions are stateless 7004*b6fb3261SAndroid Build Coastguard Worker and do not touch any resources. 7005*b6fb3261SAndroid Build Coastguard Worker * Add support of local soft device placement for eager op. 7006*b6fb3261SAndroid Build Coastguard Worker * Pass partial_pivoting to the `_TridiagonalSolveGrad`. 7007*b6fb3261SAndroid Build Coastguard Worker * Add HW acceleration support for `LogSoftMax`. 7008*b6fb3261SAndroid Build Coastguard Worker * Add guard to avoid acceleration of L2 Normalization with input rank != 4 7009*b6fb3261SAndroid Build Coastguard Worker * Fix memory allocation problem when calling `AddNewInputConstantTensor`. 7010*b6fb3261SAndroid Build Coastguard Worker * Delegate application failure leaves interpreter in valid state 7011*b6fb3261SAndroid Build Coastguard Worker * `tf.while_loop` emits a StatelessWhile op if the cond and body functions 7012*b6fb3261SAndroid Build Coastguard Worker are stateless and do not touch any resources. 7013*b6fb3261SAndroid Build Coastguard Worker * `tf.cond`, `tf.while` and if and while in AutoGraph now accept a 7014*b6fb3261SAndroid Build Coastguard Worker nonscalar predicate if has a single element. This does not affect non-V2 7015*b6fb3261SAndroid Build Coastguard Worker control flow. 7016*b6fb3261SAndroid Build Coastguard Worker * Fix potential security vulnerability where decoding variant tensors from 7017*b6fb3261SAndroid Build Coastguard Worker proto could result in heap out of bounds memory access. 7018*b6fb3261SAndroid Build Coastguard Worker * Only create a GCS directory object if the object does not already exist. 7019*b6fb3261SAndroid Build Coastguard Worker * Introduce `dynamic` constructor argument in Layer and Model, which 7020*b6fb3261SAndroid Build Coastguard Worker should be set to `True` when using imperative control flow in the `call` 7021*b6fb3261SAndroid Build Coastguard Worker method. 7022*b6fb3261SAndroid Build Coastguard Worker * Begin adding Go wrapper for C Eager API. 7023*b6fb3261SAndroid Build Coastguard Worker * XLA HLO graphs can be inspected with interactive_graphviz tool now. 7024*b6fb3261SAndroid Build Coastguard Worker * Add dataset ops to the graph (or create kernels in Eager execution) 7025*b6fb3261SAndroid Build Coastguard Worker during the python Dataset object creation instead doing it during 7026*b6fb3261SAndroid Build Coastguard Worker Iterator creation time. 7027*b6fb3261SAndroid Build Coastguard Worker * Add `batch_dims` argument to `tf.gather`. 7028*b6fb3261SAndroid Build Coastguard Worker * The behavior of `tf.gather` is now correct when `axis=None` and 7029*b6fb3261SAndroid Build Coastguard Worker `batch_dims<0`. 7030*b6fb3261SAndroid Build Coastguard Worker * Update docstring for gather to properly describe the non-empty 7031*b6fb3261SAndroid Build Coastguard Worker `batch_dims` case. 7032*b6fb3261SAndroid Build Coastguard Worker * Removing of dtype in the constructor of initializers and partition_info 7033*b6fb3261SAndroid Build Coastguard Worker in call. 7034*b6fb3261SAndroid Build Coastguard Worker * Add `tf.math.nextafter` op. 7035*b6fb3261SAndroid Build Coastguard Worker * Turn on MKL-DNN contraction kernels by default. MKL-DNN dynamically 7036*b6fb3261SAndroid Build Coastguard Worker dispatches the best kernel implementation based on CPU vector 7037*b6fb3261SAndroid Build Coastguard Worker architecture. To disable them, build with 7038*b6fb3261SAndroid Build Coastguard Worker `--define=tensorflow_mkldnn_contraction_kernel=0`. 7039*b6fb3261SAndroid Build Coastguard Worker * `tf.linspace(start, stop, num)` now always uses "stop" as last value 7040*b6fb3261SAndroid Build Coastguard Worker (for num > 1) 7041*b6fb3261SAndroid Build Coastguard Worker * Added top-k to precision and recall to keras metrics. 7042*b6fb3261SAndroid Build Coastguard Worker * Add a ragged size op and register it to the op dispatcher 7043*b6fb3261SAndroid Build Coastguard Worker * Transitive dependencies on :`pooling_ops` were removed. Some users may 7044*b6fb3261SAndroid Build Coastguard Worker need to add explicit dependencies on :`pooling_ops` if they reference 7045*b6fb3261SAndroid Build Coastguard Worker the operators from that library. 7046*b6fb3261SAndroid Build Coastguard Worker * Add `CompositeTensor` base class. 7047*b6fb3261SAndroid Build Coastguard Worker * Malformed gif images could result in an access out of bounds in the 7048*b6fb3261SAndroid Build Coastguard Worker color palette of the frame. This has been fixed now 7049*b6fb3261SAndroid Build Coastguard Worker * Add templates and interfaces for creating lookup tables 7050*b6fb3261SAndroid Build Coastguard Worker * `Tensor::UnsafeCopyFromInternal` deprecated in favor 7051*b6fb3261SAndroid Build Coastguard Worker `Tensor::BitcastFrom`. 7052*b6fb3261SAndroid Build Coastguard Worker * In `map_vectorization` optimization, reduce the degree of parallelism in 7053*b6fb3261SAndroid Build Coastguard Worker the vectorized map node. 7054*b6fb3261SAndroid Build Coastguard Worker * Add variant wrapper for `absl::string_view`. 7055*b6fb3261SAndroid Build Coastguard Worker * Add OpKernels for some stateless maps. 7056*b6fb3261SAndroid Build Coastguard Worker * DType is no longer convertible to an int. Use `dtype.as_datatype_enum` 7057*b6fb3261SAndroid Build Coastguard Worker instead of `int(dtype)` to get the same result. 7058*b6fb3261SAndroid Build Coastguard Worker * Support both binary and -1/1 label input in v2 hinge and squared hinge 7059*b6fb3261SAndroid Build Coastguard Worker losses. 7060*b6fb3261SAndroid Build Coastguard Worker * Added `LinearOperator.adjoint` and `LinearOperator.H` (alias). 7061*b6fb3261SAndroid Build Coastguard Worker * Expose CriticalSection in core as `tf.CriticalSection`. 7062*b6fb3261SAndroid Build Coastguard Worker * Enhanced graphviz output. 7063*b6fb3261SAndroid Build Coastguard Worker * Add opkernel templates for common table operations. 7064*b6fb3261SAndroid Build Coastguard Worker * Fix callbacks do not log values in eager mode when a deferred build 7065*b6fb3261SAndroid Build Coastguard Worker model is used. 7066*b6fb3261SAndroid Build Coastguard Worker * `SignatureDef` util functions have been deprecated. 7067*b6fb3261SAndroid Build Coastguard Worker * Update `Fingerprint64Map` to use aliases 7068*b6fb3261SAndroid Build Coastguard Worker * Add legacy string flat hash map op kernels. 7069*b6fb3261SAndroid Build Coastguard Worker * Add support for `add_metric` in the graph function mode. 7070*b6fb3261SAndroid Build Coastguard Worker * Updating cosine similarity loss - removed the negate sign from cosine 7071*b6fb3261SAndroid Build Coastguard Worker similarity. 7072*b6fb3261SAndroid Build Coastguard Worker * Changed default for gradient accumulation for TPU embeddings to true. 7073*b6fb3261SAndroid Build Coastguard Worker * Adds summary trace API for collecting graph and profile information. 7074*b6fb3261SAndroid Build Coastguard Worker * The `precision_mode` argument to `TrtGraphConverter` is now case 7075*b6fb3261SAndroid Build Coastguard Worker insensitive. 7076*b6fb3261SAndroid Build Coastguard Worker 7077*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors 7078*b6fb3261SAndroid Build Coastguard Worker 7079*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as: 7080*b6fb3261SAndroid Build Coastguard Worker 7081*b6fb3261SAndroid Build Coastguard Worker1e100, a6802739, 4d55397500, a6802739, Abdullah Selek, abenmao, Abolfazl 7082*b6fb3261SAndroid Build Coastguard WorkerShahbazi, Adam Richter, Adam Weiss, Ag Ramesh, Alan Du, Albin Joy, Alex, Alex 7083*b6fb3261SAndroid Build Coastguard WorkerItkes, Alex Sergeev, Alexander Pivovarov, Alexey Romanov, alhkad, Aman Patel, 7084*b6fb3261SAndroid Build Coastguard WorkerAmit, Amit Kumar Jaiswal, Amit Srivastava, amoitra, Andreas Eberle, Andrew 7085*b6fb3261SAndroid Build Coastguard WorkerLihonosov, Andy Craze, Anshuman Tripathy, Anthony Hsu, Anthony Platanios, Anuj 7086*b6fb3261SAndroid Build Coastguard WorkerRawat, arp95, Arpit Shah, Armen Poghosov, armenpoghosov, Astropeak, Ashwin 7087*b6fb3261SAndroid Build Coastguard WorkerRamaswami, Arpit Shah, Augustina Ragwitz, Aurelien Geron, AuréLien Geron, 7088*b6fb3261SAndroid Build Coastguard Workeravasid, aweers, awesomealex1, Ayush Agrawal, Bas Aarts, Bastian Eichenberger, 7089*b6fb3261SAndroid Build Coastguard WorkerBairen Yi, Bayberry Z, Ben Barsdell, Benjamin Peterson, bhack, Bharat 7090*b6fb3261SAndroid Build Coastguard WorkerRaghunathan, Bhavani Subramanian, Bin Fan, blairhan, BléNesi Attila, Bodin-E, 7091*b6fb3261SAndroid Build Coastguard WorkerBrandon Carter, Bryan Cutler, candy.dc, Cao Zongyan, Casper Da Costa-Luis, Chao 7092*b6fb3261SAndroid Build Coastguard WorkerLiu, Chen Guoyin, chenchc, chengchingwen, chie8842, Christian Hansen, Christoph 7093*b6fb3261SAndroid Build Coastguard WorkerBoeddeker, Christopher Yeh, Clayne Robison, Coady, Patrick, crafet, csukuangfj, 7094*b6fb3261SAndroid Build Coastguard Workerctiijima, Dan Jarvis, Dan Lazewatsky, Daniel Ingram, Daniel Rasmussen, Daniel 7095*b6fb3261SAndroid Build Coastguard WorkerSalvadori, Dave Airlie, David Norman, Dayananda V, delock, Denis Khalikov, Deven 7096*b6fb3261SAndroid Build Coastguard WorkerDesai, Dheeraj Rajaram Reddy, Diego Caballero, dmitrievanthony, Donovan Ong, 7097*b6fb3261SAndroid Build Coastguard WorkerDrew Szurko, Duncan Dean, Duncan Riach, Dustin Neighly, Dwight J Lyle, Eamon 7098*b6fb3261SAndroid Build Coastguard WorkerIto-Fisher, eashtian3, Edward Forgacs, EFanZh, ejot, Elroy Ashtian Jr, Eric 7099*b6fb3261SAndroid Build Coastguard WorkerSchweitz, Evgeniy Polyakov, Fangjun Kuang, Federico Martinez, Fei Hu, Felix 7100*b6fb3261SAndroid Build Coastguard WorkerLemke, Filip Matzner, FlashTek, fo40225, formath, FrançOis Chollet, frreiss, 7101*b6fb3261SAndroid Build Coastguard WorkerFred Reiss, Frederic Bastien, Fredrik Knutsson, G. Hussain Chinoy, Gabriel, 7102*b6fb3261SAndroid Build Coastguard WorkerGautam, gehring, Geoffrey Irving, George Grzegorz Pawelczak, Grzegorz Pawelczak, 7103*b6fb3261SAndroid Build Coastguard WorkerGeorge Sterpu, Gianluca Varisco, Gleb Popov, Greg Peatfield, Guillaume Klein, 7104*b6fb3261SAndroid Build Coastguard WorkerGurpreet Singh, Gustavo Lima Chaves, Gyoung-Yoon Ryoo, haison, Hanton Yang, 7105*b6fb3261SAndroid Build Coastguard WorkerHanGuo97, Haraldur TóMas HallgríMsson, Hari Shankar, hehongliang, Heungsub Lee, 7106*b6fb3261SAndroid Build Coastguard WorkerHoeseong Kim, Huan Li (李卓桓), HåKon Sandsmark, I-Hong, I-Hong Jhuo, Ilham 7107*b6fb3261SAndroid Build Coastguard WorkerFirdausi Putra, Ilango R, Imran Salam, Innovimax, Jacky Ko, Irene Dea, Ivan 7108*b6fb3261SAndroid Build Coastguard WorkerHabernal, Jakub Lipinski, Jacky, Jason Zaman, Jason Zavaglia, jayhpark530, 7109*b6fb3261SAndroid Build Coastguard Workerjcf94, jefby, Jeff Daily, Jeff Poznanovic, Jeffrey Poznanovic, Jekyll Lai, jer, 7110*b6fb3261SAndroid Build Coastguard WorkerJeroen BéDorf, jerryyin, jhalakp, jiakai, Jia Qingtong, Jiankang, JiangXIAO, Joe 7111*b6fb3261SAndroid Build Coastguard WorkerBowser, Joe Q, Joe Quadrino, Joel Shapiro, Johan Gunnarsson, Jojimon Varghese, 7112*b6fb3261SAndroid Build Coastguard WorkerJonas Rauber, Jonathan Kyl, Jonathan, Joon, Joppe Geluykens, Joseph Friedman, 7113*b6fb3261SAndroid Build Coastguard WorkerJosh Beal, jtressle, Julian Niedermeier, Junqin Zhang, Justin Dujardin, Justin 7114*b6fb3261SAndroid Build Coastguard WorkerTunis, jwu, K. Hodges, kaixih, Kaixi Hou, kjopek, Karl Lessard, Karl 7115*b6fb3261SAndroid Build Coastguard WorkerWeinmeister, Karthik Muthuraman, Kashif Rasul, Kay Zhu, Kbhute-Ibm, KDR, Keno 7116*b6fb3261SAndroid Build Coastguard WorkerFischer, Kevin Mader, khanhlvg, Kilaru Yasaswi Sri Chandra Gandhi, Koan-Sin Tan, 7117*b6fb3261SAndroid Build Coastguard WorkerKoock Yoon, kouml, ktaebum, Kyuwon Kim, Lakshay Tokas, Laurent Le Brun, 7118*b6fb3261SAndroid Build Coastguard Workerleike666666, leonard951, Leslie-Fang, Letian Kang, Li, Guizi, Loo Rong Jie, 7119*b6fb3261SAndroid Build Coastguard WorkerLucas Hendren, Lukas Folle, Lukas Geiger, Luke Han, luxupu, lvli, Ma, Guokai, 7120*b6fb3261SAndroid Build Coastguard WorkerMahmoud Abuzaina, Maksym Kysylov, Mandar Deshpande, manhyuk, Manraj Singh 7121*b6fb3261SAndroid Build Coastguard WorkerGrover, Marco Gaido, Marek Drozdowski, Margaret Maynard-Reid, Mark Ryan, mars20, 7122*b6fb3261SAndroid Build Coastguard WorkerMateusz Chudyk, Matt Conley, mbhuiyan, mdfaijul, Mei Jie, Melissa Grueter, 7123*b6fb3261SAndroid Build Coastguard Workermerturl, MichaelKonobeev, Michael KäUfl, Michal W. Tarnowski, MickaëL 7124*b6fb3261SAndroid Build Coastguard WorkerSchoentgen, Miguel Morin, Mihail Salnikov, Mikalai Drabovich, Mike Arpaia, Mike 7125*b6fb3261SAndroid Build Coastguard WorkerHolcomb, minds, monklof, Moses Marin, mpppk, Mr. Metal, Mshr-H, musikisomorphie, 7126*b6fb3261SAndroid Build Coastguard Workernammbash, Natalia Gimelshein, Nathan Luehr, Nayana-Ibm, Nayana Thorat, neargye, 7127*b6fb3261SAndroid Build Coastguard WorkerNeeraj Pradhan, Nehal J Wani, Neil, Nick, Nick Lewycky, Niels Ole Salscheider, 7128*b6fb3261SAndroid Build Coastguard WorkerNiklas SilfverströM, Niranjan Hasabnis, Nuka-137, Nutti, ocjosen, olicht, 7129*b6fb3261SAndroid Build Coastguard Workeromeir1, P Sudeepam, Paige Bailey, Palmer Lao, Pan Daoxin, Pariksheet Pinjari, 7130*b6fb3261SAndroid Build Coastguard WorkerPasquale Minervini, Patrick J. Lopresti, Patrik Gustavsson, Pavel Akhtyamov, 7131*b6fb3261SAndroid Build Coastguard WorkerPavel Samolysov, PENGWA, per1234, PeterLee, Phan Van Nguyen Duc, Philipp Jund, 7132*b6fb3261SAndroid Build Coastguard WorkerPhillip Kravtsov, Pooya Davoodi, Pranav Marathe, Putra Manggala, Qingqing Cao, R 7133*b6fb3261SAndroid Build Coastguard WorkerS Nikhil Krishna, Rajeshwar Reddy T, Ramon ViñAs, Rasmus Diederichsen, Reuben 7134*b6fb3261SAndroid Build Coastguard WorkerMorais, robert, Rohit Gupta, Roland Zimmermann, Roman Soldatow, RonLek, Ruizhe, 7135*b6fb3261SAndroid Build Coastguard WorkerRyan Jiang, saishruthi, Saleem Abdulrasool, Samantha Andow, Sami Kama, 7136*b6fb3261SAndroid Build Coastguard WorkerSana-Damani, Saurabh Deoras, sdamani, Sean Morgan, seanshpark, Sebastien Iooss, 7137*b6fb3261SAndroid Build Coastguard WorkerServ-Inc, Severen Redwood, Shahzad Lone, Shashank Gupta, shashvat, Shashvat 7138*b6fb3261SAndroid Build Coastguard WorkerChand Shahi, Shubham Goyal, Shashi, Sigrid Keydana, Siju, Siju Samuel, 7139*b6fb3261SAndroid Build Coastguard Workersleighsoft, smilu97, Snease-Abq, Son Tran, Spencer Schaber, sremedios, Srini511, 7140*b6fb3261SAndroid Build Coastguard Workersrinivasan.narayanamoorthy, Steve Lang, Steve Nesae, Subin, Sumesh Udayakumaran, 7141*b6fb3261SAndroid Build Coastguard WorkerSungmann Cho, sunway513, Supriya Rao, sxwang, Tae-Hwan Jung, Taehoon Lee, Takeo 7142*b6fb3261SAndroid Build Coastguard WorkerSawada, Taylor Jakobson, Taylor Thornton, Ted Chang, TengLu, terryky, 7143*b6fb3261SAndroid Build Coastguard WorkerThisIsIsaac, ThisIsPIRI, Thomas Deegan, Thomas Hagebols, tianyapiaozi, Till 7144*b6fb3261SAndroid Build Coastguard WorkerHoffmann, Tim Zaman, tomguluson92, Tongxuan Liu, Trent Lo, Trevor Morris, 7145*b6fb3261SAndroid Build Coastguard WorkerTungJerry, Tyorden, Uday Bondhugula, v1incent, Vagif, Vasileios Lioutas, 7146*b6fb3261SAndroid Build Coastguard Workervbvg2008, vcarpani, Vijay Ravichandran, Vikram Tiwari,Viktor Gal, Vishwak 7147*b6fb3261SAndroid Build Coastguard WorkerSrinivasan, Vincent, Vishnuvardhan Janapati, Vitor-Alves, Vivek Suryamurthy, 7148*b6fb3261SAndroid Build Coastguard Workerwangsiyu, wateryzephyr, WeberXie, Wei Wang, WeijieSun, Wen-Heng (Jack) Chung, 7149*b6fb3261SAndroid Build Coastguard Workerwenxizhu, Will Battel, William D. Irons, winstonq, wyzhao, Xiaoming (Jason) Cui, 7150*b6fb3261SAndroid Build Coastguard WorkerXiaoquan Kong, Xin, Xinping Wang, Yan Facai (颜发才), Yann-Yy, Yasir Modak, 7151*b6fb3261SAndroid Build Coastguard WorkerYasuhiro Matsumoto, ymodak, Yong Tang, Yongfeng Gu, Younes Khoudli, Yuan Lin, 7152*b6fb3261SAndroid Build Coastguard WorkerYuan (Terry) Tang, Yuchen Ying, Yves-Noel Weweler, zhangyujing, zjjott, zyeric, 7153*b6fb3261SAndroid Build Coastguard Worker王振华 (Zhenhua Wang), 黄鑫 7154*b6fb3261SAndroid Build Coastguard Worker 7155*b6fb3261SAndroid Build Coastguard Worker# Release 1.14.0 7156*b6fb3261SAndroid Build Coastguard Worker 7157*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements 7158*b6fb3261SAndroid Build Coastguard Worker 7159*b6fb3261SAndroid Build Coastguard Worker* This is the first 1.x release containing the compat.v2 module. This module 7160*b6fb3261SAndroid Build Coastguard Worker is required to allow libraries to publish code which works in both 1.x and 7161*b6fb3261SAndroid Build Coastguard Worker 2.x. After this release, no backwards incompatible changes are allowed in 7162*b6fb3261SAndroid Build Coastguard Worker the 2.0 Python API. 7163*b6fb3261SAndroid Build Coastguard Worker* Turn on MKL-DNN contraction kernels by default. MKL-DNN dynamically 7164*b6fb3261SAndroid Build Coastguard Worker dispatches the best kernel implementation based on CPU vector architecture. 7165*b6fb3261SAndroid Build Coastguard Worker To disable them, build with --define=tensorflow_mkldnn_contraction_kernel=0. 7166*b6fb3261SAndroid Build Coastguard Worker 7167*b6fb3261SAndroid Build Coastguard Worker## Behavioral changes 7168*b6fb3261SAndroid Build Coastguard Worker 7169*b6fb3261SAndroid Build Coastguard Worker* Set default loss reduction as `AUTO` for improving reliability of loss 7170*b6fb3261SAndroid Build Coastguard Worker scaling with distribution strategy and custom training loops. `AUTO` 7171*b6fb3261SAndroid Build Coastguard Worker indicates that the reduction option will be determined by the usage context. 7172*b6fb3261SAndroid Build Coastguard Worker For almost all cases this defaults to `SUM_OVER_BATCH_SIZE`. When used in 7173*b6fb3261SAndroid Build Coastguard Worker distribution strategy scope, outside of built-in training loops such as 7174*b6fb3261SAndroid Build Coastguard Worker `tf.keras` `compile` and `fit`, we expect reduction value to be 'None' or 7175*b6fb3261SAndroid Build Coastguard Worker 'SUM'. Using other values will raise an error. 7176*b6fb3261SAndroid Build Coastguard Worker* Wraps losses passed to the `compile` API (strings and v1 losses) which are 7177*b6fb3261SAndroid Build Coastguard Worker not instances of v2 `Loss` class in `LossWrapper` class. => All losses will 7178*b6fb3261SAndroid Build Coastguard Worker now use `SUM_OVER_BATCH_SIZE` reduction as default. 7179*b6fb3261SAndroid Build Coastguard Worker* Disable `run_eagerly` and distribution strategy if there are symbolic 7180*b6fb3261SAndroid Build Coastguard Worker tensors added to the model using `add_metric` or `add_loss`. 7181*b6fb3261SAndroid Build Coastguard Worker* tf.linspace(start, stop, num) now always uses "stop" as last value (for 7182*b6fb3261SAndroid Build Coastguard Worker num > 1) 7183*b6fb3261SAndroid Build Coastguard Worker* `ResourceVariable` and `Variable` no longer accepts `constraint` in the 7184*b6fb3261SAndroid Build Coastguard Worker constructor, nor expose it as a @property. 7185*b6fb3261SAndroid Build Coastguard Worker* The behavior of tf.gather is now correct when axis=None and batch_dims<0. 7186*b6fb3261SAndroid Build Coastguard Worker* Only create a GCS directory object if the object does not already exist. 7187*b6fb3261SAndroid Build Coastguard Worker* In `map_vectorization` optimization, reduce the degree of parallelism in the 7188*b6fb3261SAndroid Build Coastguard Worker vectorized map node. 7189*b6fb3261SAndroid Build Coastguard Worker* Bug fix: loss and gradients should now more reliably be correctly scaled 7190*b6fb3261SAndroid Build Coastguard Worker w.r.t. the global batch size when using a tf.distribute.Strategy. 7191*b6fb3261SAndroid Build Coastguard Worker* Updating cosine similarity loss - removed the negate sign from cosine 7192*b6fb3261SAndroid Build Coastguard Worker similarity. 7193*b6fb3261SAndroid Build Coastguard Worker* DType is no longer convertible to an int. Use dtype.as_datatype_enum instead 7194*b6fb3261SAndroid Build Coastguard Worker of int(dtype) to get the same result. 7195*b6fb3261SAndroid Build Coastguard Worker* Changed default for gradient accumulation for TPU embeddings to true. 7196*b6fb3261SAndroid Build Coastguard Worker* Callbacks now log values in eager mode when a deferred build model is used. 7197*b6fb3261SAndroid Build Coastguard Worker* Transitive dependencies on :pooling_ops were removed. Some users may need to 7198*b6fb3261SAndroid Build Coastguard Worker add explicit dependencies on :pooling_ops if they reference the operators 7199*b6fb3261SAndroid Build Coastguard Worker from that library. 7200*b6fb3261SAndroid Build Coastguard Worker* tf.keras.optimizers default learning rate changes: 7201*b6fb3261SAndroid Build Coastguard Worker * Adadelta: 1.000 to 0.001 7202*b6fb3261SAndroid Build Coastguard Worker * Adagrad: 0.01 to 0.001 7203*b6fb3261SAndroid Build Coastguard Worker * Adamax: 0.002 to 0.001 7204*b6fb3261SAndroid Build Coastguard Worker * NAdam: 0.002 to 0.001 7205*b6fb3261SAndroid Build Coastguard Worker 7206*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 7207*b6fb3261SAndroid Build Coastguard Worker 7208*b6fb3261SAndroid Build Coastguard Worker* Documentation 7209*b6fb3261SAndroid Build Coastguard Worker* Deprecations and Symbol renames. 7210*b6fb3261SAndroid Build Coastguard Worker * Remove unused StringViewVariantWrapper 7211*b6fb3261SAndroid Build Coastguard Worker * Delete unused Fingerprint64Map op registration 7212*b6fb3261SAndroid Build Coastguard Worker * SignatureDef util functions have been deprecated. 7213*b6fb3261SAndroid Build Coastguard Worker * Renamed tf.image functions to remove duplicate "image" where it is 7214*b6fb3261SAndroid Build Coastguard Worker redundant. 7215*b6fb3261SAndroid Build Coastguard Worker * tf.keras.experimental.export renamed to 7216*b6fb3261SAndroid Build Coastguard Worker tf.keras.experimental.export_saved_model 7217*b6fb3261SAndroid Build Coastguard Worker * Standardize the LayerNormalization API by replacing the args `norm_axis` 7218*b6fb3261SAndroid Build Coastguard Worker and `params_axis` with `axis`. 7219*b6fb3261SAndroid Build Coastguard Worker * Tensor::UnsafeCopyFromInternal deprecated in favor Tensor::BitcastFrom 7220*b6fb3261SAndroid Build Coastguard Worker* Keras & Python API 7221*b6fb3261SAndroid Build Coastguard Worker * Add v2 module aliases for: 7222*b6fb3261SAndroid Build Coastguard Worker * tf.initializers => tf.keras.initializers 7223*b6fb3261SAndroid Build Coastguard Worker * tf.losses => tf.keras.losses & tf.metrics => tf.keras.metrics 7224*b6fb3261SAndroid Build Coastguard Worker * tf.optimizers => tf.keras.optimizers 7225*b6fb3261SAndroid Build Coastguard Worker * Add tf.keras.layers.AbstractRNNCell as the preferred implementation of 7226*b6fb3261SAndroid Build Coastguard Worker RNN cell for TF v2. User can use it to implement RNN cell with custom 7227*b6fb3261SAndroid Build Coastguard Worker behavior. 7228*b6fb3261SAndroid Build Coastguard Worker * Adding `clear_losses` API to be able to clear losses at the end of 7229*b6fb3261SAndroid Build Coastguard Worker forward pass in a custom training loop in eager. 7230*b6fb3261SAndroid Build Coastguard Worker * Add support for passing list of lists to the `metrics` param in Keras 7231*b6fb3261SAndroid Build Coastguard Worker `compile`. 7232*b6fb3261SAndroid Build Coastguard Worker * Added top-k to precision and recall to keras metrics. 7233*b6fb3261SAndroid Build Coastguard Worker * Adding public APIs for `cumsum` and `cumprod` keras backend functions. 7234*b6fb3261SAndroid Build Coastguard Worker * Fix: model.add_loss(symbolic_tensor) should work in ambient eager. 7235*b6fb3261SAndroid Build Coastguard Worker * Add name argument to tf.string_split and tf.strings_split 7236*b6fb3261SAndroid Build Coastguard Worker * Minor change to SavedModels exported from Keras using 7237*b6fb3261SAndroid Build Coastguard Worker tf.keras.experimental.export. (SignatureDef key for evaluation mode is 7238*b6fb3261SAndroid Build Coastguard Worker now "eval" instead of "test"). This will be reverted back to "test" in 7239*b6fb3261SAndroid Build Coastguard Worker the near future. 7240*b6fb3261SAndroid Build Coastguard Worker * Updates binary cross entropy logic in Keras when input is probabilities. 7241*b6fb3261SAndroid Build Coastguard Worker Instead of converting probabilities to logits, we are using the cross 7242*b6fb3261SAndroid Build Coastguard Worker entropy formula for probabilities. 7243*b6fb3261SAndroid Build Coastguard Worker * Raw TensorFlow functions can now be used in conjunction with the Keras 7244*b6fb3261SAndroid Build Coastguard Worker Functional API during model creation. This obviates the need for users 7245*b6fb3261SAndroid Build Coastguard Worker to create Lambda layers in most cases when using the Functional API. 7246*b6fb3261SAndroid Build Coastguard Worker Like Lambda layers, TensorFlow functions that result in Variable 7247*b6fb3261SAndroid Build Coastguard Worker creation or assign ops are not supported. 7248*b6fb3261SAndroid Build Coastguard Worker * Keras training and validation curves are shown on the same plot. 7249*b6fb3261SAndroid Build Coastguard Worker * Introduce `dynamic` constructor argument in Layer and Model, which 7250*b6fb3261SAndroid Build Coastguard Worker should be set to True when using imperative control flow in the `call` 7251*b6fb3261SAndroid Build Coastguard Worker method. 7252*b6fb3261SAndroid Build Coastguard Worker * Removing of dtype in the constructor of initializers and partition_info 7253*b6fb3261SAndroid Build Coastguard Worker in call. 7254*b6fb3261SAndroid Build Coastguard Worker* New ops and improved op functionality 7255*b6fb3261SAndroid Build Coastguard Worker * Add OpKernels for some stateless maps 7256*b6fb3261SAndroid Build Coastguard Worker * Add v2 APIs for AUCCurve and AUCSummationMethod 7257*b6fb3261SAndroid Build Coastguard Worker enums. #tf-metrics-convergence 7258*b6fb3261SAndroid Build Coastguard Worker * Add tf.math.nextafter op. 7259*b6fb3261SAndroid Build Coastguard Worker * Add CompositeTensor base class. 7260*b6fb3261SAndroid Build Coastguard Worker * Add tf.linalg.tridiagonal_solve op. 7261*b6fb3261SAndroid Build Coastguard Worker * Add opkernel templates for common table operations. 7262*b6fb3261SAndroid Build Coastguard Worker * Added support for TFLite in TensorFlow 2.0. 7263*b6fb3261SAndroid Build Coastguard Worker * Adds summary trace API for collecting graph and profile information. 7264*b6fb3261SAndroid Build Coastguard Worker * Add batch_dims argument to tf.gather. 7265*b6fb3261SAndroid Build Coastguard Worker * Add support for `add_metric` in the graph function mode. 7266*b6fb3261SAndroid Build Coastguard Worker * Add C++ Gradient for BatchMatMulV2. 7267*b6fb3261SAndroid Build Coastguard Worker * Added tf.random.binomial 7268*b6fb3261SAndroid Build Coastguard Worker * Added gradient for SparseToDense op. 7269*b6fb3261SAndroid Build Coastguard Worker * Add legacy string flat hash map op kernels 7270*b6fb3261SAndroid Build Coastguard Worker * Add a ragged size op and register it to the op dispatcher 7271*b6fb3261SAndroid Build Coastguard Worker * Add broadcasting support to tf.matmul. 7272*b6fb3261SAndroid Build Coastguard Worker * Add ellipsis (...) support for tf.einsum() 7273*b6fb3261SAndroid Build Coastguard Worker * Added LinearOperator.adjoint and LinearOperator.H (alias). 7274*b6fb3261SAndroid Build Coastguard Worker * Added GPU implementation of tf.linalg.tridiagonal_solve. 7275*b6fb3261SAndroid Build Coastguard Worker * Added strings.byte_split 7276*b6fb3261SAndroid Build Coastguard Worker * Add RaggedTensor.placeholder() 7277*b6fb3261SAndroid Build Coastguard Worker * Add a new "result_type" parameter to tf.strings.split 7278*b6fb3261SAndroid Build Coastguard Worker * `add_update` can now be passed a zero-arg callable in order to support 7279*b6fb3261SAndroid Build Coastguard Worker turning off the update when setting `trainable=False` on a Layer of a 7280*b6fb3261SAndroid Build Coastguard Worker Model compiled with `run_eagerly=True`. 7281*b6fb3261SAndroid Build Coastguard Worker * Add variant wrapper for absl::string_view 7282*b6fb3261SAndroid Build Coastguard Worker * Add expand_composites argument to all nest.* methods. 7283*b6fb3261SAndroid Build Coastguard Worker * Add pfor converter for Squeeze. 7284*b6fb3261SAndroid Build Coastguard Worker * Bug fix for tf.tile gradient 7285*b6fb3261SAndroid Build Coastguard Worker * Expose CriticalSection in core as tf.CriticalSection. 7286*b6fb3261SAndroid Build Coastguard Worker * Update Fingerprint64Map to use aliases 7287*b6fb3261SAndroid Build Coastguard Worker * ResourceVariable support for gather_nd. 7288*b6fb3261SAndroid Build Coastguard Worker * ResourceVariable's gather op supports batch dimensions. 7289*b6fb3261SAndroid Build Coastguard Worker * Variadic reduce is supported on CPU 7290*b6fb3261SAndroid Build Coastguard Worker * Extend tf.function with basic support for CompositeTensors arguments 7291*b6fb3261SAndroid Build Coastguard Worker (such as SparseTensor and RaggedTensor). 7292*b6fb3261SAndroid Build Coastguard Worker * Add templates and interfaces for creating lookup tables 7293*b6fb3261SAndroid Build Coastguard Worker * Post-training quantization tool supports quantizing weights shared by 7294*b6fb3261SAndroid Build Coastguard Worker multiple operations. The models made with versions of this tool will use 7295*b6fb3261SAndroid Build Coastguard Worker INT8 types for weights and will only be executable interpreters from 7296*b6fb3261SAndroid Build Coastguard Worker this version onwards. 7297*b6fb3261SAndroid Build Coastguard Worker * Malformed gif images could result in an access out of bounds in the 7298*b6fb3261SAndroid Build Coastguard Worker color palette of the frame. This has been fixed now 7299*b6fb3261SAndroid Build Coastguard Worker * image.resize now considers proper pixel centers and has new kernels 7300*b6fb3261SAndroid Build Coastguard Worker (incl. anti-aliasing). 7301*b6fb3261SAndroid Build Coastguard Worker * Added an isotonic regression solver (tf.nn.isotonic_regression). 7302*b6fb3261SAndroid Build Coastguard Worker* Performance 7303*b6fb3261SAndroid Build Coastguard Worker * Turn on MKL-DNN contraction kernels by default. MKL-DNN dynamically 7304*b6fb3261SAndroid Build Coastguard Worker dispatches the best kernel implementation based on CPU vector 7305*b6fb3261SAndroid Build Coastguard Worker architecture. To disable them, build with 7306*b6fb3261SAndroid Build Coastguard Worker --define=tensorflow_mkldnn_contraction_kernel=0. 7307*b6fb3261SAndroid Build Coastguard Worker * Support for multi-host ncclAllReduce in Distribution Strategy. 7308*b6fb3261SAndroid Build Coastguard Worker * Expose a flag that allows the number of threads to vary across Python 7309*b6fb3261SAndroid Build Coastguard Worker benchmarks. 7310*b6fb3261SAndroid Build Coastguard Worker* TensorFlow 2.0 Development 7311*b6fb3261SAndroid Build Coastguard Worker * Add v2 sparse categorical crossentropy metric. 7312*b6fb3261SAndroid Build Coastguard Worker * Allow non-Tensors through v2 losses. 7313*b6fb3261SAndroid Build Coastguard Worker * Add UnifiedGRU as the new GRU implementation for tf2.0. Change the 7314*b6fb3261SAndroid Build Coastguard Worker default recurrent activation function for GRU from 'hard_sigmoid' to 7315*b6fb3261SAndroid Build Coastguard Worker 'sigmoid', and 'reset_after' to True in 2.0. Historically recurrent 7316*b6fb3261SAndroid Build Coastguard Worker activation is 'hard_sigmoid' since it is fast than 'sigmoid'. With new 7317*b6fb3261SAndroid Build Coastguard Worker unified backend between CPU and GPU mode, since the CuDNN kernel is 7318*b6fb3261SAndroid Build Coastguard Worker using sigmoid, we change the default for CPU mode to sigmoid as well. 7319*b6fb3261SAndroid Build Coastguard Worker With that, the default GRU will be compatible with both CPU and GPU 7320*b6fb3261SAndroid Build Coastguard Worker kernel. This will enable user with GPU to use CuDNN kernel by default 7321*b6fb3261SAndroid Build Coastguard Worker and get a 10x performance boost in training. Note that this is 7322*b6fb3261SAndroid Build Coastguard Worker checkpoint breaking change. If user want to use their 1.x pre-trained 7323*b6fb3261SAndroid Build Coastguard Worker checkpoint, please construct the layer with 7324*b6fb3261SAndroid Build Coastguard Worker GRU(recurrent_activation='hard_sigmoid', reset_after=False) to fallback 7325*b6fb3261SAndroid Build Coastguard Worker to 1.x behavior. 7326*b6fb3261SAndroid Build Coastguard Worker * TF 2.0 - Update metric name to always reflect what the user has given in 7327*b6fb3261SAndroid Build Coastguard Worker compile. Affects following cases 1. When name is given as 7328*b6fb3261SAndroid Build Coastguard Worker 'accuracy'/'crossentropy' 2. When an aliased function name is used eg. 7329*b6fb3261SAndroid Build Coastguard Worker 'mse' 3. Removing the `weighted` prefix from weighted metric names. 7330*b6fb3261SAndroid Build Coastguard Worker * Begin adding Go wrapper for C Eager API 7331*b6fb3261SAndroid Build Coastguard Worker * image.resize in 2.0 now supports gradients for the new resize kernels. 7332*b6fb3261SAndroid Build Coastguard Worker * removed tf.string_split from v2 API 7333*b6fb3261SAndroid Build Coastguard Worker * Expose tf.contrib.proto.* ops in tf.io (they will exist in TF2) 7334*b6fb3261SAndroid Build Coastguard Worker * "Updates the TFLiteConverter API in 2.0. Changes from_concrete_function 7335*b6fb3261SAndroid Build Coastguard Worker to from_concrete_functions." 7336*b6fb3261SAndroid Build Coastguard Worker * Enable tf.distribute.experimental.MultiWorkerMirroredStrategy working in 7337*b6fb3261SAndroid Build Coastguard Worker eager mode. 7338*b6fb3261SAndroid Build Coastguard Worker * Support both binary and -1/1 label input in v2 hinge and squared hinge 7339*b6fb3261SAndroid Build Coastguard Worker losses. 7340*b6fb3261SAndroid Build Coastguard Worker* TensorFlow Lite 7341*b6fb3261SAndroid Build Coastguard Worker * "Adds support for tflite_convert in 2.0." 7342*b6fb3261SAndroid Build Coastguard Worker * "Remove lite.OpHint, lite.experimental, and lite.constant from 2.0 API." 7343*b6fb3261SAndroid Build Coastguard Worker* tf.contrib 7344*b6fb3261SAndroid Build Coastguard Worker * Added Neural Turing Implementation as described in 7345*b6fb3261SAndroid Build Coastguard Worker https://arxiv.org/abs/1807.08518. 7346*b6fb3261SAndroid Build Coastguard Worker * Remove tf.contrib.timeseries dependency on TF distributions. 7347*b6fb3261SAndroid Build Coastguard Worker* tf.data 7348*b6fb3261SAndroid Build Coastguard Worker * Add num_parallel_reads and passing in a Dataset containing filenames 7349*b6fb3261SAndroid Build Coastguard Worker into TextLineDataset and FixedLengthRecordDataset 7350*b6fb3261SAndroid Build Coastguard Worker * Going forward we operate in TF 2.0, this change is part of the effort to 7351*b6fb3261SAndroid Build Coastguard Worker slowly converting XYZDataset to DatasetV2 type which is the official 7352*b6fb3261SAndroid Build Coastguard Worker version going to be used in TF 2.0 and motivated by some compatibility 7353*b6fb3261SAndroid Build Coastguard Worker issue found, _BigtableXYZDataset (of type DatasetV2) does not implement 7354*b6fb3261SAndroid Build Coastguard Worker the _as_variant_tensor() of DatasetV1, when moving contrib.bigtable to 7355*b6fb3261SAndroid Build Coastguard Worker tensorflow_io. Converting into DatasetV2 removes the overheads to 7356*b6fb3261SAndroid Build Coastguard Worker maintain V1 while we are moving into TF 2.0. 7357*b6fb3261SAndroid Build Coastguard Worker * Add dataset ops to the graph (or create kernels in Eager execution) 7358*b6fb3261SAndroid Build Coastguard Worker during the python Dataset object creation instead doing it during 7359*b6fb3261SAndroid Build Coastguard Worker Iterator creation time. 7360*b6fb3261SAndroid Build Coastguard Worker * Add support for TensorArrays to tf.data Dataset. 7361*b6fb3261SAndroid Build Coastguard Worker * Switching tf.data functions to use `defun`, providing an escape hatch to 7362*b6fb3261SAndroid Build Coastguard Worker continue using the legacy `Defun`. 7363*b6fb3261SAndroid Build Coastguard Worker* Toolchains 7364*b6fb3261SAndroid Build Coastguard Worker * CUDNN_INSTALL_PATH, TENSORRT_INSTALL_PATH, NCCL_INSTALL_PATH, 7365*b6fb3261SAndroid Build Coastguard Worker NCCL_HDR_PATH are deprecated. Use TF_CUDA_PATHS instead which supports a 7366*b6fb3261SAndroid Build Coastguard Worker comma-separated list of base paths that are searched to find CUDA 7367*b6fb3261SAndroid Build Coastguard Worker libraries and headers. 7368*b6fb3261SAndroid Build Coastguard Worker * TF code now resides in `tensorflow_core` and `tensorflow` is just a 7369*b6fb3261SAndroid Build Coastguard Worker virtual pip package. No code changes are needed for projects using 7370*b6fb3261SAndroid Build Coastguard Worker TensorFlow, the change is transparent 7371*b6fb3261SAndroid Build Coastguard Worker* XLA 7372*b6fb3261SAndroid Build Coastguard Worker * XLA HLO graphs can be inspected with interactive_graphviz tool now. 7373*b6fb3261SAndroid Build Coastguard Worker* Estimator 7374*b6fb3261SAndroid Build Coastguard Worker * Use tf.compat.v1.estimator.inputs instead of tf.estimator.inputs 7375*b6fb3261SAndroid Build Coastguard Worker * Replace contrib references with tf.estimator.experimental.* for apis in 7376*b6fb3261SAndroid Build Coastguard Worker early_stopping.py 7377*b6fb3261SAndroid Build Coastguard Worker 7378*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors 7379*b6fb3261SAndroid Build Coastguard Worker 7380*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as: 7381*b6fb3261SAndroid Build Coastguard Worker 7382*b6fb3261SAndroid Build Coastguard Worker1e100, 4d55397500, a6802739, abenmao, Adam Weiss, Ag Ramesh, Alan Du, Albin Joy, 7383*b6fb3261SAndroid Build Coastguard WorkerAlex, Aman Patel, Amit, Amit Kumar Jaiswal, Amit Srivastava, Andreas Eberle, 7384*b6fb3261SAndroid Build Coastguard WorkerAndy Craze, Anthony Platanios, Armen Poghosov, armenpoghosov, arp95, Arpit Shah, 7385*b6fb3261SAndroid Build Coastguard WorkerAshwin Ramaswami, Aurelien Geron, AuréLien Geron, aweers, awesomealex1, Ayush 7386*b6fb3261SAndroid Build Coastguard WorkerAgrawal, Ben Barsdell, Bharat Raghunathan, Bhavani Subramanian, blairhan, 7387*b6fb3261SAndroid Build Coastguard WorkerBléNesi Attila, Brandon Carter, candy.dc, Chao Liu, chenchc, chie8842, Christian 7388*b6fb3261SAndroid Build Coastguard WorkerHansen, Christian Sigg, Clayne Robison, crafet, csukuangfj, ctiijima, Dan 7389*b6fb3261SAndroid Build Coastguard WorkerJarvis, Dan Lazewatsky, Daniel Ingram, Daniel Salvadori, Dave Airlie, David 7390*b6fb3261SAndroid Build Coastguard WorkerNorman, Dayananda V, Dayananda-V, delock, Denis Khalikov, Deven Desai, Dheeraj 7391*b6fb3261SAndroid Build Coastguard WorkerRajaram Reddy, dmitrievanthony, Donovan Ong, Drew Szurko, Duncan Riach, Dustin 7392*b6fb3261SAndroid Build Coastguard WorkerNeighly, Edward Forgacs, EFanZh, Fei Hu, Felix Lemke, Filip Matzner, fo40225, 7393*b6fb3261SAndroid Build Coastguard Workerfrreiss, Gautam, gehring, Geoffrey Irving, Grzegorz George Pawelczak, Grzegorz 7394*b6fb3261SAndroid Build Coastguard WorkerPawelczak, Gyoung-Yoon Ryoo, HanGuo97, Hanton Yang, Hari Shankar, hehongliang, 7395*b6fb3261SAndroid Build Coastguard WorkerHeungsub Lee, Hoeseong Kim, I-Hong Jhuo, Ilango R, Innovimax, Irene Dea, Jacky 7396*b6fb3261SAndroid Build Coastguard WorkerKo, Jakub Lipinski, Jason Zaman, jcf94, Jeffrey Poznanovic, Jens Elofsson, 7397*b6fb3261SAndroid Build Coastguard WorkerJeroen BéDorf, Jia Qingtong, Jiankang, Joe Q, Joe Quadrino, Joeran Beel, Jonas 7398*b6fb3261SAndroid Build Coastguard WorkerRauber, Jonathan, Jonathan Kyl, Joppe Geluykens, Joseph Friedman, jtressle, jwu, 7399*b6fb3261SAndroid Build Coastguard WorkerK Yasaswi Sri Chandra Gandhi, K. Hodges, Kaixi Hou, Karl Lessard, Karl 7400*b6fb3261SAndroid Build Coastguard WorkerWeinmeister, Karthik Muthuraman, Kashif Rasul, KDR, Keno Fischer, Kevin Mader, 7401*b6fb3261SAndroid Build Coastguard Workerkjopek, Koan-Sin Tan, kouml, ktaebum, Lakshay Tokas, Laurent Le Brun, Letian 7402*b6fb3261SAndroid Build Coastguard WorkerKang, Li, Guizi, Loo Rong Jie, Lucas Hendren, Lukas Geiger, Luke Han, luxupu, 7403*b6fb3261SAndroid Build Coastguard WorkerMa, Guokai, Mahmoud Abuzaina, Mandar Deshpande, manhyuk, Marco Gaido, Marek 7404*b6fb3261SAndroid Build Coastguard WorkerDrozdowski, Mark Collier, Mark Ryan, mars20, Mateusz Chudyk, Matt Conley, 7405*b6fb3261SAndroid Build Coastguard WorkerMattConley, mbhuiyan, mdfaijul, Melissa Grueter, Michael KäUfl, MickaëL 7406*b6fb3261SAndroid Build Coastguard WorkerSchoentgen, Miguel Morin, Mihail Salnikov, Mike Arpaia, Mike Holcomb, monklof, 7407*b6fb3261SAndroid Build Coastguard WorkerMoses Marin, Mshr-H, nammbash, Natalia Gimelshein, Nayana-Ibm, neargye, Neeraj 7408*b6fb3261SAndroid Build Coastguard WorkerPradhan, Nehal J Wani, Nick, Niels Ole Salscheider, Niranjan Hasabnis, nlewycky, 7409*b6fb3261SAndroid Build Coastguard WorkerNuka-137, Nutti, olicht, P Sudeepam, Palmer Lao, Pan Daoxin, Pariksheet Pinjari, 7410*b6fb3261SAndroid Build Coastguard WorkerPavel Samolysov, PENGWA, Pooya Davoodi, R S Nikhil Krishna, Rohit Gupta, Roman 7411*b6fb3261SAndroid Build Coastguard WorkerSoldatow, rthadur, Ruizhe, Ryan Jiang, Samantha Andow, Sami Kama, Sana-Damani, 7412*b6fb3261SAndroid Build Coastguard WorkerSaurabh Deoras, sdamani, seanshpark, Sebastien Iooss, Serv-Inc, Shahzad Lone, 7413*b6fb3261SAndroid Build Coastguard WorkerShashank Gupta, Shashi, shashvat, shashvatshahi1998, Siju, Siju Samuel, 7414*b6fb3261SAndroid Build Coastguard WorkerSnease-Abq, Spencer Schaber, sremedios, srinivasan.narayanamoorthy, Steve Lang, 7415*b6fb3261SAndroid Build Coastguard WorkerSteve Nesae, Sumesh Udayakumaran, Supriya Rao, Taylor Jakobson, Taylor Thornton, 7416*b6fb3261SAndroid Build Coastguard WorkerTed Chang, ThisIsPIRI, Thomas Deegan, Thomas Hagebols, tianyapiaozi, Tim Zaman, 7417*b6fb3261SAndroid Build Coastguard Workertomguluson92, Tongxuan Liu, TungJerry, v1incent, Vagif, vcarpani, Vikram Tiwari, 7418*b6fb3261SAndroid Build Coastguard WorkerVishwak Srinivasan, Vitor-Alves, wangsiyu, wateryzephyr, WeberXie, WeijieSun, 7419*b6fb3261SAndroid Build Coastguard WorkerWen-Heng (Jack) Chung, wenxizhu, Will Battel, William D. Irons, wyzhao, Xin, 7420*b6fb3261SAndroid Build Coastguard WorkerYasuhiro Matsumoto, ymodak, Yong Tang, Younes Khoudli, Yuan Lin, Yves-Noel 7421*b6fb3261SAndroid Build Coastguard WorkerWeweler, Zantares, zjjott, 卜居, 王振华 (Wang Zhenhua), 黄鑫 7422*b6fb3261SAndroid Build Coastguard Worker 7423*b6fb3261SAndroid Build Coastguard Worker# Release 1.12.3 7424*b6fb3261SAndroid Build Coastguard Worker 7425*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 7426*b6fb3261SAndroid Build Coastguard Worker 7427*b6fb3261SAndroid Build Coastguard Worker* Updates `png_archive` dependency to 1.6.37 to not be affected by 7428*b6fb3261SAndroid Build Coastguard Worker CVE-2019-7317, CVE-2018-13785, and CVE-2018-14048. 7429*b6fb3261SAndroid Build Coastguard Worker* Updates `sqlite` dependency to 3.28.0 to not be affected by CVE-2018-20506, 7430*b6fb3261SAndroid Build Coastguard Worker CVE-2018-20346, and CVE-2018-20505. 7431*b6fb3261SAndroid Build Coastguard Worker 7432*b6fb3261SAndroid Build Coastguard Worker# Release 1.12.2 7433*b6fb3261SAndroid Build Coastguard Worker 7434*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 7435*b6fb3261SAndroid Build Coastguard Worker 7436*b6fb3261SAndroid Build Coastguard Worker* Fixes a potential security vulnerability where carefully crafted GIF images 7437*b6fb3261SAndroid Build Coastguard Worker can produce a null pointer dereference during decoding. 7438*b6fb3261SAndroid Build Coastguard Worker 7439*b6fb3261SAndroid Build Coastguard Worker# Release 1.13.0 7440*b6fb3261SAndroid Build Coastguard Worker 7441*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements 7442*b6fb3261SAndroid Build Coastguard Worker 7443*b6fb3261SAndroid Build Coastguard Worker* TensorFlow Lite has moved from contrib to core. This means that Python 7444*b6fb3261SAndroid Build Coastguard Worker modules are under `tf.lite` and source code is now under `tensorflow/lite` 7445*b6fb3261SAndroid Build Coastguard Worker rather than `tensorflow/contrib/lite`. 7446*b6fb3261SAndroid Build Coastguard Worker* TensorFlow GPU binaries are now built against CUDA 10 and TensorRT 5.0. 7447*b6fb3261SAndroid Build Coastguard Worker* Support for Python3.7 on all operating systems. 7448*b6fb3261SAndroid Build Coastguard Worker* Moved NCCL to core. 7449*b6fb3261SAndroid Build Coastguard Worker 7450*b6fb3261SAndroid Build Coastguard Worker## Behavioral changes 7451*b6fb3261SAndroid Build Coastguard Worker 7452*b6fb3261SAndroid Build Coastguard Worker* Disallow conversion of python floating types to uint32/64 (matching behavior 7453*b6fb3261SAndroid Build Coastguard Worker of other integer types) in `tf.constant`. 7454*b6fb3261SAndroid Build Coastguard Worker* Make the `gain` argument of convolutional orthogonal initializers 7455*b6fb3261SAndroid Build Coastguard Worker (`convolutional_delta_orthogonal`, `convolutional_orthogonal_1D`, 7456*b6fb3261SAndroid Build Coastguard Worker `convolutional_orthogonal_2D`, `convolutional_orthogonal_3D`) have 7457*b6fb3261SAndroid Build Coastguard Worker consistent behavior with the `tf.initializers.orthogonal` initializer, i.e. 7458*b6fb3261SAndroid Build Coastguard Worker scale the output l2-norm by `gain` and NOT by `sqrt(gain)`. (Note that these 7459*b6fb3261SAndroid Build Coastguard Worker functions are currently in `tf.contrib` which is not guaranteed backward 7460*b6fb3261SAndroid Build Coastguard Worker compatible). 7461*b6fb3261SAndroid Build Coastguard Worker 7462*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 7463*b6fb3261SAndroid Build Coastguard Worker 7464*b6fb3261SAndroid Build Coastguard Worker* Documentation 7465*b6fb3261SAndroid Build Coastguard Worker * Update the doc with the details about the rounding mode used in 7466*b6fb3261SAndroid Build Coastguard Worker quantize_and_dequantize_v2. 7467*b6fb3261SAndroid Build Coastguard Worker * Clarify that tensorflow::port::InitMain() *should* be called before 7468*b6fb3261SAndroid Build Coastguard Worker using the TensorFlow library. Programs failing to do this are not 7469*b6fb3261SAndroid Build Coastguard Worker portable to all platforms. 7470*b6fb3261SAndroid Build Coastguard Worker* Deprecations and Symbol renames. 7471*b6fb3261SAndroid Build Coastguard Worker * Removing deprecations for the following endpoints: `tf.acos`, 7472*b6fb3261SAndroid Build Coastguard Worker `tf.acosh`, `tf.add`, `tf.as_string`, `tf.asin`, `tf.asinh`, `tf.atan`, 7473*b6fb3261SAndroid Build Coastguard Worker `tf.atan2`, `tf.atanh`, `tf.cos`, `tf.cosh`, `tf.equal`, `tf.exp`, 7474*b6fb3261SAndroid Build Coastguard Worker `tf.floor`, `tf.greater`, `tf.greater_equal`, `tf.less`, 7475*b6fb3261SAndroid Build Coastguard Worker `tf.less_equal`, `tf.log`, `tf.logp1`, `tf.logical_and`, 7476*b6fb3261SAndroid Build Coastguard Worker `tf.logical_not`, `tf.logical_or`, `tf.maximum`, `tf.minimum`, 7477*b6fb3261SAndroid Build Coastguard Worker `tf.not_equal`, `tf.sin`, `tf.sinh`, `tf.tan` 7478*b6fb3261SAndroid Build Coastguard Worker * Deprecate `tf.data.Dataset.shard`. 7479*b6fb3261SAndroid Build Coastguard Worker * Deprecate `saved_model.loader.load` which is replaced by 7480*b6fb3261SAndroid Build Coastguard Worker `saved_model.load` and `saved_model.main_op`, which will be replaced by 7481*b6fb3261SAndroid Build Coastguard Worker `saved_model.main_op` in V2. 7482*b6fb3261SAndroid Build Coastguard Worker * Deprecate tf.QUANTIZED_DTYPES. The official new symbol is 7483*b6fb3261SAndroid Build Coastguard Worker tf.dtypes.QUANTIZED_DTYPES. 7484*b6fb3261SAndroid Build Coastguard Worker * Update sklearn imports for deprecated packages. 7485*b6fb3261SAndroid Build Coastguard Worker * Deprecate `Variable.count_up_to` and `tf.count_up_to` in favor of 7486*b6fb3261SAndroid Build Coastguard Worker `Dataset.range`. 7487*b6fb3261SAndroid Build Coastguard Worker * Export `confusion_matrix` op as `tf.math.confusion_matrix` instead of 7488*b6fb3261SAndroid Build Coastguard Worker `tf.train.confusion_matrix`. 7489*b6fb3261SAndroid Build Coastguard Worker * Add `tf.dtypes.` endpoint for every constant in dtypes.py. Moving 7490*b6fb3261SAndroid Build Coastguard Worker endpoints in versions.py to corresponding endpoints in `tf.sysconfig.` 7491*b6fb3261SAndroid Build Coastguard Worker and `tf.version.`. Moving all constants under `tf.saved_model` 7492*b6fb3261SAndroid Build Coastguard Worker submodules to `tf.saved_model` module. New endpoints are added in V1 and 7493*b6fb3261SAndroid Build Coastguard Worker V2 but existing endpoint removals are only applied in V2. 7494*b6fb3261SAndroid Build Coastguard Worker * Deprecates behavior where device assignment overrides collocation 7495*b6fb3261SAndroid Build Coastguard Worker constraints inside a collocation context manager. 7496*b6fb3261SAndroid Build Coastguard Worker* Keras & Python API 7497*b6fb3261SAndroid Build Coastguard Worker * Add to Keras functionality analogous to 7498*b6fb3261SAndroid Build Coastguard Worker `tf.register_tensor_conversion_function`. 7499*b6fb3261SAndroid Build Coastguard Worker * Subclassed Keras models can now be saved through 7500*b6fb3261SAndroid Build Coastguard Worker `tf.contrib.saved_model.save_keras_model`. 7501*b6fb3261SAndroid Build Coastguard Worker * `LinearOperator.matmul` now returns a new `LinearOperator`. 7502*b6fb3261SAndroid Build Coastguard Worker* New ops and improved op functionality 7503*b6fb3261SAndroid Build Coastguard Worker * Add a Nearest Neighbor Resize op. 7504*b6fb3261SAndroid Build Coastguard Worker * Add an `ignore_unknown` argument to `parse_values` which suppresses 7505*b6fb3261SAndroid Build Coastguard Worker ValueError for unknown hyperparameter types. Such * Add 7506*b6fb3261SAndroid Build Coastguard Worker `tf.linalg.matvec` convenience function. 7507*b6fb3261SAndroid Build Coastguard Worker * `tf.einsum()`raises `ValueError` for unsupported equations like 7508*b6fb3261SAndroid Build Coastguard Worker `"ii->"`. 7509*b6fb3261SAndroid Build Coastguard Worker * Add DCT-I and IDCT-I in `tf.signal.dct` and `tf.signal.idct`. 7510*b6fb3261SAndroid Build Coastguard Worker * Add LU decomposition op. 7511*b6fb3261SAndroid Build Coastguard Worker * Add quantile loss to gradient boosted trees in estimator. 7512*b6fb3261SAndroid Build Coastguard Worker * Add `round_mode` to `QuantizeAndDequantizeV2` op to select rounding 7513*b6fb3261SAndroid Build Coastguard Worker algorithm. 7514*b6fb3261SAndroid Build Coastguard Worker * Add `unicode_encode`, `unicode_decode`, `unicode_decode_with_offsets`, 7515*b6fb3261SAndroid Build Coastguard Worker `unicode_split`, `unicode_split_with_offset`, and `unicode_transcode` 7516*b6fb3261SAndroid Build Coastguard Worker ops. Amongst other things, this Op adds the ability to encode, decode, 7517*b6fb3261SAndroid Build Coastguard Worker and transcode a variety of input text encoding formats into the main 7518*b6fb3261SAndroid Build Coastguard Worker Unicode encodings (UTF-8, UTF-16-BE, UTF-32-BE) 7519*b6fb3261SAndroid Build Coastguard Worker * Add "unit" attribute to the substr op, which allows obtaining the 7520*b6fb3261SAndroid Build Coastguard Worker substring of a string containing unicode characters. 7521*b6fb3261SAndroid Build Coastguard Worker * Broadcasting support for Ragged Tensors. 7522*b6fb3261SAndroid Build Coastguard Worker * `SpaceToDepth` supports uint8 data type. 7523*b6fb3261SAndroid Build Coastguard Worker * Support multi-label quantile regression in estimator. 7524*b6fb3261SAndroid Build Coastguard Worker * We now use "div" as the default partition_strategy in 7525*b6fb3261SAndroid Build Coastguard Worker `tf.nn.safe_embedding_lookup_sparse`, `tf.nn.sampled_softmax` and 7526*b6fb3261SAndroid Build Coastguard Worker `tf.nn.nce_loss`. hyperparameter are ignored. 7527*b6fb3261SAndroid Build Coastguard Worker* Performance 7528*b6fb3261SAndroid Build Coastguard Worker * Improve performance of GPU cumsum/cumprod by up to 300x. 7529*b6fb3261SAndroid Build Coastguard Worker * Added support for weight decay in most TPU embedding optimizers, 7530*b6fb3261SAndroid Build Coastguard Worker including AdamW and MomentumW. 7531*b6fb3261SAndroid Build Coastguard Worker* TensorFlow 2.0 Development 7532*b6fb3261SAndroid Build Coastguard Worker * Add a command line tool to convert to TF2.0, tf_upgrade_v2 7533*b6fb3261SAndroid Build Coastguard Worker * Merge `tf.spectral` into `tf.signal` for TensorFlow 2.0. 7534*b6fb3261SAndroid Build Coastguard Worker * Change the default recurrent activation function for LSTM from 7535*b6fb3261SAndroid Build Coastguard Worker 'hard_sigmoid' to 'sigmoid' in 2.0. Historically recurrent activation is 7536*b6fb3261SAndroid Build Coastguard Worker 'hard_sigmoid' since it is fast than 'sigmoid'. With new unified backend 7537*b6fb3261SAndroid Build Coastguard Worker between CPU and GPU mode, since the CuDNN kernel is using sigmoid, we 7538*b6fb3261SAndroid Build Coastguard Worker change the default for CPU mode to sigmoid as well. With that, the 7539*b6fb3261SAndroid Build Coastguard Worker default LSTM will be compatible with both CPU and GPU kernel. This will 7540*b6fb3261SAndroid Build Coastguard Worker enable user with GPU to use CuDNN kernel by default and get a 10x 7541*b6fb3261SAndroid Build Coastguard Worker performance boost in training. Note that this is checkpoint breaking 7542*b6fb3261SAndroid Build Coastguard Worker change. If user want to use their 1.x pre-trained checkpoint, please 7543*b6fb3261SAndroid Build Coastguard Worker construct the layer with LSTM(recurrent_activation='hard_sigmoid') to 7544*b6fb3261SAndroid Build Coastguard Worker fallback to 1.x behavior. 7545*b6fb3261SAndroid Build Coastguard Worker* TensorFlow Lite 7546*b6fb3261SAndroid Build Coastguard Worker * Move from `tensorflow/contrib/lite` to `tensorflow/lite`. 7547*b6fb3261SAndroid Build Coastguard Worker * Add experimental Java API for injecting TensorFlow Lite delegates 7548*b6fb3261SAndroid Build Coastguard Worker * Add support for strings in TensorFlow Lite Java API. 7549*b6fb3261SAndroid Build Coastguard Worker* `tf.contrib`: 7550*b6fb3261SAndroid Build Coastguard Worker * Add Apache Ignite Filesystem plugin to support accessing Apache IGFS. 7551*b6fb3261SAndroid Build Coastguard Worker * Dropout now takes `rate` argument, `keep_prob` is deprecated. 7552*b6fb3261SAndroid Build Coastguard Worker * Estimator occurrences references `tf.contrib.estimator` were changed to 7553*b6fb3261SAndroid Build Coastguard Worker `tf.estimator`: 7554*b6fb3261SAndroid Build Coastguard Worker * `tf.contrib.estimator.BaselineEstimator` with 7555*b6fb3261SAndroid Build Coastguard Worker `tf.estimator.BaselineEstimator` 7556*b6fb3261SAndroid Build Coastguard Worker * `tf.contrib.estimator.DNNLinearCombinedEstimator` with 7557*b6fb3261SAndroid Build Coastguard Worker `tf.estimator.DNNLinearCombinedEstimator` 7558*b6fb3261SAndroid Build Coastguard Worker * `tf.contrib.estimator.DNNEstimator` with `tf.estimator.DNNEstimator` 7559*b6fb3261SAndroid Build Coastguard Worker * `tf.contrib.estimator.LinearEstimator` with 7560*b6fb3261SAndroid Build Coastguard Worker `tf.estimator.LinearEstimator` 7561*b6fb3261SAndroid Build Coastguard Worker * `tf.contrib.estimator.InMemoryEvaluatorHook` and 7562*b6fb3261SAndroid Build Coastguard Worker tf.estimator.experimental.InMemoryEvaluatorHook`. 7563*b6fb3261SAndroid Build Coastguard Worker * `tf.contrib.estimator.make_stop_at_checkpoint_step_hook` with 7564*b6fb3261SAndroid Build Coastguard Worker `tf.estimator.experimental.make_stop_at_checkpoint_step_hook`. 7565*b6fb3261SAndroid Build Coastguard Worker * Expose `tf.distribute.Strategy as the new name for 7566*b6fb3261SAndroid Build Coastguard Worker tf.contrib.distribute.DistributionStrategy. 7567*b6fb3261SAndroid Build Coastguard Worker * Migrate linear optimizer from contrib to core. 7568*b6fb3261SAndroid Build Coastguard Worker * Move `tf.contrib.signal` to `tf.signal` (preserving aliases in 7569*b6fb3261SAndroid Build Coastguard Worker tf.contrib.signal). 7570*b6fb3261SAndroid Build Coastguard Worker * Users of `tf.contrib.estimator.export_all_saved_models` and related 7571*b6fb3261SAndroid Build Coastguard Worker should switch to 7572*b6fb3261SAndroid Build Coastguard Worker `tf.estimator.Estimator.experimental_export_all_saved_models`. 7573*b6fb3261SAndroid Build Coastguard Worker* tf.data: 7574*b6fb3261SAndroid Build Coastguard Worker * Add `tf.data.experimental.StatsOptions()`, to configure options to 7575*b6fb3261SAndroid Build Coastguard Worker collect statistics from `tf.data.Dataset` pipeline using 7576*b6fb3261SAndroid Build Coastguard Worker `StatsAggregator`. Add nested option, `experimental_stats` (which takes 7577*b6fb3261SAndroid Build Coastguard Worker a `tf.data.experimen tal.StatsOptions` object), to `tf.data.Options`. 7578*b6fb3261SAndroid Build Coastguard Worker Deprecates `tf.data.experimental.set_stats_agregator`. 7579*b6fb3261SAndroid Build Coastguard Worker * Performance optimizations: 7580*b6fb3261SAndroid Build Coastguard Worker * Add `tf.data.experimental.OptimizationOptions()`, to configure options 7581*b6fb3261SAndroid Build Coastguard Worker to enable `tf.data` performance optimizations. Add nested option, 7582*b6fb3261SAndroid Build Coastguard Worker `experimental_optimization` (which takes a 7583*b6fb3261SAndroid Build Coastguard Worker `tf.data.experimental.OptimizationOptions` object), to 7584*b6fb3261SAndroid Build Coastguard Worker `tf.data.Options`. Remove performance optimization options from 7585*b6fb3261SAndroid Build Coastguard Worker `tf.data.Options`, and add them under 7586*b6fb3261SAndroid Build Coastguard Worker `tf.data.experimental.OptimizationOptions` instead. 7587*b6fb3261SAndroid Build Coastguard Worker * Enable `map_and_batch_fusion` and `noop_elimination` optimizations by 7588*b6fb3261SAndroid Build Coastguard Worker default. They can be disabled by configuring 7589*b6fb3261SAndroid Build Coastguard Worker `tf.data.experimental.OptimizationOptions` to set `map_and_batch = 7590*b6fb3261SAndroid Build Coastguard Worker False` or `noop_elimination = False` respectively. To disable all 7591*b6fb3261SAndroid Build Coastguard Worker default optimizations, set `apply_default_optimizations = False`. 7592*b6fb3261SAndroid Build Coastguard Worker * Support parallel map in `map_and_filter_fusion`. 7593*b6fb3261SAndroid Build Coastguard Worker * Disable static optimizations for input pipelines that use non-resource 7594*b6fb3261SAndroid Build Coastguard Worker `tf.Variable`s. 7595*b6fb3261SAndroid Build Coastguard Worker * Add NUMA-aware MapAndBatch dataset. 7596*b6fb3261SAndroid Build Coastguard Worker * Deprecate `tf.data.Dataset.make_one_shot_iterator()` in V1, removed it 7597*b6fb3261SAndroid Build Coastguard Worker from V2, and added tf.compat.v1.data.make_one_shot_iterator()`. 7598*b6fb3261SAndroid Build Coastguard Worker * Deprecate `tf.data.Dataset.make_initializable_iterator()` in V1, removed 7599*b6fb3261SAndroid Build Coastguard Worker it from V2, and added `tf.compat.v1.data.make_initializable_iterator()`. 7600*b6fb3261SAndroid Build Coastguard Worker * Enable nested dataset support in core `tf.data` transformations. 7601*b6fb3261SAndroid Build Coastguard Worker * For `tf.data.Dataset` implementers: Added 7602*b6fb3261SAndroid Build Coastguard Worker `tf.data.Dataset._element_structured property` to replace 7603*b6fb3261SAndroid Build Coastguard Worker `Dataset.output_{types,shapes,classes}`. 7604*b6fb3261SAndroid Build Coastguard Worker * Make `num_parallel_calls` of `tf.data.Dataset.interleave` and 7605*b6fb3261SAndroid Build Coastguard Worker `tf.data.Dataset.map` work in Eager mode. 7606*b6fb3261SAndroid Build Coastguard Worker* Toolchains 7607*b6fb3261SAndroid Build Coastguard Worker * Fixed OpenSSL compatibility by avoiding `EVP_MD_CTX_destroy`. 7608*b6fb3261SAndroid Build Coastguard Worker * Added bounds checking to printing deprecation warnings. 7609*b6fb3261SAndroid Build Coastguard Worker * Upgraded CUDA dependency to 10.0 7610*b6fb3261SAndroid Build Coastguard Worker * To build with Android NDK r14b, add "#include <linux/compiler.h>" to 7611*b6fb3261SAndroid Build Coastguard Worker android-ndk-r14b/platforms/android-14/arch-*/usr/include/linux/futex.h 7612*b6fb3261SAndroid Build Coastguard Worker * Removed `:android_tensorflow_lib_selective_registration*` targets, use 7613*b6fb3261SAndroid Build Coastguard Worker `:android_tensorflow_lib_lite*` targets instead. 7614*b6fb3261SAndroid Build Coastguard Worker* XLA 7615*b6fb3261SAndroid Build Coastguard Worker * Move `RoundToEven` function to xla/client/lib/math.h. 7616*b6fb3261SAndroid Build Coastguard Worker * A new environment variable `TF_XLA_DEBUG_OPTIONS_PASSTHROUGH` set to "1" 7617*b6fb3261SAndroid Build Coastguard Worker or "true" allows the debug options passed within an XRTCompile op to be 7618*b6fb3261SAndroid Build Coastguard Worker passed directly to the XLA compilation backend. If such variable is not 7619*b6fb3261SAndroid Build Coastguard Worker set (service side), only a restricted set will be passed through. 7620*b6fb3261SAndroid Build Coastguard Worker * Allow the XRTCompile op to return the ProgramShape resulted form the XLA 7621*b6fb3261SAndroid Build Coastguard Worker compilation as a second return argument. 7622*b6fb3261SAndroid Build Coastguard Worker * XLA HLO graphs can now be rendered as SVG/HTML. 7623*b6fb3261SAndroid Build Coastguard Worker* Estimator 7624*b6fb3261SAndroid Build Coastguard Worker * Replace all occurrences of `tf.contrib.estimator.BaselineEstimator` with 7625*b6fb3261SAndroid Build Coastguard Worker `tf.estimator.BaselineEstimator` 7626*b6fb3261SAndroid Build Coastguard Worker * Replace all occurrences of 7627*b6fb3261SAndroid Build Coastguard Worker `tf.contrib.estimator.DNNLinearCombinedEstimator` with 7628*b6fb3261SAndroid Build Coastguard Worker `tf.estimator.DNNLinearCombinedEstimator` 7629*b6fb3261SAndroid Build Coastguard Worker * Replace all occurrences of `tf.contrib.estimator.DNNEstimator` with 7630*b6fb3261SAndroid Build Coastguard Worker `tf.estimator.DNNEstimator` 7631*b6fb3261SAndroid Build Coastguard Worker * Replace all occurrences of `tf.contrib.estimator.LinearEstimator` with 7632*b6fb3261SAndroid Build Coastguard Worker `tf.estimator.LinearEstimator` 7633*b6fb3261SAndroid Build Coastguard Worker * Users of `tf.contrib.estimator.export_all_saved_models` and related 7634*b6fb3261SAndroid Build Coastguard Worker should switch to 7635*b6fb3261SAndroid Build Coastguard Worker `tf.estimator.Estimator.experimental_export_all_saved_models`. 7636*b6fb3261SAndroid Build Coastguard Worker * Update `regression_head` to the new Head API for Canned Estimator V2. 7637*b6fb3261SAndroid Build Coastguard Worker * Switch `multi_class_head` to Head API for Canned Estimator V2. 7638*b6fb3261SAndroid Build Coastguard Worker * Replace all occurrences of `tf.contrib.estimator.InMemoryEvaluatorHook` 7639*b6fb3261SAndroid Build Coastguard Worker and `tf.contrib.estimator.make_stop_at_checkpoint_step_hook` with 7640*b6fb3261SAndroid Build Coastguard Worker `tf.estimator.experimental.InMemoryEvaluatorHook` and 7641*b6fb3261SAndroid Build Coastguard Worker `tf.estimator.experimental.make_stop_at_checkpoint_step_hook` 7642*b6fb3261SAndroid Build Coastguard Worker * Migrate linear optimizer from contrib to core. 7643*b6fb3261SAndroid Build Coastguard Worker 7644*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors 7645*b6fb3261SAndroid Build Coastguard Worker 7646*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as: 7647*b6fb3261SAndroid Build Coastguard Worker 7648*b6fb3261SAndroid Build Coastguard WorkerAbhinav Upadhyay, Ag Ramesh, akikaaa, Alexis Louis, Anders Huss, Andreas Madsen, 7649*b6fb3261SAndroid Build Coastguard WorkerAndrew Banchich, Andy Craze, Anton Dmitriev, Artem Malykh, Avijit-Nervana, 7650*b6fb3261SAndroid Build Coastguard WorkerBalint Cristian, Benjamin Tan Wei Hao, Bhavani Subramanian, Brendan Finan, Brian 7651*b6fb3261SAndroid Build Coastguard WorkerNemsick, Bryan Cutler, By Shen, Cao Zongyan, Castiel, Chris Antaki, Christian 7652*b6fb3261SAndroid Build Coastguard WorkerGoll, Cibifang, Clayne Robison, Codrut Grosu, Cong Xu, Dalmo Cirne, Daniel 7653*b6fb3261SAndroid Build Coastguard WorkerHunter, Dougal J. Sutherland, Edvard Fagerholm, EFanZh, Erik Smistad, Evgeniy 7654*b6fb3261SAndroid Build Coastguard WorkerPolyakov, Feiyang Chen, franklin5, Fred Reiss, Gautam, gehring, Geoffrey Irving, 7655*b6fb3261SAndroid Build Coastguard WorkerGeorge Sterpu, Gitea, Grzegorz George Pawelczak, Guozhong Zhuang, himkt, 7656*b6fb3261SAndroid Build Coastguard WorkerHoeseong Kim, Huan Li (李卓桓), HuiyangFei, hyunyoung, Isaac Burbank, jackonan, 7657*b6fb3261SAndroid Build Coastguard WorkerJacky Ko, Jason Furmanek, Jason Zaman, Javier Luraschi, Jiang,Zhoulong, joaak, 7658*b6fb3261SAndroid Build Coastguard WorkerJohn Lin, Jonathan Wyatt Hoech, josephyearsley, Josh Gordon, Julian Niedermeier, 7659*b6fb3261SAndroid Build Coastguard WorkerKarl Lessard, Keno Fischer, lanhin, Leon Graser, leondgarse, Li, Guizi, Li, 7660*b6fb3261SAndroid Build Coastguard WorkerYiqiang, lxl910915, Mahmoud Abuzaina, manhyuk, Marcela Morales Quispe, 7661*b6fb3261SAndroid Build Coastguard Workermargaretmz, Matt Conley, Max Pumperla, mbhuiyan, mdfaijul, Meng, Peng, Michael, 7662*b6fb3261SAndroid Build Coastguard WorkerMichael Gielda, mrTsjolder, Muhammad Wildan, neargye, Nehal J Wani, NEWPLAN, 7663*b6fb3261SAndroid Build Coastguard WorkerNiranjan Hasabnis, Nutti, olicht, Pan Daoxin, Pedro Monreal, Peng Yu, 7664*b6fb3261SAndroid Build Coastguard Workerpillarpond, Pooya Davoodi, qiezi, Rholais Lii, Richard Yu, Rin Arakaki, Roger 7665*b6fb3261SAndroid Build Coastguard WorkerIyengar, sahilbadyal, Sami Kama, Sandip Giri, Scott Leishman, Serge Panev, 7666*b6fb3261SAndroid Build Coastguard WorkerSeunghoon Park, Shafi Dayatar, shengfuintel, Shimin Guo, Siju, silent567, Stefan 7667*b6fb3261SAndroid Build Coastguard WorkerDyulgerov, steven, Tao Wei, Thor Johnsen, Tingbo Lu, tomguluson92, Tongxuan Liu, 7668*b6fb3261SAndroid Build Coastguard WorkerTrevor Morris, Ubuntu, Vadim Borisov, vanderliang, wangsiyu, Wen Yun, Wen-Heng 7669*b6fb3261SAndroid Build Coastguard Worker(Jack) Chung, wenxizhu, William D. Irons, Xiaoming (Jason) Cui, Yan Facai (颜发才), 7670*b6fb3261SAndroid Build Coastguard WorkerYanbo Liang, Yaniv Blumenfeld, Yash Gaurkar, Yicheng Fan, Yong Tang, Yongjoon 7671*b6fb3261SAndroid Build Coastguard WorkerLee, Yuan (Terry) Tang, Yuxin Wu, zldrobit 7672*b6fb3261SAndroid Build Coastguard Worker 7673*b6fb3261SAndroid Build Coastguard Worker# Release 1.12.0 7674*b6fb3261SAndroid Build Coastguard Worker 7675*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements 7676*b6fb3261SAndroid Build Coastguard Worker 7677*b6fb3261SAndroid Build Coastguard Worker* Keras models can now be directly exported to the SavedModel 7678*b6fb3261SAndroid Build Coastguard Worker format(`tf.contrib.saved_model.save_keras_model()`) and used with Tensorflow 7679*b6fb3261SAndroid Build Coastguard Worker Serving. 7680*b6fb3261SAndroid Build Coastguard Worker* Keras models now support evaluating with a `tf.data.Dataset`. 7681*b6fb3261SAndroid Build Coastguard Worker* TensorFlow binaries are built with XLA support linked in by default. 7682*b6fb3261SAndroid Build Coastguard Worker* Ignite Dataset added to contrib/ignite that allows to work with Apache 7683*b6fb3261SAndroid Build Coastguard Worker Ignite. 7684*b6fb3261SAndroid Build Coastguard Worker 7685*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 7686*b6fb3261SAndroid Build Coastguard Worker 7687*b6fb3261SAndroid Build Coastguard Worker* tf.data: 7688*b6fb3261SAndroid Build Coastguard Worker * tf.data users can now represent, get, and set options of TensorFlow 7689*b6fb3261SAndroid Build Coastguard Worker input pipelines using `tf.data.Options()`, `tf.data.Dataset.options()`, 7690*b6fb3261SAndroid Build Coastguard Worker and `tf.data.Dataset.with_options()` respectively. 7691*b6fb3261SAndroid Build Coastguard Worker * New `tf.data.Dataset.reduce()` API allows users to reduce a finite 7692*b6fb3261SAndroid Build Coastguard Worker dataset to a single element using a user-provided reduce function. 7693*b6fb3261SAndroid Build Coastguard Worker * New `tf.data.Dataset.window()` API allows users to create finite windows 7694*b6fb3261SAndroid Build Coastguard Worker of input dataset; when combined with the `tf.data.Dataset.reduce()` API, 7695*b6fb3261SAndroid Build Coastguard Worker this allows users to implement customized batching. 7696*b6fb3261SAndroid Build Coastguard Worker * All C++ code moves to the `tensorflow::data` namespace. 7697*b6fb3261SAndroid Build Coastguard Worker * Add support for `num_parallel_calls` to `tf.data.Dataset.interleave`. 7698*b6fb3261SAndroid Build Coastguard Worker* `tf.contrib`: 7699*b6fb3261SAndroid Build Coastguard Worker * Remove `tf.contrib.linalg`. `tf.linalg` should be used instead. 7700*b6fb3261SAndroid Build Coastguard Worker * Replace any calls to `tf.contrib.get_signature_def_by_key(metagraph_def, 7701*b6fb3261SAndroid Build Coastguard Worker signature_def_key)` with 7702*b6fb3261SAndroid Build Coastguard Worker `meta_graph_def.signature_def[signature_def_key]`. Catching a ValueError 7703*b6fb3261SAndroid Build Coastguard Worker exception thrown by `tf.contrib.get_signature_def_by_key` should be 7704*b6fb3261SAndroid Build Coastguard Worker replaced by catching a KeyError exception. 7705*b6fb3261SAndroid Build Coastguard Worker* `tf.contrib.data` 7706*b6fb3261SAndroid Build Coastguard Worker * Deprecate, and replace by tf.data.experimental. 7707*b6fb3261SAndroid Build Coastguard Worker* Other: 7708*b6fb3261SAndroid Build Coastguard Worker * Instead of jemalloc, revert back to using system malloc since it 7709*b6fb3261SAndroid Build Coastguard Worker simplifies build and has comparable performance. 7710*b6fb3261SAndroid Build Coastguard Worker * Remove integer types from `tf.nn.softplus` and `tf.nn.softsign` OpDefs. 7711*b6fb3261SAndroid Build Coastguard Worker This is a bugfix; these ops were never meant to support integers. 7712*b6fb3261SAndroid Build Coastguard Worker * Allow subslicing Tensors with a single dimension. 7713*b6fb3261SAndroid Build Coastguard Worker * Add option to calculate string length in Unicode characters. 7714*b6fb3261SAndroid Build Coastguard Worker * Add functionality to SubSlice a tensor. 7715*b6fb3261SAndroid Build Coastguard Worker * Add searchsorted (ie lower/upper_bound) op. 7716*b6fb3261SAndroid Build Coastguard Worker * Add model explainability to Boosted Trees. 7717*b6fb3261SAndroid Build Coastguard Worker * Support negative positions for tf.substr. 7718*b6fb3261SAndroid Build Coastguard Worker * There was previously a bug in the bijector_impl where the 7719*b6fb3261SAndroid Build Coastguard Worker _reduce_jacobian_det_over_event does not handle scalar ILDJ 7720*b6fb3261SAndroid Build Coastguard Worker implementations properly. 7721*b6fb3261SAndroid Build Coastguard Worker * In tf eager execution, allow re-entering a GradientTape context. 7722*b6fb3261SAndroid Build Coastguard Worker * Add tf_api_version flag. If --define=tf_api_version=2 flag is passed in, 7723*b6fb3261SAndroid Build Coastguard Worker then bazel will build TensorFlow API version 2.0. Note that TensorFlow 7724*b6fb3261SAndroid Build Coastguard Worker 2.0 is under active development and has no guarantees at this point. 7725*b6fb3261SAndroid Build Coastguard Worker * Add additional compression options to TfRecordWriter. 7726*b6fb3261SAndroid Build Coastguard Worker * Performance improvements for regex full match operations. 7727*b6fb3261SAndroid Build Coastguard Worker * Replace tf.GraphKeys.VARIABLES with `tf.GraphKeys.GLOBAL_VARIABLES`. 7728*b6fb3261SAndroid Build Coastguard Worker * Remove unused dynamic learning rate support. 7729*b6fb3261SAndroid Build Coastguard Worker 7730*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors 7731*b6fb3261SAndroid Build Coastguard Worker 7732*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as: 7733*b6fb3261SAndroid Build Coastguard Worker 7734*b6fb3261SAndroid Build Coastguard Worker(David) Siu-Kei Muk, Ag Ramesh, Anton Dmitriev, Artem Sobolev, Avijit-Nervana, 7735*b6fb3261SAndroid Build Coastguard WorkerBairen Yi, Bruno Goncalves, By Shen, candy.dc, Cheng Chen, Clayne Robison, 7736*b6fb3261SAndroid Build Coastguard Workercoder3101, Dao Zhang, Elms, Fei Hu, feiquan, Geoffrey Irving, Guozhong Zhuang, 7737*b6fb3261SAndroid Build Coastguard Workerhellcom, Hoeseong Kim, imsheridan, Jason Furmanek, Jason Zaman, Jenny Sahng, 7738*b6fb3261SAndroid Build Coastguard Workerjiefangxuanyan, Johannes Bannhofer, Jonathan Homer, Koan-Sin Tan, kouml, Loo 7739*b6fb3261SAndroid Build Coastguard WorkerRong Jie, Lukas Geiger, manipopopo, Ming Li, Moritz KröGer, Naurril, Niranjan 7740*b6fb3261SAndroid Build Coastguard WorkerHasabnis, Pan Daoxin, Peng Yu, pengwa, rasmi, Roger Xin, Roland Fernandez, Sami 7741*b6fb3261SAndroid Build Coastguard WorkerKama, Samuel Matzek, Sangjung Woo, Sergei Lebedev, Sergii Khomenko, shaohua, 7742*b6fb3261SAndroid Build Coastguard WorkerShaohua Zhang, Shujian2015, Sunitha Kambhampati, tomguluson92, ViníCius Camargo, 7743*b6fb3261SAndroid Build Coastguard Workerwangsiyu, weidankong, Wen-Heng (Jack) Chung, William D. Irons, Xin Jin, Yan 7744*b6fb3261SAndroid Build Coastguard WorkerFacai (颜发才), Yanbo Liang, Yash Katariya, Yong Tang, 在原佐为 7745*b6fb3261SAndroid Build Coastguard Worker 7746*b6fb3261SAndroid Build Coastguard Worker# Release 1.11.0 7747*b6fb3261SAndroid Build Coastguard Worker 7748*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements 7749*b6fb3261SAndroid Build Coastguard Worker 7750*b6fb3261SAndroid Build Coastguard Worker* Nvidia GPU: 7751*b6fb3261SAndroid Build Coastguard Worker * Prebuilt binaries are now (as of TensorFlow 1.11) built against cuDNN 7752*b6fb3261SAndroid Build Coastguard Worker 7.2 and TensorRT 4. See updated install guides: 7753*b6fb3261SAndroid Build Coastguard Worker [Installing TensorFlow on Ubuntu](https://www.tensorflow.org/install/install_linux#tensorflow_gpu_support) 7754*b6fb3261SAndroid Build Coastguard Worker* Google Cloud TPU: 7755*b6fb3261SAndroid Build Coastguard Worker * Experimental tf.data integration for Keras on Google Cloud TPUs. 7756*b6fb3261SAndroid Build Coastguard Worker * Experimental / preview support for eager execution on Google Cloud TPUs. 7757*b6fb3261SAndroid Build Coastguard Worker* DistributionStrategy: 7758*b6fb3261SAndroid Build Coastguard Worker * Add multi-GPU DistributionStrategy support in tf.keras. Users can now 7759*b6fb3261SAndroid Build Coastguard Worker use `fit`, `evaluate` and `predict` to distribute their model on 7760*b6fb3261SAndroid Build Coastguard Worker multiple GPUs. 7761*b6fb3261SAndroid Build Coastguard Worker * Add multi-worker DistributionStrategy and standalone client support in 7762*b6fb3261SAndroid Build Coastguard Worker Estimator. See 7763*b6fb3261SAndroid Build Coastguard Worker [README](https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/distribute) 7764*b6fb3261SAndroid Build Coastguard Worker for more details. 7765*b6fb3261SAndroid Build Coastguard Worker* Add C, C++, and Python functions for querying kernels. 7766*b6fb3261SAndroid Build Coastguard Worker 7767*b6fb3261SAndroid Build Coastguard Worker## Breaking Changes 7768*b6fb3261SAndroid Build Coastguard Worker 7769*b6fb3261SAndroid Build Coastguard Worker* Keras: 7770*b6fb3261SAndroid Build Coastguard Worker * The default values for tf.keras `RandomUniform`, `RandomNormal`, and 7771*b6fb3261SAndroid Build Coastguard Worker `TruncatedNormal` initializers have been changed to match those in 7772*b6fb3261SAndroid Build Coastguard Worker external Keras. 7773*b6fb3261SAndroid Build Coastguard Worker * Breaking change: `model.get_config()` on a Sequential model now returns 7774*b6fb3261SAndroid Build Coastguard Worker a config dictionary (consistent with other Model instances) instead of a 7775*b6fb3261SAndroid Build Coastguard Worker list of configs for the underlying layers. 7776*b6fb3261SAndroid Build Coastguard Worker 7777*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 7778*b6fb3261SAndroid Build Coastguard Worker 7779*b6fb3261SAndroid Build Coastguard Worker* C++: 7780*b6fb3261SAndroid Build Coastguard Worker * Changed the signature of SessionFactory::NewSession so that it can 7781*b6fb3261SAndroid Build Coastguard Worker return a meaningful error message on failure. 7782*b6fb3261SAndroid Build Coastguard Worker* tf.data: 7783*b6fb3261SAndroid Build Coastguard Worker * Remove `num_parallel_parser_calls` argument from 7784*b6fb3261SAndroid Build Coastguard Worker `tf.contrib.data.make_csv_dataset()`. [tf.data] Remove 7785*b6fb3261SAndroid Build Coastguard Worker `num_parallel_parser_calls` argument from 7786*b6fb3261SAndroid Build Coastguard Worker `tf.contrib.data.make_csv_dataset()`. 7787*b6fb3261SAndroid Build Coastguard Worker * `tf.data.Dataset.list_files()` raises an exception at initialization 7788*b6fb3261SAndroid Build Coastguard Worker time if the argument matches no files. 7789*b6fb3261SAndroid Build Coastguard Worker * Renamed BigTable class to BigtableTable for clarity 7790*b6fb3261SAndroid Build Coastguard Worker * Document use of the Cloud Bigtable API 7791*b6fb3261SAndroid Build Coastguard Worker * Add `tf.contrib.data.reduce_dataset` which can be used to reduce a 7792*b6fb3261SAndroid Build Coastguard Worker dataset to a single element. 7793*b6fb3261SAndroid Build Coastguard Worker * Generalization of `tf.contrib.data.sliding_window_batch`. 7794*b6fb3261SAndroid Build Coastguard Worker* INC: 7795*b6fb3261SAndroid Build Coastguard Worker * Runtime improvements to triangular solve. 7796*b6fb3261SAndroid Build Coastguard Worker* `tf.contrib`: 7797*b6fb3261SAndroid Build Coastguard Worker * Add an `implementation` argument to `tf.keras.layers.LocallyConnected2D` 7798*b6fb3261SAndroid Build Coastguard Worker and `tf.keras.layers.LocallyConnected1D`. The new mode 7799*b6fb3261SAndroid Build Coastguard Worker (`implementation=2`) performs forward pass as a single dense matrix 7800*b6fb3261SAndroid Build Coastguard Worker multiplication, allowing dramatic speedups in certain scenarios (but 7801*b6fb3261SAndroid Build Coastguard Worker worse performance in others - see docstring). The option also allows to 7802*b6fb3261SAndroid Build Coastguard Worker use `padding=same`. 7803*b6fb3261SAndroid Build Coastguard Worker * Add documentation clarifying the differences between tf.fill and 7804*b6fb3261SAndroid Build Coastguard Worker tf.constant. 7805*b6fb3261SAndroid Build Coastguard Worker * Add experimental IndexedDatasets. 7806*b6fb3261SAndroid Build Coastguard Worker * Add selective registration target using the lite proto runtime. 7807*b6fb3261SAndroid Build Coastguard Worker * Add simple Tensor and DataType classes to TensorFlow Lite Java 7808*b6fb3261SAndroid Build Coastguard Worker * Add support for bitcasting to/from uint32 and uint64. 7809*b6fb3261SAndroid Build Coastguard Worker * Added a subclass of Estimator that can be created from a SavedModel 7810*b6fb3261SAndroid Build Coastguard Worker (SavedModelEstimator). 7811*b6fb3261SAndroid Build Coastguard Worker * Adds leaf index modes as an argument. 7812*b6fb3261SAndroid Build Coastguard Worker * Allow a different output shape from the input in 7813*b6fb3261SAndroid Build Coastguard Worker tf.contrib.image.transform. 7814*b6fb3261SAndroid Build Coastguard Worker * Change the state_size order of the StackedRNNCell to be natural order. 7815*b6fb3261SAndroid Build Coastguard Worker To keep the existing behavior, user can add reverse_state_order=True 7816*b6fb3261SAndroid Build Coastguard Worker when constructing the StackedRNNCells. 7817*b6fb3261SAndroid Build Coastguard Worker * Deprecate self.test_session() in favor of self.session() or 7818*b6fb3261SAndroid Build Coastguard Worker self.cached_session(). 7819*b6fb3261SAndroid Build Coastguard Worker * Directly import tensor.proto.h (the transitive import will be removed 7820*b6fb3261SAndroid Build Coastguard Worker from tensor.h soon). 7821*b6fb3261SAndroid Build Coastguard Worker * Estimator.train() now supports tf.contrib.summary.\* summaries out of 7822*b6fb3261SAndroid Build Coastguard Worker the box; each call to .train() will now create a separate tfevents file 7823*b6fb3261SAndroid Build Coastguard Worker rather than re-using a shared one. 7824*b6fb3261SAndroid Build Coastguard Worker * Fix FTRL L2-shrinkage behavior: the gradient from the L2 shrinkage term 7825*b6fb3261SAndroid Build Coastguard Worker should not end up in the accumulator. 7826*b6fb3261SAndroid Build Coastguard Worker * Fix toco compilation/execution on Windows. 7827*b6fb3261SAndroid Build Coastguard Worker * GoogleZoneProvider class added to detect which Google Cloud Engine zone 7828*b6fb3261SAndroid Build Coastguard Worker tensorflow is running in. 7829*b6fb3261SAndroid Build Coastguard Worker * It is now safe to call any of the C API's TF_Delete\* functions on 7830*b6fb3261SAndroid Build Coastguard Worker nullptr. 7831*b6fb3261SAndroid Build Coastguard Worker * Log some errors on Android to logcat. 7832*b6fb3261SAndroid Build Coastguard Worker * Match FakeQuant numerics in TFLite to improve accuracy of TFLite 7833*b6fb3261SAndroid Build Coastguard Worker quantized inference models. 7834*b6fb3261SAndroid Build Coastguard Worker * Optional bucket location check for the GCS Filesystem. 7835*b6fb3261SAndroid Build Coastguard Worker * Performance enhancements for StringSplitOp & StringSplitV2Op. 7836*b6fb3261SAndroid Build Coastguard Worker * Performance improvements for regex replace operations. 7837*b6fb3261SAndroid Build Coastguard Worker * TFRecordWriter now raises an error if .write() fails. 7838*b6fb3261SAndroid Build Coastguard Worker * TPU: More helpful error messages in TPUClusterResolvers. 7839*b6fb3261SAndroid Build Coastguard Worker * The legacy_init_op argument to SavedModelBuilder methods for adding 7840*b6fb3261SAndroid Build Coastguard Worker MetaGraphs has been deprecated. Please use the equivalent main_op 7841*b6fb3261SAndroid Build Coastguard Worker argument instead. As part of this, we now explicitly check for a single 7842*b6fb3261SAndroid Build Coastguard Worker main_op or legacy_init_op at the time of SavedModel building, whereas 7843*b6fb3261SAndroid Build Coastguard Worker the check on main_op was previously only done at load time. 7844*b6fb3261SAndroid Build Coastguard Worker * The protocol used for Estimator training is now configurable in 7845*b6fb3261SAndroid Build Coastguard Worker RunConfig. 7846*b6fb3261SAndroid Build Coastguard Worker * Triangular solve performance improvements. 7847*b6fb3261SAndroid Build Coastguard Worker * Unify RNN cell interface between TF and Keras. Add new 7848*b6fb3261SAndroid Build Coastguard Worker get_initial_state() to Keras and TF RNN cell, which will use to replace 7849*b6fb3261SAndroid Build Coastguard Worker the existing zero_state() method. 7850*b6fb3261SAndroid Build Coastguard Worker * Update initialization of variables in Keras. 7851*b6fb3261SAndroid Build Coastguard Worker * Updates to "constrained_optimization" in tensorflow/contrib. 7852*b6fb3261SAndroid Build Coastguard Worker * boosted trees: adding pruning mode. 7853*b6fb3261SAndroid Build Coastguard Worker * tf.train.Checkpoint does not delete old checkpoints by default. 7854*b6fb3261SAndroid Build Coastguard Worker * tfdbg: Limit the total disk space occupied by dumped tensor data to 100 7855*b6fb3261SAndroid Build Coastguard Worker GBytes. Add environment variable `TFDBG_DISK_BYTES_LIMIT` to allow 7856*b6fb3261SAndroid Build Coastguard Worker adjustment of this upper limit. 7857*b6fb3261SAndroid Build Coastguard Worker 7858*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors 7859*b6fb3261SAndroid Build Coastguard Worker 7860*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as: 7861*b6fb3261SAndroid Build Coastguard Worker 7862*b6fb3261SAndroid Build Coastguard WorkerAapeli, adoda, Ag Ramesh, Amogh Mannekote, Andrew Gibiansky, Andy Craze, Anirudh 7863*b6fb3261SAndroid Build Coastguard WorkerKoul, Aurelien Geron, Avijit, Avijit-Nervana, Ben, Benjamin H. Myara, bhack, 7864*b6fb3261SAndroid Build Coastguard WorkerBrett Koonce, Cao Zongyan, cbockman, cheerss, Chikanaga Tomoyuki, Clayne 7865*b6fb3261SAndroid Build Coastguard WorkerRobison, cosine0, Cui Wei, Dan J, David, David Norman, Dmitry Klimenkov, Eliel 7866*b6fb3261SAndroid Build Coastguard WorkerHojman, Florian Courtial, fo40225, formath, Geoffrey Irving, gracehoney, 7867*b6fb3261SAndroid Build Coastguard WorkerGrzegorz Pawelczak, Guoliang Hua, Guozhong Zhuang, Herman Zvonimir DošIlović, 7868*b6fb3261SAndroid Build Coastguard WorkerHuiyangFei, Jacker, Jan HüNnemeyer, Jason Taylor, Jason Zaman, Jesse, 7869*b6fb3261SAndroid Build Coastguard WorkerJiang,Zhoulong, Jiawei Zhang, Jie, Joe Yearsley, Johannes Schmitz, Jon Perl, Jon 7870*b6fb3261SAndroid Build Coastguard WorkerTriebenbach, Jonathan, Jonathan Hseu, Jongmin Park, Justin Shenk, [email protected], 7871*b6fb3261SAndroid Build Coastguard WorkerKate Hodesdon, Kb Sriram, Keishi Hattori, Kenneth Blomqvist, Koan-Sin Tan, Li 7872*b6fb3261SAndroid Build Coastguard WorkerLiangbin, Li, Yiqiang, Loo Rong Jie, Madiyar, Mahmoud Abuzaina, Mark Ryan, Matt 7873*b6fb3261SAndroid Build Coastguard WorkerDodge, mbhuiyan, melvinljy96, Miguel Mota, Nafis Sadat, Nathan Luehr, naurril, 7874*b6fb3261SAndroid Build Coastguard WorkerNehal J Wani, Niall Moran, Niranjan Hasabnis, Nishidha Panpaliya, npow, olicht, 7875*b6fb3261SAndroid Build Coastguard WorkerPei Zhang, Peng Wang (Simpeng), Peng Yu, Philipp Jund, Pradeep Banavara, Pratik 7876*b6fb3261SAndroid Build Coastguard WorkerKalshetti, qwertWZ, Rakesh Chada, Randy West, Ray Kim, Rholais Lii, Robin 7877*b6fb3261SAndroid Build Coastguard WorkerRichtsfeld, Rodrigo Silveira, Ruizhi, Santosh Kumar, Seb Bro, Sergei Lebedev, 7878*b6fb3261SAndroid Build Coastguard Workersfujiwara, Shaba Abhiram, Shashi, SneakyFish5, Soila Kavulya, Stefan Dyulgerov, 7879*b6fb3261SAndroid Build Coastguard WorkerSteven Winston, Sunitha Kambhampati, Surry Shome, Taehoon Lee, Thor Johnsen, 7880*b6fb3261SAndroid Build Coastguard WorkerTristan Rice, TShapinsky, tucan, tucan9389, Vicente Reyes, Vilmar-Hillow, Vitaly 7881*b6fb3261SAndroid Build Coastguard WorkerLavrukhin, wangershi, weidan.kong, weidankong, Wen-Heng (Jack) Chung, William D. 7882*b6fb3261SAndroid Build Coastguard WorkerIrons, Wim Glenn, XFeiF, Yan Facai (颜发才), Yanbo Liang, Yong Tang, Yoshihiro 7883*b6fb3261SAndroid Build Coastguard WorkerYamazaki, Yuan (Terry) Tang, Yuan, Man, zhaoyongke, ÁRon Ricardo Perez-Lopez, 7884*b6fb3261SAndroid Build Coastguard Worker张天启, 张晓飞 7885*b6fb3261SAndroid Build Coastguard Worker 7886*b6fb3261SAndroid Build Coastguard Worker# Release 1.10.1 7887*b6fb3261SAndroid Build Coastguard Worker 7888*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 7889*b6fb3261SAndroid Build Coastguard Worker 7890*b6fb3261SAndroid Build Coastguard Worker* `tf.keras`: 7891*b6fb3261SAndroid Build Coastguard Worker * Fixing keras on Cloud TPUs. No new binaries will be built for Windows. 7892*b6fb3261SAndroid Build Coastguard Worker 7893*b6fb3261SAndroid Build Coastguard Worker# Release 1.10.0 7894*b6fb3261SAndroid Build Coastguard Worker 7895*b6fb3261SAndroid Build Coastguard Worker## Major Features And Improvements 7896*b6fb3261SAndroid Build Coastguard Worker 7897*b6fb3261SAndroid Build Coastguard Worker* The `tf.lite` runtime now supports `complex64`. 7898*b6fb3261SAndroid Build Coastguard Worker* Initial 7899*b6fb3261SAndroid Build Coastguard Worker [Google Cloud Bigtable integration](https://github.com/tensorflow/tensorflow/tree/r1.10/tensorflow/contrib/bigtable) 7900*b6fb3261SAndroid Build Coastguard Worker for `tf.data`. 7901*b6fb3261SAndroid Build Coastguard Worker* Improved local run behavior in `tf.estimator.train_and_evaluate` which does 7902*b6fb3261SAndroid Build Coastguard Worker not reload checkpoints for evaluation. 7903*b6fb3261SAndroid Build Coastguard Worker* `RunConfig` now sets device_filters to restrict how workers and PS can 7904*b6fb3261SAndroid Build Coastguard Worker communicate. This can speed up training and ensure clean shutdowns in some 7905*b6fb3261SAndroid Build Coastguard Worker situations. But if you have jobs that require communication between workers, 7906*b6fb3261SAndroid Build Coastguard Worker you will have to set custom session_options in your `RunConfig`. 7907*b6fb3261SAndroid Build Coastguard Worker* Moved Distributions and Bijectors from `tf.contrib.distributions` to 7908*b6fb3261SAndroid Build Coastguard Worker [Tensorflow Probability (TFP)](https://github.com/tensorflow/probability). 7909*b6fb3261SAndroid Build Coastguard Worker `tf.contrib.distributions` is now deprecated and will be removed by the end 7910*b6fb3261SAndroid Build Coastguard Worker of 2018. 7911*b6fb3261SAndroid Build Coastguard Worker* Adding new endpoints for existing tensorflow symbols. These endpoints are 7912*b6fb3261SAndroid Build Coastguard Worker going to be the preferred endpoints going forward and may replace some of 7913*b6fb3261SAndroid Build Coastguard Worker the existing endpoints in the future. See below for the complete list. New 7914*b6fb3261SAndroid Build Coastguard Worker symbols have been added to the following modules: 7915*b6fb3261SAndroid Build Coastguard Worker [`tf.debugging`](https://www.tensorflow.org/versions/master/api_docs/python/tf/debugging), 7916*b6fb3261SAndroid Build Coastguard Worker [`tf.dtypes`](https://www.tensorflow.org/versions/master/api_docs/python/tf/dtypes), 7917*b6fb3261SAndroid Build Coastguard Worker [`tf.image`](https://www.tensorflow.org/versions/master/api_docs/python/tf/image), 7918*b6fb3261SAndroid Build Coastguard Worker [`tf.io`](https://www.tensorflow.org/versions/master/api_docs/python/tf/io), 7919*b6fb3261SAndroid Build Coastguard Worker [`tf.linalg`](https://www.tensorflow.org/versions/master/api_docs/python/tf/linalg), 7920*b6fb3261SAndroid Build Coastguard Worker [`tf.manip`](https://www.tensorflow.org/versions/master/api_docs/python/tf/manip), 7921*b6fb3261SAndroid Build Coastguard Worker [`tf.math`](https://www.tensorflow.org/versions/master/api_docs/python/tf/math), 7922*b6fb3261SAndroid Build Coastguard Worker [`tf.quantization`](https://www.tensorflow.org/versions/master/api_docs/python/tf/quantization), 7923*b6fb3261SAndroid Build Coastguard Worker [`tf.strings`](https://www.tensorflow.org/versions/master/api_docs/python/tf/strings) 7924*b6fb3261SAndroid Build Coastguard Worker 7925*b6fb3261SAndroid Build Coastguard Worker## Breaking Changes 7926*b6fb3261SAndroid Build Coastguard Worker 7927*b6fb3261SAndroid Build Coastguard Worker* Prebuilt binaries are now (as of TensorFlow 1.10) built against NCCL 2.2 and 7928*b6fb3261SAndroid Build Coastguard Worker no longer include NCCL in the binary install. TensorFlow usage with multiple 7929*b6fb3261SAndroid Build Coastguard Worker GPUs and NCCL requires upgrade to 7930*b6fb3261SAndroid Build Coastguard Worker [NCCL 2.2](https://developer.nvidia.com/nccl). See updated install guides: 7931*b6fb3261SAndroid Build Coastguard Worker [TensorFlow GPU support](https://www.tensorflow.org/install/gpu) and 7932*b6fb3261SAndroid Build Coastguard Worker [Build TensorFlow from source](https://www.tensorflow.org/install/source). 7933*b6fb3261SAndroid Build Coastguard Worker* Starting from TensorFlow 1.11, Windows builds will use Bazel. Therefore, we 7934*b6fb3261SAndroid Build Coastguard Worker will drop official support for cmake. 7935*b6fb3261SAndroid Build Coastguard Worker 7936*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 7937*b6fb3261SAndroid Build Coastguard Worker 7938*b6fb3261SAndroid Build Coastguard Worker* `tf.data`: 7939*b6fb3261SAndroid Build Coastguard Worker * `tf.contrib.data.group_by_reducer()` is now available via the public 7940*b6fb3261SAndroid Build Coastguard Worker API. 7941*b6fb3261SAndroid Build Coastguard Worker * `tf.contrib.data.choose_from_datasets()` is now available via the public 7942*b6fb3261SAndroid Build Coastguard Worker API. 7943*b6fb3261SAndroid Build Coastguard Worker * Adding `drop_remainder` argument to `tf.data.Dataset.batch()` and 7944*b6fb3261SAndroid Build Coastguard Worker `tf.data.Dataset.padded_batch()`, deprecating 7945*b6fb3261SAndroid Build Coastguard Worker `tf.contrib.data.batch_and_drop_remainder()` and 7946*b6fb3261SAndroid Build Coastguard Worker `tf.contrib.data.padded_batch_and_drop_remainder()`. 7947*b6fb3261SAndroid Build Coastguard Worker* `tf.estimator`: 7948*b6fb3261SAndroid Build Coastguard Worker * `Estimator`s now use custom savers included in `EstimatorSpec` scaffolds 7949*b6fb3261SAndroid Build Coastguard Worker for saving SavedModels during export. 7950*b6fb3261SAndroid Build Coastguard Worker * `EstimatorSpec` will now add a default prediction output for export if 7951*b6fb3261SAndroid Build Coastguard Worker no `export_output` is provided, eliminating the need to explicitly 7952*b6fb3261SAndroid Build Coastguard Worker include a `PredictOutput` object in the `model_fn` for simple use-cases. 7953*b6fb3261SAndroid Build Coastguard Worker * Support sparse_combiner in canned Linear Estimators. 7954*b6fb3261SAndroid Build Coastguard Worker * Added batch normalization to `DNNClassifier`, `DNNRegressor`, and 7955*b6fb3261SAndroid Build Coastguard Worker `DNNEstimator`. 7956*b6fb3261SAndroid Build Coastguard Worker * Adding ranking support for boosted trees. 7957*b6fb3261SAndroid Build Coastguard Worker * Adding center bias option for boosted trees. 7958*b6fb3261SAndroid Build Coastguard Worker* Add `synchronization` and `aggregation` args to get_variable(). These args 7959*b6fb3261SAndroid Build Coastguard Worker will be used for distributed variables. 7960*b6fb3261SAndroid Build Coastguard Worker* Add `synchronization` and `aggregation` args to the layer `add_weight()` 7961*b6fb3261SAndroid Build Coastguard Worker API. These args will be used for distributed variables. 7962*b6fb3261SAndroid Build Coastguard Worker* `tf.losses.*` do not add to the global collection when executing eagerly (to 7963*b6fb3261SAndroid Build Coastguard Worker avoid leaking memory). 7964*b6fb3261SAndroid Build Coastguard Worker* Support different summary and checkpoint directories in 7965*b6fb3261SAndroid Build Coastguard Worker `tf.train.MonitoredTrainingSession()`. 7966*b6fb3261SAndroid Build Coastguard Worker* Added IndRNN, IndyGRU, and IndyLSTM cells to `tf.contrib.rnn`. 7967*b6fb3261SAndroid Build Coastguard Worker* Add safe static factory functions for SparseTensor and convert all CHECKs to 7968*b6fb3261SAndroid Build Coastguard Worker DCHECKs. Using the constructor directly is unsafe and deprecated. 7969*b6fb3261SAndroid Build Coastguard Worker* Make the Bigtable client connection pool configurable & increase the 7970*b6fb3261SAndroid Build Coastguard Worker default # of connections for performance. 7971*b6fb3261SAndroid Build Coastguard Worker* Added derivative of `tf.random_gamma` with respect to the alpha parameter. 7972*b6fb3261SAndroid Build Coastguard Worker* Added derivative of `tf.igamma(a, x)` and `tf.igammac(a, x)` with respect to 7973*b6fb3261SAndroid Build Coastguard Worker a. 7974*b6fb3261SAndroid Build Coastguard Worker* Modified Bessel functions of order zero and one. 7975*b6fb3261SAndroid Build Coastguard Worker* Add FillTriangular Bijector to create triangular matrices. 7976*b6fb3261SAndroid Build Coastguard Worker* Added support for Type III DCT, and `tf.spectral.idct(type=2|3)`. 7977*b6fb3261SAndroid Build Coastguard Worker* Correctly handle CuDNN RNN weight loaded when nest in `TimeDistributed`. 7978*b6fb3261SAndroid Build Coastguard Worker* Adding per-element weight support for `WALSComputePartialLhsAndRhsOp`. 7979*b6fb3261SAndroid Build Coastguard Worker* ZerosLike and OnesLike ops treated as constants by Graph Transform Tool. 7980*b6fb3261SAndroid Build Coastguard Worker* Gamma distribution and the derived distributions (Beta, Dirichlet, Student's 7981*b6fb3261SAndroid Build Coastguard Worker t, inverse Gamma) now fully reparameterized. 7982*b6fb3261SAndroid Build Coastguard Worker* Java: Experimental wrapper classes to make graph generation easier. Thanks 7983*b6fb3261SAndroid Build Coastguard Worker @karllessard and @kbsriram 7984*b6fb3261SAndroid Build Coastguard Worker* Build & link in secure gRPC components (switch from the insecure grpc 7985*b6fb3261SAndroid Build Coastguard Worker dependency to secure grpc dependency). 7986*b6fb3261SAndroid Build Coastguard Worker* Adding new endpoints for existing tensorflow symbols. These endpoints are 7987*b6fb3261SAndroid Build Coastguard Worker going to be the preferred endpoints going forward and may replace some of 7988*b6fb3261SAndroid Build Coastguard Worker the existing endpoints in the future. List of new endpoints: 7989*b6fb3261SAndroid Build Coastguard Worker * New endpoints in `tf.image` namespace: `tf.image.extract_image_patches` 7990*b6fb3261SAndroid Build Coastguard Worker * New endpoints in `tf.debugging` namespace: 7991*b6fb3261SAndroid Build Coastguard Worker `tf.debugging.check_numerics`, `tf.debugging.is_finite`, 7992*b6fb3261SAndroid Build Coastguard Worker `tf.debugging.is_inf`, `tf.debugging.is_nan`. 7993*b6fb3261SAndroid Build Coastguard Worker * New endpoints in `tf.dtypes` namespace: `tf.dtypes.as_string`. 7994*b6fb3261SAndroid Build Coastguard Worker * New endpoints in `tf.io` namespace: `tf.io.decode_base64`, 7995*b6fb3261SAndroid Build Coastguard Worker `tf.io.decode_compressed`, `tf.io.decode_json_example`, 7996*b6fb3261SAndroid Build Coastguard Worker `tf.io.decode_raw`, `tf.io.encode_base64`, `tf.io.matching_files`, 7997*b6fb3261SAndroid Build Coastguard Worker `tf.io.parse_tensor`, `tf.io.read_file,`tf.io.write_file`. 7998*b6fb3261SAndroid Build Coastguard Worker * New endpoints in tf.linalg namespace: `tf.linalg.cross`, 7999*b6fb3261SAndroid Build Coastguard Worker `tf.linalg.tensor_diag` (corresponds to `tf.diag`), 8000*b6fb3261SAndroid Build Coastguard Worker `tf.linalg.tensor_diag_part` (corresponds to `tf.diag_part`). 8001*b6fb3261SAndroid Build Coastguard Worker * New endpoints in tf.manip namespace: `tf.manip.batch_to_space_nd`, 8002*b6fb3261SAndroid Build Coastguard Worker `tf.manip.gather_nd`, `tf.manip.reshape`, `tf.manip.reverse`, 8003*b6fb3261SAndroid Build Coastguard Worker `tf.manip.scatter_nd`, `tf.manip.space_to_batch_nd`, `tf.manip.tile` 8004*b6fb3261SAndroid Build Coastguard Worker * New endpoints in tf.math namespace: `tf.math.acos`, `tf.math.acosh`, 8005*b6fb3261SAndroid Build Coastguard Worker `tf.math.add`, `tf.math.asin`, `tf.math.asinh`, `tf.math.atan`, 8006*b6fb3261SAndroid Build Coastguard Worker `tf.math.atan2`, `tf.math.atanh`, `tf.math.betainc`, `tf.math.ceil`, 8007*b6fb3261SAndroid Build Coastguard Worker `tf.math.cos`, `tf.math.cosh`, `tf.math.digamma`, `tf.math.equal`, 8008*b6fb3261SAndroid Build Coastguard Worker `tf.math.erfc`, `tf.math.exp`, `tf.math.expm1`, `tf.math.floor`, 8009*b6fb3261SAndroid Build Coastguard Worker `tf.math.greater`, `tf.math.greater_equal`, `tf.math.igamma`, 8010*b6fb3261SAndroid Build Coastguard Worker `tf.math.igammac`, `tf.math.invert_permutation`, `tf.math.less`, 8011*b6fb3261SAndroid Build Coastguard Worker `tf.math.less_equal`, `tf.math.lgamma`, `tf.math.log`, `tf.math.log1p`, 8012*b6fb3261SAndroid Build Coastguard Worker `tf.math.logical_and`, `tf.math.logical_not`, `tf.math.logical_or`, 8013*b6fb3261SAndroid Build Coastguard Worker `tf.math.maximum`, `tf.math.minimum`, `tf.math.not_equal`, 8014*b6fb3261SAndroid Build Coastguard Worker `tf.math.polygamma`, `tf.math.reciprocal`, `tf.math.rint`, 8015*b6fb3261SAndroid Build Coastguard Worker `tf.math.rsqrt`, `tf.math.segment_max`, `tf.math.segment_mean`, 8016*b6fb3261SAndroid Build Coastguard Worker `tf.math.segment_min`, `tf.math.segment_prod`, `tf.math.segment_sum`, 8017*b6fb3261SAndroid Build Coastguard Worker `tf.math.sin`, `tf.math.sinh`, `tf.math.softplus`, `tf.math.softsign`, 8018*b6fb3261SAndroid Build Coastguard Worker `tf.math.squared_difference`, `tf.math.tan`, 8019*b6fb3261SAndroid Build Coastguard Worker `tf.math.unsorted_segment_max`, `tf.math.unsorted_segment_min`, 8020*b6fb3261SAndroid Build Coastguard Worker `tf.math.unsorted_segment_prod`, `tf.math.unsorted_segment_sum`, 8021*b6fb3261SAndroid Build Coastguard Worker `tf.math.zeta`. 8022*b6fb3261SAndroid Build Coastguard Worker * New endpoints in `tf.quantization` namespace: 8023*b6fb3261SAndroid Build Coastguard Worker `tf.quantization.dequantize`, 8024*b6fb3261SAndroid Build Coastguard Worker `tf.quantization.fake_quant_with_min_max_args`, 8025*b6fb3261SAndroid Build Coastguard Worker `tf.quantization.fake_quant_with_min_max_args_gradient`, 8026*b6fb3261SAndroid Build Coastguard Worker `tf.quantization.fake_quant_with_min_max_vars`, 8027*b6fb3261SAndroid Build Coastguard Worker `tf.quantization.fake_quant_with_min_max_vars_gradient`, 8028*b6fb3261SAndroid Build Coastguard Worker `tf.quantization.fake_quant_with_min_max_vars_per_channel`, 8029*b6fb3261SAndroid Build Coastguard Worker `tf.quantization.fake_quant_with_min_max_vars_per_channel_gradient`. 8030*b6fb3261SAndroid Build Coastguard Worker * New endpoints in tf.strings namespace: `tf.strings.join` (corresponds to 8031*b6fb3261SAndroid Build Coastguard Worker `tf.string_join`), `tf.strings.regex_replace`, `tf.strings.to_number` 8032*b6fb3261SAndroid Build Coastguard Worker (corresponds to `tf.string_to_number`), `tf.strings.strip` (corresponds 8033*b6fb3261SAndroid Build Coastguard Worker to `tf.string_strip`), `tf.strings.substr`, `tf.strings.to_hash_bucket` 8034*b6fb3261SAndroid Build Coastguard Worker (corresponds to `tf.string_to_hash_bucket`), 8035*b6fb3261SAndroid Build Coastguard Worker `tf.strings.to_hash_bucket_fast` (corresponds to 8036*b6fb3261SAndroid Build Coastguard Worker `tf.string_to_hash_bucket_fast`), `tf.strings.to_hash_bucket_strong` 8037*b6fb3261SAndroid Build Coastguard Worker (corresponds to `tf.string_to_hash_bucket_strong`). 8038*b6fb3261SAndroid Build Coastguard Worker 8039*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors 8040*b6fb3261SAndroid Build Coastguard Worker 8041*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as: 8042*b6fb3261SAndroid Build Coastguard Worker 8043*b6fb3261SAndroid Build Coastguard WorkerAg Ramesh, Alex Wiltschko, Alexander Pantyukhin, Amogh Mannekote, An Jiaoyang, 8044*b6fb3261SAndroid Build Coastguard WorkerAndrei Nigmatulin, Andrew Ginns, BjøRn Moholt, Brett Koonce, Chengzhi Chen, 8045*b6fb3261SAndroid Build Coastguard WorkerChinmay Das, Christian Ertler, Christoph Boeddeker, Clayne Robison, Courtial 8046*b6fb3261SAndroid Build Coastguard WorkerFlorian, ctiijima, Dan Douthit, Dan J, Dan Ringwalt, EFanZh, Emanuele Ballarin, 8047*b6fb3261SAndroid Build Coastguard Workereqy, Evgeniy Zheltonozhskiy, Freedom" Koan-Sin Tan, FréDéRic Branchaud-Charron, 8048*b6fb3261SAndroid Build Coastguard WorkerG K, gracehoney, Guillaume Klein, Guozhong Zhuang, Hsien-Yang Li, hsm207, 8049*b6fb3261SAndroid Build Coastguard WorkerImSheridan, Jayaram Bobba, Jiandong Ruan, Jie, Joel Shor, Jonas Rauber, Jongmin 8050*b6fb3261SAndroid Build Coastguard WorkerBaek, jsawruk, Karan Kaw, Karl Lessard, [email protected], Kb Sriram, KinmanLam, 8051*b6fb3261SAndroid Build Coastguard Workerleiiwang, Li, Yiqiang, Loo Rong Jie, Mahmoud Abuzaina, Mahmoud Aslan, ManHyuk, 8052*b6fb3261SAndroid Build Coastguard WorkerMartin Patz, Martin Zeitler, mktozk, Mohammad Ashraf Bhuiyan, mrTsjolder, Naman 8053*b6fb3261SAndroid Build Coastguard WorkerBhalla, Nick Felt, Nicolas Lopez, Niranjan Hasabnis, Nishidha Panpaliya, Nitish, 8054*b6fb3261SAndroid Build Coastguard Workernrstott, Nutti, Parag Jain, PeterLee, Philipp Jund, Rach L, Rafal Wojdyla, 8055*b6fb3261SAndroid Build Coastguard WorkerRoland Zimmermann, Sergei Lebedev, SneakyFish5, Soila Kavulya, Sriram Veturi, 8056*b6fb3261SAndroid Build Coastguard WorkerSteven Schmatz, Taehoon Lee, Tang, Wenyi, Taras Sereda, Ted Chang, Tim Zaman, 8057*b6fb3261SAndroid Build Coastguard WorkerTristan Rice, tucan, vchigrin, Vikram Tiwari, Vincent, WeberXie, William D. 8058*b6fb3261SAndroid Build Coastguard WorkerIrons, Yan Facai (颜发才), Yong Tang, Yu Yi, Yuxin Wu, Zé ViníCius 8059*b6fb3261SAndroid Build Coastguard Worker 8060*b6fb3261SAndroid Build Coastguard Worker# Release 1.9.0 8061*b6fb3261SAndroid Build Coastguard Worker 8062*b6fb3261SAndroid Build Coastguard Worker## Major Features And Improvements 8063*b6fb3261SAndroid Build Coastguard Worker 8064*b6fb3261SAndroid Build Coastguard Worker* Updated docs for `tf.keras`: New Keras-based 8065*b6fb3261SAndroid Build Coastguard Worker [get started](http://tensorflow.org/versions/r1.9/get_started), and 8066*b6fb3261SAndroid Build Coastguard Worker [programmers guide page](http://tensorflow.org/versions/r1.9/programmers_guide/keras). 8067*b6fb3261SAndroid Build Coastguard Worker* Update `tf.keras` to the Keras 2.1.6 API. 8068*b6fb3261SAndroid Build Coastguard Worker* Added 8069*b6fb3261SAndroid Build Coastguard Worker [`tf.keras.layers.CuDNNGRU`](https://www.tensorflow.org/versions/r1.9/api_docs/python/tf/keras/layers/CuDNNGRU) 8070*b6fb3261SAndroid Build Coastguard Worker and 8071*b6fb3261SAndroid Build Coastguard Worker [`tf.keras.layers.CuDNNLSTM`](https://www.tensorflow.org/versions/r1.9/api_docs/python/tf/keras/layers/CuDNNLSTM) 8072*b6fb3261SAndroid Build Coastguard Worker layers. 8073*b6fb3261SAndroid Build Coastguard Worker [Try it](https://colab.sandbox.google.com/github/tensorflow/tensorflow/blob/master/tensorflow/contrib/eager/python/examples/nmt_with_attention/nmt_with_attention.ipynb?linkId=53292082). 8074*b6fb3261SAndroid Build Coastguard Worker* Adding support of core 8075*b6fb3261SAndroid Build Coastguard Worker [feature columns](https://www.tensorflow.org/get_started/feature_columns) 8076*b6fb3261SAndroid Build Coastguard Worker and [losses](https://www.tensorflow.org/api_docs/python/tf/losses) to 8077*b6fb3261SAndroid Build Coastguard Worker [gradient boosted trees estimators](https://github.com/tensorflow/models/tree/master/official/r1/boosted_trees). 8078*b6fb3261SAndroid Build Coastguard Worker* The 8079*b6fb3261SAndroid Build Coastguard Worker [python interface](https://www.tensorflow.org/versions/r1.9/api_docs/python/tf/lite) 8080*b6fb3261SAndroid Build Coastguard Worker for the 8081*b6fb3261SAndroid Build Coastguard Worker [TFLite Optimizing Converter](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/lite/toco/README.md) 8082*b6fb3261SAndroid Build Coastguard Worker has been expanded, and the command line interface (AKA: `toco`, 8083*b6fb3261SAndroid Build Coastguard Worker `tflite_convert`) is once again included in the standard `pip` installation. 8084*b6fb3261SAndroid Build Coastguard Worker* Improved data-loading and text processing with: 8085*b6fb3261SAndroid Build Coastguard Worker * [`tf.decode_compressed`](https://www.tensorflow.org/versions/r1.9/api_docs/python/tf/decode_compressed) 8086*b6fb3261SAndroid Build Coastguard Worker * [`tf.string_strip`](https://www.tensorflow.org/versions/r1.9/api_docs/python/tf/string_strip) 8087*b6fb3261SAndroid Build Coastguard Worker * [`tf.strings.regex_full_match`](https://www.tensorflow.org/versions/r1.9/api_docs/python/tf/strings/regex_full_match) 8088*b6fb3261SAndroid Build Coastguard Worker* Added experimental support for new pre-made Estimators: 8089*b6fb3261SAndroid Build Coastguard Worker * [`tf.contrib.estimator.BaselineEstimator`](https://www.tensorflow.org/versions/r1.9/api_docs/python/tf/contrib/estimator/BaselineEstimator) 8090*b6fb3261SAndroid Build Coastguard Worker * [`tf.contrib.estimator.RNNClassifier`](https://www.tensorflow.org/versions/r1.9/api_docs/python/tf/contrib/estimator/RNNEstimator) 8091*b6fb3261SAndroid Build Coastguard Worker * [`tf.contrib.estimator.RNNEstimator`](https://www.tensorflow.org/versions/r1.9/api_docs/python/tf/contrib/estimator/RNNClassifier) 8092*b6fb3261SAndroid Build Coastguard Worker* The 8093*b6fb3261SAndroid Build Coastguard Worker [distributions.Bijector](https://www.tensorflow.org/versions/r1.9/api_docs/python/tf/contrib/distributions/bijectors/Bijector) 8094*b6fb3261SAndroid Build Coastguard Worker API supports broadcasting for Bijectors with new API changes. 8095*b6fb3261SAndroid Build Coastguard Worker 8096*b6fb3261SAndroid Build Coastguard Worker## Breaking Changes 8097*b6fb3261SAndroid Build Coastguard Worker 8098*b6fb3261SAndroid Build Coastguard Worker* If you're opening empty variable scopes; replace `variable_scope('', ...)` 8099*b6fb3261SAndroid Build Coastguard Worker by `variable_scope(tf.get_variable_scope(), ...)`. 8100*b6fb3261SAndroid Build Coastguard Worker* Headers used for building custom ops have been moved from 8101*b6fb3261SAndroid Build Coastguard Worker site-packages/external into site-packages/tensorflow/include/external. 8102*b6fb3261SAndroid Build Coastguard Worker 8103*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 8104*b6fb3261SAndroid Build Coastguard Worker 8105*b6fb3261SAndroid Build Coastguard Worker* `tfe.Network` is deprecated. Please inherit from `tf.keras.Model`. 8106*b6fb3261SAndroid Build Coastguard Worker* Layered variable names have changed in the following conditions: 8107*b6fb3261SAndroid Build Coastguard Worker * Using `tf.keras.layers` with custom variable scopes. 8108*b6fb3261SAndroid Build Coastguard Worker * Using `tf.layers` in a subclassed `tf.keras.Model` class. See 8109*b6fb3261SAndroid Build Coastguard Worker [here](https://www.tensorflow.org/versions/r1.9/api_docs/python/tf/layers) 8110*b6fb3261SAndroid Build Coastguard Worker for more details 8111*b6fb3261SAndroid Build Coastguard Worker* `tf.data`: 8112*b6fb3261SAndroid Build Coastguard Worker * `Dataset.from_generator()` now accepts an `args` list, in order to 8113*b6fb3261SAndroid Build Coastguard Worker create nested generators. 8114*b6fb3261SAndroid Build Coastguard Worker * `Dataset.list_files()` now produces deterministic results when 8115*b6fb3261SAndroid Build Coastguard Worker `shuffle=False` or a `seed` is passed. 8116*b6fb3261SAndroid Build Coastguard Worker * `tf.contrib.data.sample_from_datasets()` and 8117*b6fb3261SAndroid Build Coastguard Worker `tf.contrib.data.choose_from_datasets()` make it easier to sample or 8118*b6fb3261SAndroid Build Coastguard Worker deterministically choose elements from multiple datasets. 8119*b6fb3261SAndroid Build Coastguard Worker * `tf.contrib.data.make_csv_dataset()` now supports line breaks in quoted 8120*b6fb3261SAndroid Build Coastguard Worker strings, and two infrequently used arguments removed. 8121*b6fb3261SAndroid Build Coastguard Worker * (C++) `DatasetBase::DebugString()` is now `const`. 8122*b6fb3261SAndroid Build Coastguard Worker * (C++) `DatasetBase::MakeIterator()` has been renamed to 8123*b6fb3261SAndroid Build Coastguard Worker `DatasetBase::MakeIteratorInternal()`. 8124*b6fb3261SAndroid Build Coastguard Worker * (C++) `IteratorBase::Initialize()` method was added to support raising 8125*b6fb3261SAndroid Build Coastguard Worker errors during iterator construction. 8126*b6fb3261SAndroid Build Coastguard Worker* Eager Execution: 8127*b6fb3261SAndroid Build Coastguard Worker * Added the ability to pause recording operations for gradient computation 8128*b6fb3261SAndroid Build Coastguard Worker via `tf.GradientTape.stop_recording`. 8129*b6fb3261SAndroid Build Coastguard Worker * Updated documentation, introductory notebooks. 8130*b6fb3261SAndroid Build Coastguard Worker* `tf.keras`: 8131*b6fb3261SAndroid Build Coastguard Worker * Move Keras code out of _impl folder and remove API files. 8132*b6fb3261SAndroid Build Coastguard Worker * `tf.keras.Model.save_weights` now saves in TensorFlow format by default. 8133*b6fb3261SAndroid Build Coastguard Worker * Enable dataset iterators to be passed to `tf.keras.Model` training/eval 8134*b6fb3261SAndroid Build Coastguard Worker methods. 8135*b6fb3261SAndroid Build Coastguard Worker* TensorFlow Debugger (tfdbg) CLI: fix an issue in which the TensorBoard 8136*b6fb3261SAndroid Build Coastguard Worker Debugger Plugin could not handle total source file size exceeding gRPC 8137*b6fb3261SAndroid Build Coastguard Worker message size limit (4 MB). 8138*b6fb3261SAndroid Build Coastguard Worker* `tf.contrib`: 8139*b6fb3261SAndroid Build Coastguard Worker * `tf.contrib.framework.zero_initializer` supports ResourceVariable. 8140*b6fb3261SAndroid Build Coastguard Worker * Adding "constrained_optimization" to tensorflow/contrib. 8141*b6fb3261SAndroid Build Coastguard Worker* Other: 8142*b6fb3261SAndroid Build Coastguard Worker * Add GCS Configuration Ops. 8143*b6fb3261SAndroid Build Coastguard Worker * Changing signature of `MakeIterator` to enable propagating error status. 8144*b6fb3261SAndroid Build Coastguard Worker * KL divergence for two Dirichlet distributions. 8145*b6fb3261SAndroid Build Coastguard Worker * More consistent GcsFileSystem behavior for certain reads past EOF. 8146*b6fb3261SAndroid Build Coastguard Worker * Update benchmark for tf.scan to match ranges across eager and graph 8147*b6fb3261SAndroid Build Coastguard Worker modes. 8148*b6fb3261SAndroid Build Coastguard Worker * Fixed bug in `tf.reduce_prod gradient` for complex dtypes. 8149*b6fb3261SAndroid Build Coastguard Worker * Allow the use of '.' in variables (e.g. "hparams.parse('a.b=1.0')"), 8150*b6fb3261SAndroid Build Coastguard Worker which would previously raise an error. This will correspond to an 8151*b6fb3261SAndroid Build Coastguard Worker attribute name with an embedded '.' symbol (e.g. 'a.b'), which can only 8152*b6fb3261SAndroid Build Coastguard Worker be accessed indirectly (e.g. through getattr and setattr). To set this 8153*b6fb3261SAndroid Build Coastguard Worker up the user will first need to explicitly add the variable to the hparam 8154*b6fb3261SAndroid Build Coastguard Worker object (e.g. "hparams.add_hparam(name='a.b', value=0.0)"). 8155*b6fb3261SAndroid Build Coastguard Worker * Benchmark for tf.scan in graph and eager modes. 8156*b6fb3261SAndroid Build Coastguard Worker * Added complex128 support to FFT, FFT2D, FFT3D, IFFT, IFFT2D, and IFFT3D. 8157*b6fb3261SAndroid Build Coastguard Worker * Making ids unique in `nn.embedding_lookup_sparse`. This helps to reduce 8158*b6fb3261SAndroid Build Coastguard Worker RPC calls for looking up the embeddings when there are repeated ids in 8159*b6fb3261SAndroid Build Coastguard Worker the batch. 8160*b6fb3261SAndroid Build Coastguard Worker * Support indicator column in boosted trees. 8161*b6fb3261SAndroid Build Coastguard Worker * Prevent `tf.gradients()` from backpropagating through integer tensors. 8162*b6fb3261SAndroid Build Coastguard Worker * LinearOperator[1D,2D,3D]Circulant added to `tensorflow.linalg`. 8163*b6fb3261SAndroid Build Coastguard Worker * Conv3D, Conv3DBackpropInput, Conv3DBackpropFilter now supports 8164*b6fb3261SAndroid Build Coastguard Worker arbitrary. 8165*b6fb3261SAndroid Build Coastguard Worker * Added `tf.train.Checkpoint` for reading/writing object-based 8166*b6fb3261SAndroid Build Coastguard Worker checkpoints. 8167*b6fb3261SAndroid Build Coastguard Worker * Added LinearOperatorKronecker, a dense-free implementation of the 8168*b6fb3261SAndroid Build Coastguard Worker Kronecker Product. 8169*b6fb3261SAndroid Build Coastguard Worker * Allow LinearOperator to broadcast. 8170*b6fb3261SAndroid Build Coastguard Worker * SavedModelBuilder will now deduplicate asset names that point to files 8171*b6fb3261SAndroid Build Coastguard Worker with the same basename and the same contents. Note that this may result 8172*b6fb3261SAndroid Build Coastguard Worker in new asset files included in SavedModels in cases where assets with 8173*b6fb3261SAndroid Build Coastguard Worker the same name but different contents were previously overwriting each 8174*b6fb3261SAndroid Build Coastguard Worker other. 8175*b6fb3261SAndroid Build Coastguard Worker 8176*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors 8177*b6fb3261SAndroid Build Coastguard Worker 8178*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as: 8179*b6fb3261SAndroid Build Coastguard Worker 8180*b6fb3261SAndroid Build Coastguard WorkerAbdullah Alrasheed, Achal Shah, Ad-530, ADiegoCAlonso, Aditya Yogi, Ag Ramesh, 8181*b6fb3261SAndroid Build Coastguard Workerakindyakov, Andy Kernahan, Anya Petrova, Aurelien Geron, Ben, Ben Barsdell, 8182*b6fb3261SAndroid Build Coastguard WorkerBhavani-Subramanian, braincodercn, Brett Koonce, Brian Nemsick, Brian Zier, 8183*b6fb3261SAndroid Build Coastguard WorkerBryan Heden, candy.dc, cclauss, Clayne Robison, ctiijima, Dalmo Cirne, David 8184*b6fb3261SAndroid Build Coastguard WorkerNorman, David T.H. Kao, DosLin, ekelsen, Elson Rodriguez, Erik Smistad, Felix 8185*b6fb3261SAndroid Build Coastguard WorkerAbecassis, Fergal Cotter, fo40225, foo0x29a, Freedom" Koan-Sin Tan, FréDéRic 8186*b6fb3261SAndroid Build Coastguard WorkerBranchaud-Charron, gdh1995, Geoffrey Irving, Giuseppe, gracehoney, Guido 8187*b6fb3261SAndroid Build Coastguard WorkerZuidhof, Guillaume Klein, Guozhong Zhuang, Haggai, Harald Husum, imsheridan, 8188*b6fb3261SAndroid Build Coastguard WorkerIvan Zhang, Jan Zikes, Jayaram Bobba, Jesse Benson, Jesse Gumz, Jiajia Li, Jie, 8189*b6fb3261SAndroid Build Coastguard Workerjinghuangintel, Jingwen, jjsjann123, Joe Yearsley, Joel Hestness, Joel Shor, 8190*b6fb3261SAndroid Build Coastguard Workerjosephyearsley, Junpeng Lao, Karol M. Langner, Kb Sriram, krantideep95, Krish 8191*b6fb3261SAndroid Build Coastguard WorkerRavindranath, Letian Feng, Loo Rong Jie, Lukas Geiger, Maciej, Mahmoud Abuzaina, 8192*b6fb3261SAndroid Build Coastguard WorkerManHyuk, Mark Ryan, mbhuiyan, Michal Turek, Mostafa Alaa, Myungsung Kwak, Nand 8193*b6fb3261SAndroid Build Coastguard WorkerDalal, Nehal J Wani, Neil Tenenholtz, ngc92, Nicholas Nadeau, P.Eng., Avs, 8194*b6fb3261SAndroid Build Coastguard WorkerNiranjan Hasabnis, P-Hidringer, Paul Van Eck, Peng Yu, Qing Zhao, Qingying Chen, 8195*b6fb3261SAndroid Build Coastguard WorkerQuanlong, Rajendra Arora, Rholais Lii, rmanyari, Robin Richtsfeld, Russell 8196*b6fb3261SAndroid Build Coastguard WorkerKlopfer, Sagi, Sam Sendelbach, Sandeep N Gupta, Sandip Giri, Sarah Edkins, Scott 8197*b6fb3261SAndroid Build Coastguard WorkerTseng, Sdalbsoo, Sergii Khomenko, Seungwoo Choi (Biggie), Seyed Majid Azimi, 8198*b6fb3261SAndroid Build Coastguard WorkerShaoning Zeng, shengfuintel, Siu Kei, Muk, Smit Shilu, soonson, Stefan Schweter, 8199*b6fb3261SAndroid Build Coastguard WorkerSukhwan Kim, Sunitha Kambhampati, Taehoon Lee, tamimaddari82, Tang, Wenyi, Ted 8200*b6fb3261SAndroid Build Coastguard WorkerChang, u2takey, Utkarsh Upadhyay, Vadim Markovtsev, voegtlel, Wai Hon Law, 8201*b6fb3261SAndroid Build Coastguard Workerwangsiyu, Wenhao Hu, wenhao.hu, William D. Irons, Yan Facai (颜发才), Yanbo Liang, 8202*b6fb3261SAndroid Build Coastguard WorkerYihong Wang, Yilei (Dolee) Yang, Yong Tang, Yuan (Terry) Tang 8203*b6fb3261SAndroid Build Coastguard Worker 8204*b6fb3261SAndroid Build Coastguard Worker# Release 1.8.0 8205*b6fb3261SAndroid Build Coastguard Worker 8206*b6fb3261SAndroid Build Coastguard Worker## Major Features And Improvements 8207*b6fb3261SAndroid Build Coastguard Worker 8208*b6fb3261SAndroid Build Coastguard Worker* Can now pass `tf.contrib.distribute.MirroredStrategy()` to 8209*b6fb3261SAndroid Build Coastguard Worker `tf.estimator.RunConfig()` to run an Estimator model on multiple GPUs on one 8210*b6fb3261SAndroid Build Coastguard Worker machine. 8211*b6fb3261SAndroid Build Coastguard Worker* Add `tf.contrib.data.prefetch_to_device()`, which supports prefetching to 8212*b6fb3261SAndroid Build Coastguard Worker GPU memory. 8213*b6fb3261SAndroid Build Coastguard Worker* Added Gradient Boosted Trees as pre-made Estimators: BoostedTreesClassifier, 8214*b6fb3261SAndroid Build Coastguard Worker BoostedTreesRegressor. 8215*b6fb3261SAndroid Build Coastguard Worker* Add 3rd generation pipeline config for Cloud TPUs which improves performance 8216*b6fb3261SAndroid Build Coastguard Worker and usability. 8217*b6fb3261SAndroid Build Coastguard Worker* `tf.contrib.bayesflow` is moving out to it's own repo. 8218*b6fb3261SAndroid Build Coastguard Worker* Added `tf.contrib.{proto,rpc}` to allow generic proto parsing and RPC 8219*b6fb3261SAndroid Build Coastguard Worker communication<sup>[1](#rpc-issue)</sup>. 8220*b6fb3261SAndroid Build Coastguard Worker 8221*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 8222*b6fb3261SAndroid Build Coastguard Worker 8223*b6fb3261SAndroid Build Coastguard Worker* `tf.data`: 8224*b6fb3261SAndroid Build Coastguard Worker * Add `tf.contrib.data.prefetch_to_device`, which enables prefetching 8225*b6fb3261SAndroid Build Coastguard Worker dataset elements to GPU memory. 8226*b6fb3261SAndroid Build Coastguard Worker * Add `tf.contrib.data.AUTOTUNE`, which allows the tf.data runtime to 8227*b6fb3261SAndroid Build Coastguard Worker automatically tune the prefetch buffer sizes based on your system and 8228*b6fb3261SAndroid Build Coastguard Worker environment. 8229*b6fb3261SAndroid Build Coastguard Worker * Add `tf.contrib.data.make_csv_dataset` for building datasets of CSV 8230*b6fb3261SAndroid Build Coastguard Worker files. 8231*b6fb3261SAndroid Build Coastguard Worker* Eager Execution: 8232*b6fb3261SAndroid Build Coastguard Worker * With eager execution Datasets can now be used as standard python 8233*b6fb3261SAndroid Build Coastguard Worker iterators (`for batch in dataset:`). Both `Dataset.__iter__()` and 8234*b6fb3261SAndroid Build Coastguard Worker `Dataset.make_one_shot_iterator()` can now be used to create iterators 8235*b6fb3261SAndroid Build Coastguard Worker when eager execution is enabled. 8236*b6fb3261SAndroid Build Coastguard Worker * Automatic device placement has been enabled (i.e., use a GPU if 8237*b6fb3261SAndroid Build Coastguard Worker available automatically, without requiring an explicit `with 8238*b6fb3261SAndroid Build Coastguard Worker tf.device(“/gpu:0”)`) (Fixes #14133) 8239*b6fb3261SAndroid Build Coastguard Worker * `tf.GradientTape` has moved out of contrib. 8240*b6fb3261SAndroid Build Coastguard Worker* `tf.keras`: 8241*b6fb3261SAndroid Build Coastguard Worker * Added the fashion mnist dataset. 8242*b6fb3261SAndroid Build Coastguard Worker * New data preprocessing functions: `image/random_brightness`, 8243*b6fb3261SAndroid Build Coastguard Worker `sequence/TimeseriesGenerator`, and `text/hashing_trick`. 8244*b6fb3261SAndroid Build Coastguard Worker* Accelerated Linear Algebra (XLA): 8245*b6fb3261SAndroid Build Coastguard Worker * Select and scatter in reference util and evaluator now use 8246*b6fb3261SAndroid Build Coastguard Worker lexicographical order to break ties. 8247*b6fb3261SAndroid Build Coastguard Worker* TensorFlow Debugger (tfdbg) CLI: 8248*b6fb3261SAndroid Build Coastguard Worker * During tensor-filter operations, allow exclusion of nodes by regular 8249*b6fb3261SAndroid Build Coastguard Worker expressions. 8250*b6fb3261SAndroid Build Coastguard Worker * Fix spurious background colors in some text terminals. 8251*b6fb3261SAndroid Build Coastguard Worker* `tf.contrib`: 8252*b6fb3261SAndroid Build Coastguard Worker * Add meta-distribution BatchReshape which reshapes batch dimensions. 8253*b6fb3261SAndroid Build Coastguard Worker * `tf.contrib.layers.recompute_grad` works for explicit gradient 8254*b6fb3261SAndroid Build Coastguard Worker checkpointing on TPU. 8255*b6fb3261SAndroid Build Coastguard Worker * Add `tf.contrib.framework.argsort`. 8256*b6fb3261SAndroid Build Coastguard Worker * Allow `DNNBoostedTreeCombinedEstimator` to work with core versions of 8257*b6fb3261SAndroid Build Coastguard Worker feature columns and losses. 8258*b6fb3261SAndroid Build Coastguard Worker * Add non-linear image warping ops: `tf.contrib.image.sparse_image_warp`, 8259*b6fb3261SAndroid Build Coastguard Worker `tf.contrib.image.dense_image_warp`, and 8260*b6fb3261SAndroid Build Coastguard Worker `tf.contrib.image.interpolate_spline`. 8261*b6fb3261SAndroid Build Coastguard Worker * Fix bug in `tf.contrib.opt.MultitaskOptimizerWrapper` where types of 8262*b6fb3261SAndroid Build Coastguard Worker tensors were mismatched. 8263*b6fb3261SAndroid Build Coastguard Worker* Other: 8264*b6fb3261SAndroid Build Coastguard Worker * Low-level graph construction now calls the TensorFlow C API. This change 8265*b6fb3261SAndroid Build Coastguard Worker should be invisible to most users, but can be disabled by setting the 8266*b6fb3261SAndroid Build Coastguard Worker environment variable `TF_C_API_GRAPH_CONSTRUCTION=0` in this release. 8267*b6fb3261SAndroid Build Coastguard Worker Future releases will remove the ability to disable this change. Please 8268*b6fb3261SAndroid Build Coastguard Worker [file a bug](https://github.com/tensorflow/tensorflow/issues/new) if you 8269*b6fb3261SAndroid Build Coastguard Worker find yourself using this escape hatch. 8270*b6fb3261SAndroid Build Coastguard Worker * Add description of shapes and a pointer to tutorial notebook in 8271*b6fb3261SAndroid Build Coastguard Worker `tf.distributions.Distribution`. 8272*b6fb3261SAndroid Build Coastguard Worker * Update scatter operations: 8273*b6fb3261SAndroid Build Coastguard Worker * Add `tf.scatter_min` and `tf.scatter_max` 8274*b6fb3261SAndroid Build Coastguard Worker * Extend scatter operations to work with a scalar update parameter. 8275*b6fb3261SAndroid Build Coastguard Worker * Move cuDNN RNN ops to core for use in TensorFlow codebase only. 8276*b6fb3261SAndroid Build Coastguard Worker * Add `float64` support for `Conv2d`, `Conv2dBackpropInput`, and 8277*b6fb3261SAndroid Build Coastguard Worker `Conv2dBackpropFilter`. 8278*b6fb3261SAndroid Build Coastguard Worker * Add `float64` support for `AvgPool`/`AvgPoolGrad`. 8279*b6fb3261SAndroid Build Coastguard Worker * Make graph name scope thread local so that they work correctly in 8280*b6fb3261SAndroid Build Coastguard Worker multi-threaded environments. 8281*b6fb3261SAndroid Build Coastguard Worker * Update nsync synchronization library to avoid slow primitives on Linux. 8282*b6fb3261SAndroid Build Coastguard Worker * Removed need to put nsync/public on C include path when building custom 8283*b6fb3261SAndroid Build Coastguard Worker ops. 8284*b6fb3261SAndroid Build Coastguard Worker * Add `tf.image.psnr`, `tf.image.ssim`, `tf.image.ssim_multiscale`, 8285*b6fb3261SAndroid Build Coastguard Worker `tf.image.image_gradients`, `tf.image.sobel_edges`. 8286*b6fb3261SAndroid Build Coastguard Worker * Add links to https://js.tensorflow.org. 8287*b6fb3261SAndroid Build Coastguard Worker * Fix non-uniformity of orthogonal matrices. 8288*b6fb3261SAndroid Build Coastguard Worker * Fix bug where multi-image Estimator eval summaries were not displayed 8289*b6fb3261SAndroid Build Coastguard Worker correctly. 8290*b6fb3261SAndroid Build Coastguard Worker 8291*b6fb3261SAndroid Build Coastguard Worker<a name="rpc-issue"><sup>1</sup></a> The cancellation logic of the RPC op 8292*b6fb3261SAndroid Build Coastguard Workercontains a concurrency error. A fix has been submitted to master and will be 8293*b6fb3261SAndroid Build Coastguard Workerpart of the next release. 8294*b6fb3261SAndroid Build Coastguard Worker 8295*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors 8296*b6fb3261SAndroid Build Coastguard Worker 8297*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as: 8298*b6fb3261SAndroid Build Coastguard Worker 8299*b6fb3261SAndroid Build Coastguard Worker4d55397500, Aghasy, Alan Du, Alan Lee, Alan Yee, Alex Wiltschko, Animesh 8300*b6fb3261SAndroid Build Coastguard WorkerKarnewar, Ankit Gupta, Anton Matosov, Aris L, Ben Barsdell, Brent Yi, Brett 8301*b6fb3261SAndroid Build Coastguard WorkerKoonce, Carl Thomé, cbockman, Chikanaga Tomoyuki, Chris Tava, CéDric Deltheil, 8302*b6fb3261SAndroid Build Coastguard WorkerDahan Gong, Dalmo Cirne, Daniel Erenrich, David Norman, DavidNorman, Edd 8303*b6fb3261SAndroid Build Coastguard WorkerWilder-James, Fanjin Zeng, Felix Abecassis, fo40225, George Sterpu, Giovanni 8304*b6fb3261SAndroid Build Coastguard WorkerTerlingen, Gor Baghdasaryan, Guillaume Klein, Hanchen Li, Ilya Polenov, Jakub 8305*b6fb3261SAndroid Build Coastguard WorkerKolodziejczyk, Jason Sadler, Jayaram Bobba, Jerry Liu, jinghuangintel, Jiongyan 8306*b6fb3261SAndroid Build Coastguard WorkerZhang (张炯衍), Joel Shor, Jong Wook Kim, Julian Eisenschlos, Karl Lessard, Krish 8307*b6fb3261SAndroid Build Coastguard WorkerRavindranath, Loo Rong Jie, Lukas Geiger, Luke Iwanski, Mahmoud Abuzaina, 8308*b6fb3261SAndroid Build Coastguard WorkerManHyuk, Marvin Richter, Maximilian Mitchell, Mohammad Ashraf Bhuiyan, msofka, 8309*b6fb3261SAndroid Build Coastguard WorkerMustafa Kasap, Nathan Burnham, Nathan Luehr, Naveen Marri, ngc92, nio1814, Oleg 8310*b6fb3261SAndroid Build Coastguard WorkerZabluda, Ou Changkun, Panos Ipeirotis, Paul Van Eck, Peter Lee, Piotr Czapla, 8311*b6fb3261SAndroid Build Coastguard Workerqjivy, Rholais Lii, Rodrigo Formigone, Russell Klopfer, ryantimjohn, Sang Han, 8312*b6fb3261SAndroid Build Coastguard WorkerSebastiáN RamíRez, shengfuintel, Siby Jose Plathottam, Silver Chan, Stanislaw 8313*b6fb3261SAndroid Build Coastguard WorkerAntol, Taehoon Lee, Tarang Chugh, Ted Chang, Thomas Bastiani, Xian Xu, Xiaoming 8314*b6fb3261SAndroid Build Coastguard Worker(Jason) Cui, Yan Facai (颜发才), yaox12, Yashal Shakti Kanungo, Yong Tang, Yuan 8315*b6fb3261SAndroid Build Coastguard Worker(Terry) Tang, Yuxin Wu, Ziyue(Louis) Lu 8316*b6fb3261SAndroid Build Coastguard Worker 8317*b6fb3261SAndroid Build Coastguard Worker# Release 1.7.0 8318*b6fb3261SAndroid Build Coastguard Worker 8319*b6fb3261SAndroid Build Coastguard Worker## Major Features And Improvements 8320*b6fb3261SAndroid Build Coastguard Worker 8321*b6fb3261SAndroid Build Coastguard Worker* Eager mode is moving out of contrib, try `tf.enable_eager_execution()`. 8322*b6fb3261SAndroid Build Coastguard Worker* Graph rewrites emulating fixed-point quantization compatible with TensorFlow 8323*b6fb3261SAndroid Build Coastguard Worker Lite, supported by new `tf.contrib.quantize` package. 8324*b6fb3261SAndroid Build Coastguard Worker* Easily customize gradient computation with `tf.custom_gradient`. 8325*b6fb3261SAndroid Build Coastguard Worker* [TensorBoard Debugger Plugin](https://github.com/tensorflow/tensorboard/blob/master/tensorboard/plugins/debugger/README.md), 8326*b6fb3261SAndroid Build Coastguard Worker the graphical user interface (GUI) of TensorFlow Debugger (tfdbg), is now in 8327*b6fb3261SAndroid Build Coastguard Worker alpha. 8328*b6fb3261SAndroid Build Coastguard Worker* Experimental support for reading a sqlite database as a `Dataset` with new 8329*b6fb3261SAndroid Build Coastguard Worker `tf.contrib.data.SqlDataset`. 8330*b6fb3261SAndroid Build Coastguard Worker* Distributed Mutex / CriticalSection added to 8331*b6fb3261SAndroid Build Coastguard Worker `tf.contrib.framework.CriticalSection`. 8332*b6fb3261SAndroid Build Coastguard Worker* Better text processing with `tf.regex_replace`. 8333*b6fb3261SAndroid Build Coastguard Worker* Easy, efficient sequence input with 8334*b6fb3261SAndroid Build Coastguard Worker `tf.contrib.data.bucket_by_sequence_length` 8335*b6fb3261SAndroid Build Coastguard Worker* Initial support for `tf.contrib.tensorrt` that enables native TensorRT in 8336*b6fb3261SAndroid Build Coastguard Worker TensorFlow. 8337*b6fb3261SAndroid Build Coastguard Worker 8338*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 8339*b6fb3261SAndroid Build Coastguard Worker 8340*b6fb3261SAndroid Build Coastguard Worker* Accelerated Linear Algebra (XLA): 8341*b6fb3261SAndroid Build Coastguard Worker * Add `MaxPoolGradGrad` support for XLA 8342*b6fb3261SAndroid Build Coastguard Worker * CSE pass from Tensorflow is now disabled in XLA. 8343*b6fb3261SAndroid Build Coastguard Worker* `tf.data`: 8344*b6fb3261SAndroid Build Coastguard Worker * `tf.data.Dataset` 8345*b6fb3261SAndroid Build Coastguard Worker * Add support for building C++ Dataset op kernels as external libraries, 8346*b6fb3261SAndroid Build Coastguard Worker using the `tf.load_op_library()` mechanism. 8347*b6fb3261SAndroid Build Coastguard Worker * `Dataset.list_files()` now shuffles its output by default. 8348*b6fb3261SAndroid Build Coastguard Worker * `Dataset.shuffle(..., seed=tf.constant(0, dtype=tf.int64))` now yields 8349*b6fb3261SAndroid Build Coastguard Worker the same sequence of elements as `Dataset.shuffle(..., seed=0)`. 8350*b6fb3261SAndroid Build Coastguard Worker * Add `num_parallel_reads` argument to `tf.data.TFRecordDataset`. 8351*b6fb3261SAndroid Build Coastguard Worker* `tf.contrib`: 8352*b6fb3261SAndroid Build Coastguard Worker * `tf.contrib.bayesflow.halton_sequence` now supports randomization. 8353*b6fb3261SAndroid Build Coastguard Worker * Add support for scalars in `tf.contrib.all_reduce`. 8354*b6fb3261SAndroid Build Coastguard Worker * Add `effective_sample_size` to `tf.contrib.bayesflow.mcmc_diagnostics`. 8355*b6fb3261SAndroid Build Coastguard Worker * Add `potential_scale_reduction` to 8356*b6fb3261SAndroid Build Coastguard Worker `tf.contrib.bayesflow.mcmc_diagnostics`. 8357*b6fb3261SAndroid Build Coastguard Worker * Add `BatchNormalization`, `Kumaraswamy` bijectors. 8358*b6fb3261SAndroid Build Coastguard Worker * Deprecate `tf.contrib.learn`. Please check contrib/learn/README.md for 8359*b6fb3261SAndroid Build Coastguard Worker instructions on how to convert existing code. 8360*b6fb3261SAndroid Build Coastguard Worker * `tf.contrib.data` 8361*b6fb3261SAndroid Build Coastguard Worker * Remove deprecated `tf.contrib.data.Dataset`, `tf.contrib.data.Iterator`, 8362*b6fb3261SAndroid Build Coastguard Worker `tf.contrib.data.FixedLengthRecordDataset`, 8363*b6fb3261SAndroid Build Coastguard Worker `tf.contrib.data.TextLineDataset`, and `tf.contrib.data.TFRecordDataset` 8364*b6fb3261SAndroid Build Coastguard Worker classes. 8365*b6fb3261SAndroid Build Coastguard Worker * Added `bucket_by_sequence_length`, `sliding_window_batch`, and 8366*b6fb3261SAndroid Build Coastguard Worker `make_batched_features_dataset` 8367*b6fb3261SAndroid Build Coastguard Worker * Remove unmaintained `tf.contrib.ndlstm`. You can find it externally at 8368*b6fb3261SAndroid Build Coastguard Worker https://github.com/tmbarchive/tfndlstm. 8369*b6fb3261SAndroid Build Coastguard Worker * Moved most of `tf.contrib.bayesflow` to its own repo: `tfp` 8370*b6fb3261SAndroid Build Coastguard Worker* Other: 8371*b6fb3261SAndroid Build Coastguard Worker * tf.py_func now reports the full stack trace if an exception occurs. 8372*b6fb3261SAndroid Build Coastguard Worker * Integrate `TPUClusterResolver` with GKE's integration for Cloud TPUs. 8373*b6fb3261SAndroid Build Coastguard Worker * Add a library for statistical testing of samplers. 8374*b6fb3261SAndroid Build Coastguard Worker * Add Helpers to stream data from the GCE VM to a Cloud TPU. 8375*b6fb3261SAndroid Build Coastguard Worker * Integrate ClusterResolvers with TPUEstimator. 8376*b6fb3261SAndroid Build Coastguard Worker * Unify metropolis_hastings interface with HMC kernel. 8377*b6fb3261SAndroid Build Coastguard Worker * Move LIBXSMM convolutions to a separate --define flag so that they are 8378*b6fb3261SAndroid Build Coastguard Worker disabled by default. 8379*b6fb3261SAndroid Build Coastguard Worker * Fix `MomentumOptimizer` lambda. 8380*b6fb3261SAndroid Build Coastguard Worker * Reduce `tfp.layers` boilerplate via programmable docstrings. 8381*b6fb3261SAndroid Build Coastguard Worker * Add `auc_with_confidence_intervals`, a method for computing the AUC and 8382*b6fb3261SAndroid Build Coastguard Worker confidence interval with linearithmic time complexity. 8383*b6fb3261SAndroid Build Coastguard Worker * `regression_head` now accepts customized link function, to satisfy the 8384*b6fb3261SAndroid Build Coastguard Worker usage that user can define their own link function if the 8385*b6fb3261SAndroid Build Coastguard Worker `array_ops.identity` does not meet the requirement. 8386*b6fb3261SAndroid Build Coastguard Worker * Fix `initialized_value` and `initial_value` behaviors for 8387*b6fb3261SAndroid Build Coastguard Worker `ResourceVariables` created from `VariableDef` protos. 8388*b6fb3261SAndroid Build Coastguard Worker * Add TensorSpec to represent the specification of Tensors. 8389*b6fb3261SAndroid Build Coastguard Worker * Constant folding pass is now deterministic. 8390*b6fb3261SAndroid Build Coastguard Worker * Support `float16` `dtype` in `tf.linalg.*`. 8391*b6fb3261SAndroid Build Coastguard Worker * Add `tf.estimator.export.TensorServingInputReceiver` that allows 8392*b6fb3261SAndroid Build Coastguard Worker `tf.estimator.Estimator.export_savedmodel` to pass raw tensors to model 8393*b6fb3261SAndroid Build Coastguard Worker functions. 8394*b6fb3261SAndroid Build Coastguard Worker 8395*b6fb3261SAndroid Build Coastguard Worker## Deprecations 8396*b6fb3261SAndroid Build Coastguard Worker 8397*b6fb3261SAndroid Build Coastguard Worker* TensorFlow 1.7 may be the last time we support Cuda versions below 8.0. 8398*b6fb3261SAndroid Build Coastguard Worker Starting with TensorFlow 1.8 release, 8.0 will be the minimum supported 8399*b6fb3261SAndroid Build Coastguard Worker version. 8400*b6fb3261SAndroid Build Coastguard Worker* TensorFlow 1.7 may be the last time we support cuDNN versions below 6.0. 8401*b6fb3261SAndroid Build Coastguard Worker Starting with TensorFlow 1.8 release, 6.0 will be the minimum supported 8402*b6fb3261SAndroid Build Coastguard Worker version. 8403*b6fb3261SAndroid Build Coastguard Worker 8404*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors 8405*b6fb3261SAndroid Build Coastguard Worker 8406*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as: 8407*b6fb3261SAndroid Build Coastguard Worker 8408*b6fb3261SAndroid Build Coastguard Worker4d55397500, Abe, Alistair Low, Andy Kernahan, Appledore, Ben, Ben Barsdell, 8409*b6fb3261SAndroid Build Coastguard WorkerBoris Pfahringer, Brad Wannow, Brett Koonce, Carl Thomé, cclauss, Chengzhi Chen, 8410*b6fb3261SAndroid Build Coastguard WorkerChris Drake, Christopher Yeh, Clayne Robison, Codrut Grosu, Daniel Trebbien, 8411*b6fb3261SAndroid Build Coastguard WorkerDanny Goodman, David Goodwin, David Norman, Deron Eriksson, Donggeon Lim, Donny 8412*b6fb3261SAndroid Build Coastguard WorkerViszneki, DosLin, DylanDmitri, Francisco Guerrero, Fred Reiss, gdh1995, 8413*b6fb3261SAndroid Build Coastguard WorkerGiuseppe, Glenn Weidner, gracehoney, Guozhong Zhuang, Haichen "Hc" Li, Harald 8414*b6fb3261SAndroid Build Coastguard WorkerHusum, harumitsu.nobuta, Henry Spivey, hsm207, Jekyll Song, Jerome, Jiongyan 8415*b6fb3261SAndroid Build Coastguard WorkerZhang, jjsjann123, John Sungjin Park, Johnson145, JoshVarty, Julian Wolff, Jun 8416*b6fb3261SAndroid Build Coastguard WorkerWang, June-One, Kamil Sindi, Kb Sriram, Kdavis-Mozilla, Kenji, lazypanda1, 8417*b6fb3261SAndroid Build Coastguard WorkerLiang-Chi Hsieh, Loo Rong Jie, Mahesh Bhosale, MandarJKulkarni, ManHyuk, Marcus 8418*b6fb3261SAndroid Build Coastguard WorkerOng, Marshal Hayes, Martin Pool, matthieudelaro, mdfaijul, mholzel, Michael 8419*b6fb3261SAndroid Build Coastguard WorkerZhou, Ming Li, Minmin Sun, Myungjoo Ham, MyungsungKwak, Naman Kamra, Peng Yu, 8420*b6fb3261SAndroid Build Coastguard WorkerPenghao Cen, Phil, Raghuraman-K, resec, Rohin Mohanadas, Sandeep N Gupta, Scott 8421*b6fb3261SAndroid Build Coastguard WorkerTseng, seaotterman, Seo Sanghyeon, Sergei Lebedev, Ted Chang, terrytangyuan, Tim 8422*b6fb3261SAndroid Build Coastguard WorkerH, tkunic, Tod, vihanjain, Yan Facai (颜发才), Yin Li, Yong Tang, Yukun Chen, 8423*b6fb3261SAndroid Build Coastguard WorkerYusuke Yamada 8424*b6fb3261SAndroid Build Coastguard Worker 8425*b6fb3261SAndroid Build Coastguard Worker# Release 1.6.0 8426*b6fb3261SAndroid Build Coastguard Worker 8427*b6fb3261SAndroid Build Coastguard Worker## Breaking Changes 8428*b6fb3261SAndroid Build Coastguard Worker 8429*b6fb3261SAndroid Build Coastguard Worker* Prebuilt binaries are now built against CUDA 9.0 and cuDNN 7. 8430*b6fb3261SAndroid Build Coastguard Worker* Prebuilt binaries will use AVX instructions. This may break TF on older 8431*b6fb3261SAndroid Build Coastguard Worker CPUs. 8432*b6fb3261SAndroid Build Coastguard Worker 8433*b6fb3261SAndroid Build Coastguard Worker## Major Features And Improvements 8434*b6fb3261SAndroid Build Coastguard Worker 8435*b6fb3261SAndroid Build Coastguard Worker* New Optimizer internal API for non-slot variables. Descendants of 8436*b6fb3261SAndroid Build Coastguard Worker AdamOptimizer that access _beta[12]_power will need to be updated. 8437*b6fb3261SAndroid Build Coastguard Worker* `tf.estimator.{FinalExporter,LatestExporter}` now export stripped 8438*b6fb3261SAndroid Build Coastguard Worker SavedModels. This improves forward compatibility of the SavedModel. 8439*b6fb3261SAndroid Build Coastguard Worker* FFT support added to XLA CPU/GPU. 8440*b6fb3261SAndroid Build Coastguard Worker 8441*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 8442*b6fb3261SAndroid Build Coastguard Worker 8443*b6fb3261SAndroid Build Coastguard Worker* Documentation updates: 8444*b6fb3261SAndroid Build Coastguard Worker * Added a second version of Getting Started, which is aimed at ML 8445*b6fb3261SAndroid Build Coastguard Worker newcomers. 8446*b6fb3261SAndroid Build Coastguard Worker * Clarified documentation on `resize_images.align_corners` parameter. 8447*b6fb3261SAndroid Build Coastguard Worker * Additional documentation for TPUs. 8448*b6fb3261SAndroid Build Coastguard Worker* Google Cloud Storage (GCS): 8449*b6fb3261SAndroid Build Coastguard Worker * Add client-side throttle. 8450*b6fb3261SAndroid Build Coastguard Worker * Add a `FlushCaches()` method to the FileSystem interface, with an 8451*b6fb3261SAndroid Build Coastguard Worker implementation for GcsFileSystem. 8452*b6fb3261SAndroid Build Coastguard Worker* Other: 8453*b6fb3261SAndroid Build Coastguard Worker * Add `tf.contrib.distributions.Kumaraswamy`. 8454*b6fb3261SAndroid Build Coastguard Worker * `RetryingFileSystem::FlushCaches()` calls the base FileSystem's 8455*b6fb3261SAndroid Build Coastguard Worker `FlushCaches()`. 8456*b6fb3261SAndroid Build Coastguard Worker * Add `auto_correlation` to distributions. 8457*b6fb3261SAndroid Build Coastguard Worker * Add `tf.contrib.distributions.Autoregressive`. 8458*b6fb3261SAndroid Build Coastguard Worker * Add SeparableConv1D layer. 8459*b6fb3261SAndroid Build Coastguard Worker * Add convolutional Flipout layers. 8460*b6fb3261SAndroid Build Coastguard Worker * When both inputs of `tf.matmul` are bfloat16, it returns bfloat16, 8461*b6fb3261SAndroid Build Coastguard Worker instead of float32. 8462*b6fb3261SAndroid Build Coastguard Worker * Added `tf.contrib.image.connected_components`. 8463*b6fb3261SAndroid Build Coastguard Worker * Add `tf.contrib.framework.CriticalSection` that allows atomic variable 8464*b6fb3261SAndroid Build Coastguard Worker access. 8465*b6fb3261SAndroid Build Coastguard Worker * Output variance over trees predictions for classifications tasks. 8466*b6fb3261SAndroid Build Coastguard Worker * For `pt` and `eval` commands, allow writing tensor values to filesystem 8467*b6fb3261SAndroid Build Coastguard Worker as numpy files. 8468*b6fb3261SAndroid Build Coastguard Worker * gRPC: Propagate truncated errors (instead of returning gRPC internal 8469*b6fb3261SAndroid Build Coastguard Worker error). 8470*b6fb3261SAndroid Build Coastguard Worker * Augment `parallel_interleave` to support 2 kinds of prefetching. 8471*b6fb3261SAndroid Build Coastguard Worker * Improved XLA support for C64-related ops log, pow, atan2, tanh. 8472*b6fb3261SAndroid Build Coastguard Worker * Add probabilistic convolutional layers. 8473*b6fb3261SAndroid Build Coastguard Worker 8474*b6fb3261SAndroid Build Coastguard Worker## API Changes 8475*b6fb3261SAndroid Build Coastguard Worker 8476*b6fb3261SAndroid Build Coastguard Worker* Introducing `prepare_variance` boolean with default setting to False for 8477*b6fb3261SAndroid Build Coastguard Worker backward compatibility. 8478*b6fb3261SAndroid Build Coastguard Worker* Move `layers_dense_variational_impl.py` to `layers_dense_variational.py`. 8479*b6fb3261SAndroid Build Coastguard Worker 8480*b6fb3261SAndroid Build Coastguard Worker## Known Bugs 8481*b6fb3261SAndroid Build Coastguard Worker 8482*b6fb3261SAndroid Build Coastguard Worker* Using XLA:GPU with CUDA 9 and CUDA 9.1 results in garbage results and/or 8483*b6fb3261SAndroid Build Coastguard Worker `CUDA_ILLEGAL_ADDRESS` failures. 8484*b6fb3261SAndroid Build Coastguard Worker 8485*b6fb3261SAndroid Build Coastguard Worker Google discovered in mid-December 2017 that the PTX-to-SASS compiler in CUDA 8486*b6fb3261SAndroid Build Coastguard Worker 9 and CUDA 9.1 sometimes does not properly compute the carry bit when 8487*b6fb3261SAndroid Build Coastguard Worker decomposing 64-bit address calculations with large offsets (e.g. `load [x + 8488*b6fb3261SAndroid Build Coastguard Worker large_constant]`) into 32-bit arithmetic in SASS. 8489*b6fb3261SAndroid Build Coastguard Worker 8490*b6fb3261SAndroid Build Coastguard Worker As a result, these versions of `ptxas` miscompile most XLA programs which 8491*b6fb3261SAndroid Build Coastguard Worker use more than 4GB of temp memory. This results in garbage results and/or 8492*b6fb3261SAndroid Build Coastguard Worker `CUDA_ERROR_ILLEGAL_ADDRESS` failures. 8493*b6fb3261SAndroid Build Coastguard Worker 8494*b6fb3261SAndroid Build Coastguard Worker A fix in CUDA 9.1.121 is expected in late February 2018. We do not expect a 8495*b6fb3261SAndroid Build Coastguard Worker fix for CUDA 9.0.x. Until the fix is available, the only workaround is to 8496*b6fb3261SAndroid Build Coastguard Worker [downgrade](https://developer.nvidia.com/cuda-toolkit-archive) to CUDA 8.0.x 8497*b6fb3261SAndroid Build Coastguard Worker or disable XLA:GPU. 8498*b6fb3261SAndroid Build Coastguard Worker 8499*b6fb3261SAndroid Build Coastguard Worker TensorFlow will print a warning if you use XLA:GPU with a known-bad version 8500*b6fb3261SAndroid Build Coastguard Worker of CUDA; see e00ba24c4038e7644da417ddc639169b6ea59122. 8501*b6fb3261SAndroid Build Coastguard Worker 8502*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors 8503*b6fb3261SAndroid Build Coastguard Worker 8504*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as: 8505*b6fb3261SAndroid Build Coastguard Worker 8506*b6fb3261SAndroid Build Coastguard Worker4d55397500, Ag Ramesh, Aiden Scandella, Akimasa Kimura, Alex Rothberg, Allen 8507*b6fb3261SAndroid Build Coastguard WorkerGoodman, amilioto, Andrei Costinescu, Andrei Nigmatulin, Anjum Sayed, Anthony 8508*b6fb3261SAndroid Build Coastguard WorkerPlatanios, Anush Elangovan, Armando Fandango, Ashish Kumar Ram, Ashwini Shukla, 8509*b6fb3261SAndroid Build Coastguard WorkerBen, Bhavani Subramanian, Brett Koonce, Carl Thomé, cclauss, Cesc, Changming 8510*b6fb3261SAndroid Build Coastguard WorkerSun, Christoph Boeddeker, Clayne Robison, Clemens Schulz, Clint (Woonhyuk Baek), 8511*b6fb3261SAndroid Build Coastguard Workercodrut3, Cole Gerdemann, Colin Raffel, Daniel Trebbien, Daniel Ylitalo, Daniel 8512*b6fb3261SAndroid Build Coastguard WorkerZhang, Daniyar, Darjan Salaj, Dave Maclachlan, David Norman, Dong--Jian, 8513*b6fb3261SAndroid Build Coastguard Workerdongsamb, dssgsra, Edward H, eladweiss, elilienstein, Eric Lilienstein, error.d, 8514*b6fb3261SAndroid Build Coastguard WorkerEunji Jeong, fanlu, Florian Courtial, fo40225, Fred, Gregg Helt, Guozhong 8515*b6fb3261SAndroid Build Coastguard WorkerZhuang, Hanchen Li, hsm207, hyunyoung2, ImSheridan, Ishant Mrinal Haloi, Jacky 8516*b6fb3261SAndroid Build Coastguard WorkerKo, Jay Young, Jean Flaherty, Jerome, JerrikEph, Jesse Kinkead, jfaath, Jian 8517*b6fb3261SAndroid Build Coastguard WorkerLin, jinghuangintel, Jiongyan Zhang, Joel Hestness, Joel Shor, Johnny Chan, 8518*b6fb3261SAndroid Build Coastguard WorkerJulian Niedermeier, Julian Wolff, JxKing, K-W-W, Karl Lessard, Kasper Marstal, 8519*b6fb3261SAndroid Build Coastguard WorkerKeiji Ariyama, Koan-Sin Tan, Loki Der Quaeler, Loo Rong Jie, Luke Schaefer, Lynn 8520*b6fb3261SAndroid Build Coastguard WorkerJackson, ManHyuk, Matt Basta, Matt Smith, Matthew Schulkind, Michael, 8521*b6fb3261SAndroid Build Coastguard Workermichaelkhan3, Miguel Piedrafita, Mikalai Drabovich, Mike Knapp, mjwen, mktozk, 8522*b6fb3261SAndroid Build Coastguard WorkerMohamed Aly, Mohammad Ashraf Bhuiyan, Myungjoo Ham, Naman Bhalla, Namrata-Ibm, 8523*b6fb3261SAndroid Build Coastguard WorkerNathan Luehr, nathansilberman, Netzeband, Niranjan Hasabnis, Omar Aflak, Ozge 8524*b6fb3261SAndroid Build Coastguard WorkerYalcinkaya, Parth P Panchal, patrickzzy, Patryk Chrabaszcz, Paul Van Eck, Paweł 8525*b6fb3261SAndroid Build Coastguard WorkerKapica, Peng Yu, Philip Yang, Pierre Blondeau, Po-Hsien Chu, powderluv, Puyu 8526*b6fb3261SAndroid Build Coastguard WorkerWang, Rajendra Arora, Rasmus, Renat Idrisov, resec, Robin Richtsfeld, Ronald 8527*b6fb3261SAndroid Build Coastguard WorkerEddy Jr, Sahil Singh, Sam Matzek, Sami Kama, sandipmgiri, Santiago Castro, Sayed 8528*b6fb3261SAndroid Build Coastguard WorkerHadi Hashemi, Scott Tseng, Sergii Khomenko, Shahid, Shengpeng Liu, Shreyash 8529*b6fb3261SAndroid Build Coastguard WorkerSharma, Shrinidhi Kl, Simone Cirillo, simsicon, Stanislav Levental, 8530*b6fb3261SAndroid Build Coastguard Workerstarsblinking, Stephen Lumenta, Steven Hickson, Su Tang, Taehoon Lee, Takuya 8531*b6fb3261SAndroid Build Coastguard WorkerWakisaka, Ted Chang, Ted Ying, Tijmen Verhulsdonck, Timofey Kondrashov, vade, 8532*b6fb3261SAndroid Build Coastguard Workervaibhav, Valentin Khrulkov, vchigrin, Victor Costan, Viraj Navkal, Vivek Rane, 8533*b6fb3261SAndroid Build Coastguard Workerwagonhelm, Yan Facai (颜发才), Yanbo Liang, Yaroslav Bulatov, yegord, Yong Tang, 8534*b6fb3261SAndroid Build Coastguard WorkerYoni Tsafir, yordun, Yuan (Terry) Tang, Yuxin Wu, zhengdi, Zhengsheng Wei, 田传武 8535*b6fb3261SAndroid Build Coastguard Worker 8536*b6fb3261SAndroid Build Coastguard Worker# Release 1.5.0 8537*b6fb3261SAndroid Build Coastguard Worker 8538*b6fb3261SAndroid Build Coastguard Worker## Breaking Changes 8539*b6fb3261SAndroid Build Coastguard Worker 8540*b6fb3261SAndroid Build Coastguard Worker* Prebuilt binaries are now built against CUDA 9.0 and cuDNN 7. 8541*b6fb3261SAndroid Build Coastguard Worker* Starting from 1.6 release, our prebuilt binaries will use AVX instructions. 8542*b6fb3261SAndroid Build Coastguard Worker This may break TF on older CPUs. 8543*b6fb3261SAndroid Build Coastguard Worker 8544*b6fb3261SAndroid Build Coastguard Worker## Major Features And Improvements 8545*b6fb3261SAndroid Build Coastguard Worker 8546*b6fb3261SAndroid Build Coastguard Worker* [Eager execution](https://github.com/tensorflow/tensorflow/tree/r1.5/tensorflow/contrib/eager) 8547*b6fb3261SAndroid Build Coastguard Worker preview version is now available. 8548*b6fb3261SAndroid Build Coastguard Worker* [TensorFlow Lite](https://github.com/tensorflow/tensorflow/tree/r1.5/tensorflow/lite) 8549*b6fb3261SAndroid Build Coastguard Worker dev preview is now available. 8550*b6fb3261SAndroid Build Coastguard Worker* CUDA 9.0 and cuDNN 7 support. 8551*b6fb3261SAndroid Build Coastguard Worker* Accelerated Linear Algebra (XLA): 8552*b6fb3261SAndroid Build Coastguard Worker * Add `complex64` support to XLA compiler. 8553*b6fb3261SAndroid Build Coastguard Worker * `bfloat` support is now added to XLA infrastructure. 8554*b6fb3261SAndroid Build Coastguard Worker * Make `ClusterSpec` propagation work with XLA devices. 8555*b6fb3261SAndroid Build Coastguard Worker * Use a deterministic executor to generate XLA graph. 8556*b6fb3261SAndroid Build Coastguard Worker* `tf.contrib`: 8557*b6fb3261SAndroid Build Coastguard Worker * `tf.contrib.distributions`: 8558*b6fb3261SAndroid Build Coastguard Worker * Add `tf.contrib.distributions.Autoregressive`. 8559*b6fb3261SAndroid Build Coastguard Worker * Make `tf.contrib.distributions` QuadratureCompound classes support batch 8560*b6fb3261SAndroid Build Coastguard Worker * Infer `tf.contrib.distributions.RelaxedOneHotCategorical` `dtype` from 8561*b6fb3261SAndroid Build Coastguard Worker arguments. 8562*b6fb3261SAndroid Build Coastguard Worker * Make `tf.contrib.distributions` quadrature family parameterized by 8563*b6fb3261SAndroid Build Coastguard Worker `quadrature_grid_and_prob` vs `quadrature_degree`. 8564*b6fb3261SAndroid Build Coastguard Worker * `auto_correlation` added to `tf.contrib.distributions` 8565*b6fb3261SAndroid Build Coastguard Worker * Add `tf.contrib.bayesflow.layers`, a collection of probabilistic 8566*b6fb3261SAndroid Build Coastguard Worker (neural) layers. 8567*b6fb3261SAndroid Build Coastguard Worker * Add `tf.contrib.bayesflow.halton_sequence`. 8568*b6fb3261SAndroid Build Coastguard Worker * Add `tf.contrib.data.make_saveable_from_iterator.` 8569*b6fb3261SAndroid Build Coastguard Worker * Add `tf.contrib.data.shuffle_and_repeat`. 8570*b6fb3261SAndroid Build Coastguard Worker * Add new custom transformation: `tf.contrib.data.scan()`. 8571*b6fb3261SAndroid Build Coastguard Worker * `tf.contrib.distributions.bijectors`: 8572*b6fb3261SAndroid Build Coastguard Worker * Add `tf.contrib.distributions.bijectors.MaskedAutoregressiveFlow`. 8573*b6fb3261SAndroid Build Coastguard Worker * Add `tf.contrib.distributions.bijectors.Permute`. 8574*b6fb3261SAndroid Build Coastguard Worker * Add `tf.contrib.distributions.bijectors.Gumbel`. 8575*b6fb3261SAndroid Build Coastguard Worker * Add `tf.contrib.distributions.bijectors.Reshape`. 8576*b6fb3261SAndroid Build Coastguard Worker * Support shape inference (i.e., shapes containing -1) in the Reshape 8577*b6fb3261SAndroid Build Coastguard Worker bijector. 8578*b6fb3261SAndroid Build Coastguard Worker* Add `streaming_precision_recall_at_equal_thresholds,` a method for computing 8579*b6fb3261SAndroid Build Coastguard Worker streaming precision and recall with `O(num_thresholds + size of 8580*b6fb3261SAndroid Build Coastguard Worker predictions)` time and space complexity. 8581*b6fb3261SAndroid Build Coastguard Worker* Change `RunConfig` default behavior to not set a random seed, making random 8582*b6fb3261SAndroid Build Coastguard Worker behavior independently random on distributed workers. We expect this to 8583*b6fb3261SAndroid Build Coastguard Worker generally improve training performance. Models that do rely on determinism 8584*b6fb3261SAndroid Build Coastguard Worker should set a random seed explicitly. 8585*b6fb3261SAndroid Build Coastguard Worker* Replaced the implementation of `tf.flags` with `absl.flags`. 8586*b6fb3261SAndroid Build Coastguard Worker* Add support for `CUBLAS_TENSOR_OP_MATH` in fp16 GEMM 8587*b6fb3261SAndroid Build Coastguard Worker* Add support for CUDA on NVIDIA Tegra devices 8588*b6fb3261SAndroid Build Coastguard Worker 8589*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 8590*b6fb3261SAndroid Build Coastguard Worker 8591*b6fb3261SAndroid Build Coastguard Worker* Documentation updates: 8592*b6fb3261SAndroid Build Coastguard Worker * Clarified that you can only install TensorFlow on 64-bit machines. 8593*b6fb3261SAndroid Build Coastguard Worker * Added a short doc explaining how `Estimator`s save checkpoints. 8594*b6fb3261SAndroid Build Coastguard Worker * Add documentation for ops supported by the `tf2xla` bridge. 8595*b6fb3261SAndroid Build Coastguard Worker * Fix minor typos in the doc of `SpaceToDepth` and `DepthToSpace`. 8596*b6fb3261SAndroid Build Coastguard Worker * Updated documentation comments in `mfcc_mel_filterbank.h` and `mfcc.h` 8597*b6fb3261SAndroid Build Coastguard Worker to clarify that the input domain is squared magnitude spectra and the 8598*b6fb3261SAndroid Build Coastguard Worker weighting is done on linear magnitude spectra (sqrt of inputs). 8599*b6fb3261SAndroid Build Coastguard Worker * Change `tf.contrib.distributions` docstring examples to use `tfd` alias 8600*b6fb3261SAndroid Build Coastguard Worker rather than `ds`, `bs`. 8601*b6fb3261SAndroid Build Coastguard Worker * Fix docstring typos in `tf.distributions.bijectors.Bijector`. 8602*b6fb3261SAndroid Build Coastguard Worker * `tf.assert_equal` no longer raises `ValueError.` It now raises 8603*b6fb3261SAndroid Build Coastguard Worker `InvalidArgumentError,` as documented. 8604*b6fb3261SAndroid Build Coastguard Worker * Update Getting Started docs and API intro. 8605*b6fb3261SAndroid Build Coastguard Worker* Google Cloud Storage (GCS): 8606*b6fb3261SAndroid Build Coastguard Worker * Add userspace DNS caching for the GCS client. 8607*b6fb3261SAndroid Build Coastguard Worker * Customize request timeouts for the GCS filesystem. 8608*b6fb3261SAndroid Build Coastguard Worker * Improve GCS filesystem caching. 8609*b6fb3261SAndroid Build Coastguard Worker* Bug Fixes: 8610*b6fb3261SAndroid Build Coastguard Worker * Fix bug where partitioned integer variables got their wrong shapes. 8611*b6fb3261SAndroid Build Coastguard Worker Before 8612*b6fb3261SAndroid Build Coastguard Worker * Fix correctness bug in CPU and GPU implementations of Adadelta. 8613*b6fb3261SAndroid Build Coastguard Worker * Fix a bug in `import_meta_graph`'s handling of partitioned variables 8614*b6fb3261SAndroid Build Coastguard Worker when importing into a scope. WARNING: This may break loading checkpoints 8615*b6fb3261SAndroid Build Coastguard Worker of graphs with partitioned variables saved after using 8616*b6fb3261SAndroid Build Coastguard Worker `import_meta_graph` with a non-empty `import_scope` argument. 8617*b6fb3261SAndroid Build Coastguard Worker * Fix bug in offline debugger which prevented viewing events. 8618*b6fb3261SAndroid Build Coastguard Worker * Added the `WorkerService.DeleteWorkerSession` method to the gRPC 8619*b6fb3261SAndroid Build Coastguard Worker interface, to fix a memory leak. Ensure that your master and worker 8620*b6fb3261SAndroid Build Coastguard Worker servers are running the same version of TensorFlow to avoid 8621*b6fb3261SAndroid Build Coastguard Worker compatibility issues. 8622*b6fb3261SAndroid Build Coastguard Worker * Fix bug in peephole implementation of BlockLSTM cell. 8623*b6fb3261SAndroid Build Coastguard Worker * Fix bug by casting dtype of `log_det_jacobian` to match `log_prob` in 8624*b6fb3261SAndroid Build Coastguard Worker `TransformedDistribution`. 8625*b6fb3261SAndroid Build Coastguard Worker * Fix a bug in `import_meta_graph`'s handling of partitioned variables 8626*b6fb3261SAndroid Build Coastguard Worker when 8627*b6fb3261SAndroid Build Coastguard Worker * Ensure `tf.distributions.Multinomial` doesn't underflow in `log_prob`. 8628*b6fb3261SAndroid Build Coastguard Worker Before this change, all partitions of an integer variable were 8629*b6fb3261SAndroid Build Coastguard Worker initialized with the shape of the unpartitioned variable; after this 8630*b6fb3261SAndroid Build Coastguard Worker change they are initialized correctly. 8631*b6fb3261SAndroid Build Coastguard Worker* Other: 8632*b6fb3261SAndroid Build Coastguard Worker * Add necessary shape util support for bfloat16. 8633*b6fb3261SAndroid Build Coastguard Worker * Add a way to run ops using a step function to MonitoredSession. 8634*b6fb3261SAndroid Build Coastguard Worker * Add `DenseFlipout` probabilistic layer. 8635*b6fb3261SAndroid Build Coastguard Worker * A new flag `ignore_live_threads` is available on train. If set to 8636*b6fb3261SAndroid Build Coastguard Worker `True`, it will ignore threads that remain running when tearing down 8637*b6fb3261SAndroid Build Coastguard Worker infrastructure after successfully completing training, instead of 8638*b6fb3261SAndroid Build Coastguard Worker throwing a RuntimeError. 8639*b6fb3261SAndroid Build Coastguard Worker * Restandardize `DenseVariational` as simpler template for other 8640*b6fb3261SAndroid Build Coastguard Worker probabilistic layers. 8641*b6fb3261SAndroid Build Coastguard Worker * `tf.data` now supports `tf.SparseTensor` components in dataset elements. 8642*b6fb3261SAndroid Build Coastguard Worker * It is now possible to iterate over `Tensor`s. 8643*b6fb3261SAndroid Build Coastguard Worker * Allow `SparseSegmentReduction` ops to have missing segment IDs. 8644*b6fb3261SAndroid Build Coastguard Worker * Modify custom export strategy to account for multidimensional sparse 8645*b6fb3261SAndroid Build Coastguard Worker float splits. 8646*b6fb3261SAndroid Build Coastguard Worker * `Conv2D`, `Conv2DBackpropInput`, `Conv2DBackpropFilter` now supports 8647*b6fb3261SAndroid Build Coastguard Worker arbitrary dilations with GPU and cuDNNv6 support. 8648*b6fb3261SAndroid Build Coastguard Worker * `Estimator` now supports `Dataset`: `input_fn` can return a `Dataset` 8649*b6fb3261SAndroid Build Coastguard Worker instead of `Tensor`s. 8650*b6fb3261SAndroid Build Coastguard Worker * Add `RevBlock`, a memory-efficient implementation of reversible residual 8651*b6fb3261SAndroid Build Coastguard Worker layers. 8652*b6fb3261SAndroid Build Coastguard Worker * Reduce BFCAllocator internal fragmentation. 8653*b6fb3261SAndroid Build Coastguard Worker * Add `cross_entropy` and `kl_divergence` to 8654*b6fb3261SAndroid Build Coastguard Worker `tf.distributions.Distribution`. 8655*b6fb3261SAndroid Build Coastguard Worker * Add `tf.nn.softmax_cross_entropy_with_logits_v2` which enables backprop 8656*b6fb3261SAndroid Build Coastguard Worker w.r.t. the labels. 8657*b6fb3261SAndroid Build Coastguard Worker * GPU back-end now uses `ptxas` to compile generated PTX. 8658*b6fb3261SAndroid Build Coastguard Worker * `BufferAssignment`'s protocol buffer dump is now deterministic. 8659*b6fb3261SAndroid Build Coastguard Worker * Change embedding op to use parallel version of `DynamicStitch`. 8660*b6fb3261SAndroid Build Coastguard Worker * Add support for sparse multidimensional feature columns. 8661*b6fb3261SAndroid Build Coastguard Worker * Speed up the case for sparse float columns that have only 1 value. 8662*b6fb3261SAndroid Build Coastguard Worker * Allow sparse float splits to support multivalent feature columns. 8663*b6fb3261SAndroid Build Coastguard Worker * Add `quantile` to `tf.distributions.TransformedDistribution`. 8664*b6fb3261SAndroid Build Coastguard Worker * Add `NCHW_VECT_C` support for `tf.depth_to_space` on GPU. 8665*b6fb3261SAndroid Build Coastguard Worker * Add `NCHW_VECT_C` support for `tf.space_to_depth` on GPU. 8666*b6fb3261SAndroid Build Coastguard Worker 8667*b6fb3261SAndroid Build Coastguard Worker## API Changes 8668*b6fb3261SAndroid Build Coastguard Worker 8669*b6fb3261SAndroid Build Coastguard Worker* Rename `SqueezeDims` attribute to `Axis` in C++ API for Squeeze op. 8670*b6fb3261SAndroid Build Coastguard Worker* `Stream::BlockHostUntilDone` now returns Status rather than bool. 8671*b6fb3261SAndroid Build Coastguard Worker* Minor refactor: move stats files from `stochastic` to `common` and remove 8672*b6fb3261SAndroid Build Coastguard Worker `stochastic`. 8673*b6fb3261SAndroid Build Coastguard Worker 8674*b6fb3261SAndroid Build Coastguard Worker## Known Bugs 8675*b6fb3261SAndroid Build Coastguard Worker 8676*b6fb3261SAndroid Build Coastguard Worker* Using XLA:GPU with CUDA 9 and CUDA 9.1 results in garbage results and/or 8677*b6fb3261SAndroid Build Coastguard Worker `CUDA_ILLEGAL_ADDRESS` failures. 8678*b6fb3261SAndroid Build Coastguard Worker 8679*b6fb3261SAndroid Build Coastguard Worker Google discovered in mid-December 2017 that the PTX-to-SASS compiler in CUDA 8680*b6fb3261SAndroid Build Coastguard Worker 9 and CUDA 9.1 sometimes does not properly compute the carry bit when 8681*b6fb3261SAndroid Build Coastguard Worker decomposing 64-bit address calculations with large offsets (e.g. `load [x + 8682*b6fb3261SAndroid Build Coastguard Worker large_constant]`) into 32-bit arithmetic in SASS. 8683*b6fb3261SAndroid Build Coastguard Worker 8684*b6fb3261SAndroid Build Coastguard Worker As a result, these versions of `ptxas` miscompile most XLA programs which 8685*b6fb3261SAndroid Build Coastguard Worker use more than 4GB of temp memory. This results in garbage results and/or 8686*b6fb3261SAndroid Build Coastguard Worker `CUDA_ERROR_ILLEGAL_ADDRESS` failures. 8687*b6fb3261SAndroid Build Coastguard Worker 8688*b6fb3261SAndroid Build Coastguard Worker A fix in CUDA 9.1.121 is expected in late February 2018. We do not expect a 8689*b6fb3261SAndroid Build Coastguard Worker fix for CUDA 9.0.x. Until the fix is available, the only workaround is to 8690*b6fb3261SAndroid Build Coastguard Worker [downgrade](https://developer.nvidia.com/cuda-toolkit-archive) to CUDA 8.0.x 8691*b6fb3261SAndroid Build Coastguard Worker or disable XLA:GPU. 8692*b6fb3261SAndroid Build Coastguard Worker 8693*b6fb3261SAndroid Build Coastguard Worker TensorFlow will print a warning if you use XLA:GPU with a known-bad version 8694*b6fb3261SAndroid Build Coastguard Worker of CUDA; see e00ba24c4038e7644da417ddc639169b6ea59122. 8695*b6fb3261SAndroid Build Coastguard Worker 8696*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors 8697*b6fb3261SAndroid Build Coastguard Worker 8698*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as: 8699*b6fb3261SAndroid Build Coastguard Worker 8700*b6fb3261SAndroid Build Coastguard WorkerAdam Zahran, Ag Ramesh, Alan Lee, Alan Yee, Alex Sergeev, Alexander, Amir H. 8701*b6fb3261SAndroid Build Coastguard WorkerJadidinejad, Amy, Anastasios Doumoulakis, Andrei Costinescu, Andrei Nigmatulin, 8702*b6fb3261SAndroid Build Coastguard WorkerAnthony Platanios, Anush Elangovan, arixlin, Armen Donigian, ArtëM Sobolev, 8703*b6fb3261SAndroid Build Coastguard WorkerAtlas7, Ben Barsdell, Bill Prin, Bo Wang, Brett Koonce, Cameron Thomas, Carl 8704*b6fb3261SAndroid Build Coastguard WorkerThomé, Cem Eteke, cglewis, Changming Sun, Charles Shenton, Chi-Hung, Chris 8705*b6fb3261SAndroid Build Coastguard WorkerDonahue, Chris Filo Gorgolewski, Chris Hoyean Song, Chris Tava, Christian Grail, 8706*b6fb3261SAndroid Build Coastguard WorkerChristoph Boeddeker, cinqS, Clayne Robison, codrut3, concerttttt, CQY, Dan 8707*b6fb3261SAndroid Build Coastguard WorkerBecker, Dan Jarvis, Daniel Zhang, David Norman, dmaclach, Dmitry Trifonov, 8708*b6fb3261SAndroid Build Coastguard WorkerDonggeon Lim, dongpilYu, Dr. Kashif Rasul, Edd Wilder-James, Eric Lv, fcharras, 8709*b6fb3261SAndroid Build Coastguard WorkerFelix Abecassis, FirefoxMetzger, formath, FredZhang, Gaojin Cao, Gary Deer, 8710*b6fb3261SAndroid Build Coastguard WorkerGuenther Schmuelling, Hanchen Li, Hanmin Qin, hannesa2, hyunyoung2, Ilya 8711*b6fb3261SAndroid Build Coastguard WorkerEdrenkin, Jackson Kontny, Jan, Javier Luraschi, Jay Young, Jayaram Bobba, Jeff, 8712*b6fb3261SAndroid Build Coastguard WorkerJeff Carpenter, Jeremy Sharpe, Jeroen BéDorf, Jimmy Jia, Jinze Bai, Jiongyan 8713*b6fb3261SAndroid Build Coastguard WorkerZhang, Joe Castagneri, Johan Ju, Josh Varty, Julian Niedermeier, JxKing, Karl 8714*b6fb3261SAndroid Build Coastguard WorkerLessard, Kb Sriram, Keven Wang, Koan-Sin Tan, Kyle Mills, lanhin, LevineHuang, 8715*b6fb3261SAndroid Build Coastguard WorkerLoki Der Quaeler, Loo Rong Jie, Luke Iwanski, LáSzló Csomor, Mahdi Abavisani, 8716*b6fb3261SAndroid Build Coastguard WorkerMahmoud Abuzaina, ManHyuk, Marek ŠUppa, MathSquared, Mats Linander, Matt Wytock, 8717*b6fb3261SAndroid Build Coastguard WorkerMatthew Daley, Maximilian Bachl, mdymczyk, melvyniandrag, Michael Case, Mike 8718*b6fb3261SAndroid Build Coastguard WorkerTraynor, miqlas, Namrata-Ibm, Nathan Luehr, Nathan Van Doorn, Noa Ezra, Nolan 8719*b6fb3261SAndroid Build Coastguard WorkerLiu, Oleg Zabluda, opensourcemattress, Ouwen Huang, Paul Van Eck, peisong, Peng 8720*b6fb3261SAndroid Build Coastguard WorkerYu, PinkySan, pks, powderluv, Qiao Hai-Jun, Qiao Longfei, Rajendra Arora, Ralph 8721*b6fb3261SAndroid Build Coastguard WorkerTang, resec, Robin Richtsfeld, Rohan Varma, Ryohei Kuroki, SaintNazaire, Samuel 8722*b6fb3261SAndroid Build Coastguard WorkerHe, Sandeep Dcunha, sandipmgiri, Sang Han, scott, Scott Mudge, Se-Won Kim, Simon 8723*b6fb3261SAndroid Build Coastguard WorkerPerkins, Simone Cirillo, Steffen Schmitz, Suvojit Manna, Sylvus, Taehoon Lee, 8724*b6fb3261SAndroid Build Coastguard WorkerTed Chang, Thomas Deegan, Till Hoffmann, Tim, Toni Kunic, Toon Verstraelen, 8725*b6fb3261SAndroid Build Coastguard WorkerTristan Rice, Urs KöSter, Utkarsh Upadhyay, Vish (Ishaya) Abrams, Winnie Tsang, 8726*b6fb3261SAndroid Build Coastguard WorkerYan Chen, Yan Facai (颜发才), Yi Yang, Yong Tang, Youssef Hesham, Yuan (Terry) 8727*b6fb3261SAndroid Build Coastguard WorkerTang, Zhengsheng Wei, zxcqwe4906, 张志豪, 田传武 8728*b6fb3261SAndroid Build Coastguard Worker 8729*b6fb3261SAndroid Build Coastguard WorkerWe are also grateful to all who filed issues or helped resolve them, asked and 8730*b6fb3261SAndroid Build Coastguard Workeranswered questions, and were part of inspiring discussions. 8731*b6fb3261SAndroid Build Coastguard Worker 8732*b6fb3261SAndroid Build Coastguard Worker# Release 1.4.1 8733*b6fb3261SAndroid Build Coastguard Worker 8734*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 8735*b6fb3261SAndroid Build Coastguard Worker 8736*b6fb3261SAndroid Build Coastguard Worker* `LinearClassifier` fix. 8737*b6fb3261SAndroid Build Coastguard Worker 8738*b6fb3261SAndroid Build Coastguard Worker# Release 1.4.0 8739*b6fb3261SAndroid Build Coastguard Worker 8740*b6fb3261SAndroid Build Coastguard Worker## Major Features And Improvements 8741*b6fb3261SAndroid Build Coastguard Worker 8742*b6fb3261SAndroid Build Coastguard Worker* `tf.keras` is now part of the core TensorFlow API. 8743*b6fb3261SAndroid Build Coastguard Worker* [`tf.data`](http://tensorflow.org/guide/data) is now part of the core 8744*b6fb3261SAndroid Build Coastguard Worker TensorFlow API. 8745*b6fb3261SAndroid Build Coastguard Worker * The API is now subject to backwards compatibility guarantees. 8746*b6fb3261SAndroid Build Coastguard Worker * For a guide to migrating from the `tf.contrib.data` API, see the 8747*b6fb3261SAndroid Build Coastguard Worker [README](https://github.com/tensorflow/tensorflow/blob/r1.4/tensorflow/contrib/data/README.md). 8748*b6fb3261SAndroid Build Coastguard Worker * Major new features include `Dataset.from_generator()` (for building an 8749*b6fb3261SAndroid Build Coastguard Worker input pipeline from a Python generator), and the `Dataset.apply()` 8750*b6fb3261SAndroid Build Coastguard Worker method for applying custom transformation functions. 8751*b6fb3261SAndroid Build Coastguard Worker * Several custom transformation functions have been added, including 8752*b6fb3261SAndroid Build Coastguard Worker `tf.contrib.data.batch_and_drop_remainder()` and 8753*b6fb3261SAndroid Build Coastguard Worker `tf.contrib.data.sloppy_interleave()`. 8754*b6fb3261SAndroid Build Coastguard Worker* Add `train_and_evaluate` for simple distributed `Estimator` training. 8755*b6fb3261SAndroid Build Coastguard Worker* Add `tf.spectral.dct` for computing the DCT-II. 8756*b6fb3261SAndroid Build Coastguard Worker* Add Mel-Frequency Cepstral Coefficient support to `tf.contrib.signal` (with 8757*b6fb3261SAndroid Build Coastguard Worker GPU and gradient support). 8758*b6fb3261SAndroid Build Coastguard Worker* Add a self-check on `import tensorflow` for Windows DLL issues. 8759*b6fb3261SAndroid Build Coastguard Worker* Add NCHW support to `tf.depth_to_space` on GPU. 8760*b6fb3261SAndroid Build Coastguard Worker* TensorFlow Debugger (tfdbg): 8761*b6fb3261SAndroid Build Coastguard Worker * Add `eval` command to allow evaluation of arbitrary Python/numpy 8762*b6fb3261SAndroid Build Coastguard Worker expressions in tfdbg command-line interface. See 8763*b6fb3261SAndroid Build Coastguard Worker [Debugging TensorFlow Programs](https://www.tensorflow.org/guide/debugger) 8764*b6fb3261SAndroid Build Coastguard Worker for more details. 8765*b6fb3261SAndroid Build Coastguard Worker * Usability improvement: The frequently used tensor filter 8766*b6fb3261SAndroid Build Coastguard Worker `has_inf_or_nan` is now added to `Session` wrappers and hooks by 8767*b6fb3261SAndroid Build Coastguard Worker default. So there is no need for clients to call 8768*b6fb3261SAndroid Build Coastguard Worker `.add_tensor_filter(tf_debug.has_inf_or_nan)` anymore. 8769*b6fb3261SAndroid Build Coastguard Worker* SinhArcsinh (scalar) distribution added to `contrib.distributions`. 8770*b6fb3261SAndroid Build Coastguard Worker* Make `GANEstimator` opensource. 8771*b6fb3261SAndroid Build Coastguard Worker* `Estimator.export_savedmodel()` now includes all valid serving signatures 8772*b6fb3261SAndroid Build Coastguard Worker that can be constructed from the Serving Input Receiver and all available 8773*b6fb3261SAndroid Build Coastguard Worker ExportOutputs. For instance, a classifier may provide regression- and 8774*b6fb3261SAndroid Build Coastguard Worker prediction-flavored outputs, in addition to the classification-flavored one. 8775*b6fb3261SAndroid Build Coastguard Worker Building signatures from these allows TF Serving to honor requests using the 8776*b6fb3261SAndroid Build Coastguard Worker different APIs (Classify, Regress, and Predict). Furthermore, 8777*b6fb3261SAndroid Build Coastguard Worker `serving_input_receiver_fn()` may now specify alternative subsets of nodes 8778*b6fb3261SAndroid Build Coastguard Worker that may act as inputs. This allows, for instance, producing a prediction 8779*b6fb3261SAndroid Build Coastguard Worker signature for a classifier that accepts raw `Tensors` instead of a 8780*b6fb3261SAndroid Build Coastguard Worker serialized `tf.Example`. 8781*b6fb3261SAndroid Build Coastguard Worker* Add `tf.contrib.bayesflow.hmc`. 8782*b6fb3261SAndroid Build Coastguard Worker* Add `tf.contrib.distributions.MixtureSameFamily`. 8783*b6fb3261SAndroid Build Coastguard Worker* Make `Dataset.shuffle()` always reshuffles after each iteration by default. 8784*b6fb3261SAndroid Build Coastguard Worker* Add `tf.contrib.bayesflow.metropolis_hastings`. 8785*b6fb3261SAndroid Build Coastguard Worker* Add `log_rate` parameter to `tf.contrib.distributions.Poisson`. 8786*b6fb3261SAndroid Build Coastguard Worker* Extend `tf.contrib.distributions.bijector` API to handle some non-injective 8787*b6fb3261SAndroid Build Coastguard Worker transforms. 8788*b6fb3261SAndroid Build Coastguard Worker* Java: 8789*b6fb3261SAndroid Build Coastguard Worker * Generics (e.g., `Tensor<Integer>`) for improved type-safety (courtesy 8790*b6fb3261SAndroid Build Coastguard Worker @andrewcmyers). 8791*b6fb3261SAndroid Build Coastguard Worker * Support for multi-dimensional string tensors. 8792*b6fb3261SAndroid Build Coastguard Worker * Support loading of custom operations (e.g. many in `tf.contrib`) on 8793*b6fb3261SAndroid Build Coastguard Worker Linux and OS X 8794*b6fb3261SAndroid Build Coastguard Worker* All our prebuilt binaries have been built with CUDA 8 and cuDNN 6. We 8795*b6fb3261SAndroid Build Coastguard Worker anticipate releasing TensorFlow 1.5 with CUDA 9 and cuDNN 7. 8796*b6fb3261SAndroid Build Coastguard Worker 8797*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 8798*b6fb3261SAndroid Build Coastguard Worker 8799*b6fb3261SAndroid Build Coastguard Worker* `tf.nn.rnn_cell.DropoutWrapper` is now more careful about dropping out LSTM 8800*b6fb3261SAndroid Build Coastguard Worker states. Specifically, it no longer ever drops the `c` (memory) state of an 8801*b6fb3261SAndroid Build Coastguard Worker `LSTMStateTuple`. The new behavior leads to proper dropout behavior for 8802*b6fb3261SAndroid Build Coastguard Worker LSTMs and stacked LSTMs. This bug fix follows recommendations from published 8803*b6fb3261SAndroid Build Coastguard Worker literature, but is a behavioral change. State dropout behavior may be 8804*b6fb3261SAndroid Build Coastguard Worker customized via the new `dropout_state_filter_visitor` argument. 8805*b6fb3261SAndroid Build Coastguard Worker* Removed `tf.contrib.training.python_input`. The same behavior, in a more 8806*b6fb3261SAndroid Build Coastguard Worker flexible and reproducible package, is available via the new 8807*b6fb3261SAndroid Build Coastguard Worker `tf.contrib.data.Dataset.from_generator` method! 8808*b6fb3261SAndroid Build Coastguard Worker* Fix `tf.contrib.distributions.Affine` incorrectly computing 8809*b6fb3261SAndroid Build Coastguard Worker log-det-jacobian. 8810*b6fb3261SAndroid Build Coastguard Worker* Fix `tf.random_gamma` incorrectly handling non-batch, scalar draws. 8811*b6fb3261SAndroid Build Coastguard Worker* Resolved a race condition in TensorForest TreePredictionsV4Op. 8812*b6fb3261SAndroid Build Coastguard Worker* Google Cloud Storage file system, Amazon S3 file system, and Hadoop file 8813*b6fb3261SAndroid Build Coastguard Worker system support are now default build options. 8814*b6fb3261SAndroid Build Coastguard Worker* Custom op libraries must link against libtensorflow_framework.so (installed 8815*b6fb3261SAndroid Build Coastguard Worker at `tf.sysconfig.get_lib()`). 8816*b6fb3261SAndroid Build Coastguard Worker* Change `RunConfig` default behavior to not set a random seed, making random 8817*b6fb3261SAndroid Build Coastguard Worker behavior independently random on distributed workers. We expect this to 8818*b6fb3261SAndroid Build Coastguard Worker generally improve training performance. Models that do rely on determinism 8819*b6fb3261SAndroid Build Coastguard Worker should set a random seed explicitly. 8820*b6fb3261SAndroid Build Coastguard Worker 8821*b6fb3261SAndroid Build Coastguard Worker## Breaking Changes to the API 8822*b6fb3261SAndroid Build Coastguard Worker 8823*b6fb3261SAndroid Build Coastguard Worker* The signature of the `tf.contrib.data.rejection_resample()` function has 8824*b6fb3261SAndroid Build Coastguard Worker been changed. It now returns a function that can be used as an argument to 8825*b6fb3261SAndroid Build Coastguard Worker `Dataset.apply()`. 8826*b6fb3261SAndroid Build Coastguard Worker* Remove `tf.contrib.data.Iterator.from_dataset()` method. Use 8827*b6fb3261SAndroid Build Coastguard Worker `Dataset.make_initializable_iterator()` instead. 8828*b6fb3261SAndroid Build Coastguard Worker* Remove seldom used and unnecessary `tf.contrib.data.Iterator.dispose_op()`. 8829*b6fb3261SAndroid Build Coastguard Worker* Reorder some TF-GAN loss functions in a non-backwards compatible way. 8830*b6fb3261SAndroid Build Coastguard Worker 8831*b6fb3261SAndroid Build Coastguard Worker## Known Issues 8832*b6fb3261SAndroid Build Coastguard Worker 8833*b6fb3261SAndroid Build Coastguard Worker* In Python 3, `Dataset.from_generator()` does not support Unicode strings. 8834*b6fb3261SAndroid Build Coastguard Worker You must convert any strings to bytes objects before yielding them from the 8835*b6fb3261SAndroid Build Coastguard Worker generator. 8836*b6fb3261SAndroid Build Coastguard Worker 8837*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors 8838*b6fb3261SAndroid Build Coastguard Worker 8839*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as: 8840*b6fb3261SAndroid Build Coastguard Worker 8841*b6fb3261SAndroid Build Coastguard Worker4d55397500, Abdullah Alrasheed, abenmao, Adam Salvail, Aditya Dhulipala, Ag 8842*b6fb3261SAndroid Build Coastguard WorkerRamesh, Akimasa Kimura, Alan Du, Alan Yee, Alexander, Amit Kushwaha, Amy, Andrei 8843*b6fb3261SAndroid Build Coastguard WorkerCostinescu, Andrei Nigmatulin, Andrew Erlichson, Andrew Myers, Andrew Stepanov, 8844*b6fb3261SAndroid Build Coastguard WorkerAndrobin, AngryPowman, Anish Shah, Anton Daitche, Artsiom Chapialiou, asdf2014, 8845*b6fb3261SAndroid Build Coastguard WorkerAseem Raj Baranwal, Ash Hall, Bart Kiers, Batchu Venkat Vishal, ben, Ben 8846*b6fb3261SAndroid Build Coastguard WorkerBarsdell, Bill Piel, Carl Thomé, Catalin Voss, Changming Sun, Chengzhi Chen, Chi 8847*b6fb3261SAndroid Build Coastguard WorkerZeng, Chris Antaki, Chris Donahue, Chris Oelmueller, Chris Tava, Clayne Robison, 8848*b6fb3261SAndroid Build Coastguard WorkerCodrut, Courtial Florian, Dalmo Cirne, Dan J, Darren Garvey, David 8849*b6fb3261SAndroid Build Coastguard WorkerKristoffersson, David Norman, David RöThlisberger, DavidNorman, Dhruv, DimanNe, 8850*b6fb3261SAndroid Build Coastguard WorkerDorokhov, Duncan Mac-Vicar P, EdwardDixon, EMCP, error.d, FAIJUL, Fan Xia, 8851*b6fb3261SAndroid Build Coastguard WorkerFrancois Xavier, Fred Reiss, Freedom" Koan-Sin Tan, Fritz Obermeyer, Gao, Xiang, 8852*b6fb3261SAndroid Build Coastguard WorkerGuenther Schmuelling, Guo Yejun (郭叶军), Hans Gaiser, HectorSVC, Hyungsuk Yoon, 8853*b6fb3261SAndroid Build Coastguard WorkerJames Pruegsanusak, Jay Young, Jean Wanka, Jeff Carpenter, Jeremy Rutman, Jeroen 8854*b6fb3261SAndroid Build Coastguard WorkerBéDorf, Jett Jones, Jimmy Jia, jinghuangintel, jinze1994, JKurland, Joel 8855*b6fb3261SAndroid Build Coastguard WorkerHestness, joetoth, John B Nelson, John Impallomeni, John Lawson, Jonas, Jonathan 8856*b6fb3261SAndroid Build Coastguard WorkerDekhtiar, joshkyh, Jun Luan, Jun Mei, Kai Sasaki, Karl Lessard, [email protected], Kb 8857*b6fb3261SAndroid Build Coastguard WorkerSriram, Kenichi Ueno, Kevin Slagle, Kongsea, Lakshay Garg, lhlmgr, Lin Min, 8858*b6fb3261SAndroid Build Coastguard Workerliu.guangcong, Loki Der Quaeler, Louie Helm, lucasmoura, Luke Iwanski, Lyndon 8859*b6fb3261SAndroid Build Coastguard WorkerWhite, Mahmoud Abuzaina, Marcel Puyat, Mark Aaron Shirley, Michele Colombo, 8860*b6fb3261SAndroid Build Coastguard WorkerMtDersvan, Namrata-Ibm, Nathan Luehr, Naurril, Nayana Thorat, Nicolas Lopez, 8861*b6fb3261SAndroid Build Coastguard WorkerNiranjan Hasabnis, Nolan Liu, Nouce, Oliver Hennigh, osdamv, Patrik Erdes, 8862*b6fb3261SAndroid Build Coastguard WorkerPatryk Chrabaszcz, Pavel Christof, Penghao Cen, postBG, Qingqing Cao, Qingying 8863*b6fb3261SAndroid Build Coastguard WorkerChen, qjivy, Raphael, Rasmi, raymondxyang, Renze Yu, resec, Roffel, Ruben 8864*b6fb3261SAndroid Build Coastguard WorkerVereecken, Ryohei Kuroki, sandipmgiri, Santiago Castro, Scott Kirkland, Sean 8865*b6fb3261SAndroid Build Coastguard WorkerVig, Sebastian Raschka, Sebastian Weiss, Sergey Kolesnikov, Sergii Khomenko, 8866*b6fb3261SAndroid Build Coastguard WorkerShahid, Shivam Kotwalia, Stuart Berg, Sumit Gouthaman, superzerg, Sven Mayer, 8867*b6fb3261SAndroid Build Coastguard Workertetris, Ti Zhou, Tiago Freitas Pereira, Tian Jin, Tomoaki Oiki, Vaibhav Sood, 8868*b6fb3261SAndroid Build Coastguard Workervfdev, Vivek Rane, Vladimir Moskva, wangqr, Weber Xie, Will Frey, Yan Facai 8869*b6fb3261SAndroid Build Coastguard Worker(颜发才), yanivbl6, Yaroslav Bulatov, Yixing Lao, Yong Tang, youkaichao, Yuan 8870*b6fb3261SAndroid Build Coastguard Worker(Terry) Tang, Yue Zhang, Yuxin Wu, Ziming Dong, ZxYuan, 黄璞 8871*b6fb3261SAndroid Build Coastguard Worker 8872*b6fb3261SAndroid Build Coastguard WorkerWe are also grateful to all who filed issues or helped resolve them, asked and 8873*b6fb3261SAndroid Build Coastguard Workeranswered questions, and were part of inspiring discussions. 8874*b6fb3261SAndroid Build Coastguard Worker 8875*b6fb3261SAndroid Build Coastguard Worker# Release 1.3.0 8876*b6fb3261SAndroid Build Coastguard Worker 8877*b6fb3261SAndroid Build Coastguard WorkerSee also 8878*b6fb3261SAndroid Build Coastguard Worker[TensorBoard 0.1.4](https://github.com/tensorflow/tensorboard/releases/tag/0.1.4) 8879*b6fb3261SAndroid Build Coastguard Workerrelease notes. 8880*b6fb3261SAndroid Build Coastguard Worker 8881*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements 8882*b6fb3261SAndroid Build Coastguard Worker 8883*b6fb3261SAndroid Build Coastguard Worker* Added canned estimators to Tensorflow library. List of added estimators: 8884*b6fb3261SAndroid Build Coastguard Worker * `DNNClassifier` 8885*b6fb3261SAndroid Build Coastguard Worker * `DNNRegressor` 8886*b6fb3261SAndroid Build Coastguard Worker * `LinearClassifier` 8887*b6fb3261SAndroid Build Coastguard Worker * `LinearRegressor` 8888*b6fb3261SAndroid Build Coastguard Worker * `DNNLinearCombinedClassifier` 8889*b6fb3261SAndroid Build Coastguard Worker * `DNNLinearCombinedRegressor`. 8890*b6fb3261SAndroid Build Coastguard Worker* All our prebuilt binaries have been built with cuDNN 6. We anticipate 8891*b6fb3261SAndroid Build Coastguard Worker releasing TensorFlow 1.4 with cuDNN 7. 8892*b6fb3261SAndroid Build Coastguard Worker* `import tensorflow` now goes much faster. 8893*b6fb3261SAndroid Build Coastguard Worker* Adds a file cache to the GCS filesystem with configurable max staleness for 8894*b6fb3261SAndroid Build Coastguard Worker file contents. This permits caching of file contents across close/open 8895*b6fb3261SAndroid Build Coastguard Worker boundaries. 8896*b6fb3261SAndroid Build Coastguard Worker* Added an axis parameter to `tf.gather`. 8897*b6fb3261SAndroid Build Coastguard Worker* Added a `constant_values` keyword argument to `tf.pad`. 8898*b6fb3261SAndroid Build Coastguard Worker* Adds `Dataset.interleave` transformation. 8899*b6fb3261SAndroid Build Coastguard Worker* Add `ConcatenateDataset` to concatenate two datasets. 8900*b6fb3261SAndroid Build Coastguard Worker* Added Mobilenet support to TensorFlow for Poets training script. 8901*b6fb3261SAndroid Build Coastguard Worker* Adds a block cache to the GCS filesystem with configurable block size and 8902*b6fb3261SAndroid Build Coastguard Worker count. 8903*b6fb3261SAndroid Build Coastguard Worker* SinhArcSinh bijector added. 8904*b6fb3261SAndroid Build Coastguard Worker* Added `Dataset.list_files` API. 8905*b6fb3261SAndroid Build Coastguard Worker* Introduces new operations and Python bindings for the Cloud TPU. 8906*b6fb3261SAndroid Build Coastguard Worker* Adding TensorFlow-iOS CocoaPod for symmetry with tensorflow-android. 8907*b6fb3261SAndroid Build Coastguard Worker* Introduces base implementations of ClusterResolvers. 8908*b6fb3261SAndroid Build Coastguard Worker* Unify memory representations of TensorShape and PartialTensorShape. As a 8909*b6fb3261SAndroid Build Coastguard Worker consequence, tensors now have a maximum of 254 dimensions, not 255. 8910*b6fb3261SAndroid Build Coastguard Worker* Changed references to LIBXSMM to use version 1.8.1. 8911*b6fb3261SAndroid Build Coastguard Worker* TensorFlow Debugger (tfdbg): 8912*b6fb3261SAndroid Build Coastguard Worker * Display summaries of numeric tensor values with the `-s` flag to command 8913*b6fb3261SAndroid Build Coastguard Worker `print_tensor` or `pt`. 8914*b6fb3261SAndroid Build Coastguard Worker * Display feed values with the `print_feed` or `pf` command and clickable 8915*b6fb3261SAndroid Build Coastguard Worker links in the curses UI. 8916*b6fb3261SAndroid Build Coastguard Worker * Runtime profiler at the op level and the Python source line level with 8917*b6fb3261SAndroid Build Coastguard Worker the `run -p` command. 8918*b6fb3261SAndroid Build Coastguard Worker* Initial release of the statistical distribution library `tf.distributions`. 8919*b6fb3261SAndroid Build Coastguard Worker* GPU kernels and speed improvements for unary `tf.where` and `tf.nn.top_k`. 8920*b6fb3261SAndroid Build Coastguard Worker* Monotonic Attention wrappers added to `tf.contrib.seq2seq`. 8921*b6fb3261SAndroid Build Coastguard Worker* Added `tf.contrib.signal`, a library for signal processing primitives. 8922*b6fb3261SAndroid Build Coastguard Worker* Added `tf.contrib.resampler`, containing CPU and GPU ops for differentiable 8923*b6fb3261SAndroid Build Coastguard Worker resampling of images. 8924*b6fb3261SAndroid Build Coastguard Worker 8925*b6fb3261SAndroid Build Coastguard Worker## Breaking Changes to the API 8926*b6fb3261SAndroid Build Coastguard Worker 8927*b6fb3261SAndroid Build Coastguard Worker* `tf.RewriterConfig` was removed from the Python API after being available in 8928*b6fb3261SAndroid Build Coastguard Worker 1.2 release candidates (it was never in an actual release). Graph rewriting 8929*b6fb3261SAndroid Build Coastguard Worker is still available, just not as `tf.RewriterConfig`. Instead add an explicit 8930*b6fb3261SAndroid Build Coastguard Worker import. 8931*b6fb3261SAndroid Build Coastguard Worker* Breaking change to `tf.contrib.data.Dataset` APIs that expect a nested 8932*b6fb3261SAndroid Build Coastguard Worker structure. Lists are now converted to `tf.Tensor` implicitly. You may need 8933*b6fb3261SAndroid Build Coastguard Worker to change uses of lists to tuples in existing code. In addition, dicts are 8934*b6fb3261SAndroid Build Coastguard Worker now supported as a nested structure. 8935*b6fb3261SAndroid Build Coastguard Worker 8936*b6fb3261SAndroid Build Coastguard Worker## Changes to contrib APIs 8937*b6fb3261SAndroid Build Coastguard Worker 8938*b6fb3261SAndroid Build Coastguard Worker* Adds tf.contrib.nn.rank_sampled_softmax_loss, a sampled-softmax variant that 8939*b6fb3261SAndroid Build Coastguard Worker can improve rank loss. 8940*b6fb3261SAndroid Build Coastguard Worker* `tf.contrib.metrics`.{streaming_covariance,streaming_pearson_correlation} 8941*b6fb3261SAndroid Build Coastguard Worker modified to return nan when they have seen less or equal to 1 unit of 8942*b6fb3261SAndroid Build Coastguard Worker weight. 8943*b6fb3261SAndroid Build Coastguard Worker* Adds time series models to contrib. See contrib/timeseries/README.md for 8944*b6fb3261SAndroid Build Coastguard Worker details. 8945*b6fb3261SAndroid Build Coastguard Worker* Adds FULLY_CONNECTED Op to tensorflow/lite/schema.fbs 8946*b6fb3261SAndroid Build Coastguard Worker 8947*b6fb3261SAndroid Build Coastguard Worker## Known Issues 8948*b6fb3261SAndroid Build Coastguard Worker 8949*b6fb3261SAndroid Build Coastguard Worker* Tensorflow_gpu compilation fails with Bazel 0.5.3. 8950*b6fb3261SAndroid Build Coastguard Worker 8951*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 8952*b6fb3261SAndroid Build Coastguard Worker 8953*b6fb3261SAndroid Build Coastguard Worker* Fixes `strides` and `begin` dtype mismatch when slicing using int64 Tensor 8954*b6fb3261SAndroid Build Coastguard Worker index in python. 8955*b6fb3261SAndroid Build Coastguard Worker* Improved convolution padding documentation. 8956*b6fb3261SAndroid Build Coastguard Worker* Add a tag constant, gpu, to present graph with GPU support. 8957*b6fb3261SAndroid Build Coastguard Worker* `saved_model.utils` now support SparseTensors transparently. 8958*b6fb3261SAndroid Build Coastguard Worker* A more efficient implementation of non-max suppression. 8959*b6fb3261SAndroid Build Coastguard Worker* Add support for the shrinkage-type L2 to FtrlOptimizer in addition to the 8960*b6fb3261SAndroid Build Coastguard Worker online L2 it already supports. 8961*b6fb3261SAndroid Build Coastguard Worker* Fix negative variance in moments calculation. 8962*b6fb3261SAndroid Build Coastguard Worker* Expand UniqueOp Benchmark Tests to cover more collision cases. 8963*b6fb3261SAndroid Build Coastguard Worker* Improves stability of GCS filesystem on Mac. 8964*b6fb3261SAndroid Build Coastguard Worker* Add time estimation to HloCostAnalysis. 8965*b6fb3261SAndroid Build Coastguard Worker* Fixed the bug in Estimator that params in constructor was not a deepcopy of 8966*b6fb3261SAndroid Build Coastguard Worker the user provided one. This bugs inadvertently enabled user to mutate the 8967*b6fb3261SAndroid Build Coastguard Worker params after the creation of Estimator, leading to potentially undefined 8968*b6fb3261SAndroid Build Coastguard Worker behavior. 8969*b6fb3261SAndroid Build Coastguard Worker* Added None check for save_path in `saver.restore`. 8970*b6fb3261SAndroid Build Coastguard Worker* Register devices under their legacy names in device_mgr to ease the 8971*b6fb3261SAndroid Build Coastguard Worker transition to clusterspec-propagated configurations. 8972*b6fb3261SAndroid Build Coastguard Worker* VectorExponential added to distributions. 8973*b6fb3261SAndroid Build Coastguard Worker* Add a bitwise module with bitwise_and, bitwise_or, bitwise_xor, and invert 8974*b6fb3261SAndroid Build Coastguard Worker functions. 8975*b6fb3261SAndroid Build Coastguard Worker* Add fixed-grid ODE integration routines. 8976*b6fb3261SAndroid Build Coastguard Worker* Allow passing bounds to ScipyOptimizerInterface. 8977*b6fb3261SAndroid Build Coastguard Worker* Correctness fixes for fft_length parameter to `tf.spectral.rfft` & 8978*b6fb3261SAndroid Build Coastguard Worker `tf.spectral.irfft`. 8979*b6fb3261SAndroid Build Coastguard Worker* Exported model signatures using the 'predict' method will no longer have 8980*b6fb3261SAndroid Build Coastguard Worker their input and output keys silently ignored and rewritten to 'inputs' and 8981*b6fb3261SAndroid Build Coastguard Worker 'outputs'. If a model was exported with different names before 1.2, and is 8982*b6fb3261SAndroid Build Coastguard Worker now served with tensorflow/serving, it will accept requests using 'inputs' 8983*b6fb3261SAndroid Build Coastguard Worker and 'outputs'. Starting at 1.2, such a model will accept the keys specified 8984*b6fb3261SAndroid Build Coastguard Worker during export. Therefore, inference requests using 'inputs' and 'outputs' 8985*b6fb3261SAndroid Build Coastguard Worker may start to fail. To fix this, either update any inference clients to send 8986*b6fb3261SAndroid Build Coastguard Worker requests with the actual input and output keys used by the trainer code, or 8987*b6fb3261SAndroid Build Coastguard Worker conversely, update the trainer code to name the input and output Tensors 8988*b6fb3261SAndroid Build Coastguard Worker 'inputs' and 'outputs', respectively. Signatures using the 'classify' and 8989*b6fb3261SAndroid Build Coastguard Worker 'regress' methods are not affected by this change; they will continue to 8990*b6fb3261SAndroid Build Coastguard Worker standardize their input and output keys as before. 8991*b6fb3261SAndroid Build Coastguard Worker* Add in-memory caching to the Dataset API. 8992*b6fb3261SAndroid Build Coastguard Worker* Set default end_of_sequence variable in datasets iterators to false. 8993*b6fb3261SAndroid Build Coastguard Worker* [Performance] Increase performance of `tf.layers.conv2d` when setting 8994*b6fb3261SAndroid Build Coastguard Worker use_bias=True by 2x by using nn.bias_add. 8995*b6fb3261SAndroid Build Coastguard Worker* Update iOS examples to use CocoaPods, and moved to tensorflow/examples/ios. 8996*b6fb3261SAndroid Build Coastguard Worker* Adds a family= attribute in `tf.summary` ops to allow controlling the tab 8997*b6fb3261SAndroid Build Coastguard Worker name used in Tensorboard for organizing summaries. 8998*b6fb3261SAndroid Build Coastguard Worker* When GPU is configured, do not require --config=cuda, instead, automatically 8999*b6fb3261SAndroid Build Coastguard Worker build for GPU if this is requested in the configure script. 9000*b6fb3261SAndroid Build Coastguard Worker* Fix incorrect sampling of small probabilities in CPU/GPU multinomial. 9001*b6fb3261SAndroid Build Coastguard Worker* Add a list_devices() API on sessions to list devices within a cluster. 9002*b6fb3261SAndroid Build Coastguard Worker Additionally, this change augment the ListDevices master API to support 9003*b6fb3261SAndroid Build Coastguard Worker specifying a session. 9004*b6fb3261SAndroid Build Coastguard Worker* Allow uses of over-parameterized separable convolution. 9005*b6fb3261SAndroid Build Coastguard Worker* TensorForest multi-regression bug fix. 9006*b6fb3261SAndroid Build Coastguard Worker* Framework now supports armv7, cocoapods.org now displays correct page. 9007*b6fb3261SAndroid Build Coastguard Worker* Script to create iOS framework for CocoaPods. 9008*b6fb3261SAndroid Build Coastguard Worker* Android releases of TensorFlow are now pushed to jcenter for easier 9009*b6fb3261SAndroid Build Coastguard Worker integration into apps. See 9010*b6fb3261SAndroid Build Coastguard Worker https://github.com/tensorflow/tensorflow/blob/master/tensorflow/tools/android/inference_interface/README.md 9011*b6fb3261SAndroid Build Coastguard Worker for more details. 9012*b6fb3261SAndroid Build Coastguard Worker* TensorFlow Debugger (tfdbg): 9013*b6fb3261SAndroid Build Coastguard Worker * Fixed a bug that prevented tfdbg from functioning with multi-GPU setups. 9014*b6fb3261SAndroid Build Coastguard Worker * Fixed a bug that prevented tfdbg from working with 9015*b6fb3261SAndroid Build Coastguard Worker `tf.Session.make_callable`. 9016*b6fb3261SAndroid Build Coastguard Worker 9017*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors 9018*b6fb3261SAndroid Build Coastguard Worker 9019*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as: 9020*b6fb3261SAndroid Build Coastguard Worker 9021*b6fb3261SAndroid Build Coastguard Worker4F2E4A2E, Adriano Carmezim, Adrià Arrufat, Alan Yee, Alex Lattas, Alex Rothberg, 9022*b6fb3261SAndroid Build Coastguard WorkerAlexandr Baranezky, Ali Siddiqui, Andreas Solleder, Andrei Costinescu, Andrew 9023*b6fb3261SAndroid Build Coastguard WorkerHundt, Androbin, Andy Kernahan, Anish Shah, Anthony Platanios, Arvinds-Ds, b1rd, 9024*b6fb3261SAndroid Build Coastguard WorkerBaptiste Arnaud, Ben Mabey, Benedikt Linse, Beomsu Kim, Bo Wang, Boyuan Deng, 9025*b6fb3261SAndroid Build Coastguard WorkerBrett Koonce, Bruno Rosa, Carl Thomé, Changming Sun, Chase Roberts, Chirag 9026*b6fb3261SAndroid Build Coastguard WorkerBhatia, Chris Antaki, Chris Hoyean Song, Chris Tava, Christos Nikolaou, Croath 9027*b6fb3261SAndroid Build Coastguard WorkerLiu, cxx, Czxck001, Daniel Ylitalo, Danny Goodman, Darren Garvey, David 9028*b6fb3261SAndroid Build Coastguard WorkerBrailovsky, David Norman, DavidNorman, davidpham87, ddurham2, Dhruv, DimanNe, 9029*b6fb3261SAndroid Build Coastguard WorkerDrew Hintz, Dustin Tran, Earthson Lu, ethiraj, Fabian Winnen, Fei Sun, Freedom" 9030*b6fb3261SAndroid Build Coastguard WorkerKoan-Sin Tan, Fritz Obermeyer, Gao, Xiang, Gautam, Guenther Schmuelling, Gyu-Ho 9031*b6fb3261SAndroid Build Coastguard WorkerLee, Hauke Brammer, horance, Humanity123, J Alammar, Jayeol Chun, Jeroen BéDorf, 9032*b6fb3261SAndroid Build Coastguard WorkerJianfei Wang, jiefangxuanyan, Jing Jun Yin, Joan Puigcerver, Joel Hestness, 9033*b6fb3261SAndroid Build Coastguard WorkerJohannes Mayer, John Lawson, Johnson145, Jon Malmaud, Jonathan 9034*b6fb3261SAndroid Build Coastguard WorkerAlvarez-Gutierrez, Juang, Yi-Lin, Julian Viereck, Kaarthik Sivashanmugam, Karl 9035*b6fb3261SAndroid Build Coastguard WorkerLessard, [email protected], Kevin Carbone, Kevin Van Der Burgt, Kongsea, ksellesk, 9036*b6fb3261SAndroid Build Coastguard Workerlanhin, Lef Ioannidis, Liangliang He, Louis Tiao, Luke Iwanski, LáSzló Csomor, 9037*b6fb3261SAndroid Build Coastguard Workermagixsno, Mahmoud Abuzaina, Marcel Hlopko, Mark Neumann, Maxwell Paul Brickner, 9038*b6fb3261SAndroid Build Coastguard Workermdfaijul, MichaëL Defferrard, Michał JastrzęBski, Michele Colombo, Mike Brodie, 9039*b6fb3261SAndroid Build Coastguard WorkerMosnoi Ion, mouradmourafiq, myPrecious, Nayana Thorat, Neeraj Kashyap, Nelson 9040*b6fb3261SAndroid Build Coastguard WorkerLiu, Niranjan Hasabnis, Olivier Moindrot, orome, Pankaj Gupta, Paul Van Eck, 9041*b6fb3261SAndroid Build Coastguard Workerpeeyush18, Peng Yu, Pierre, preciousdp11, qjivy, Raingo, raoqiyu, ribx, Richard 9042*b6fb3261SAndroid Build Coastguard WorkerS. Imaoka, Rishabh Patel, Robert Walecki, Rockford Wei, Ryan Kung, Sahil Dua, 9043*b6fb3261SAndroid Build Coastguard WorkerSandip Giri, Sayed Hadi Hashemi, sgt101, Shitian Ni, Shuolongbj, Siim PõDer, 9044*b6fb3261SAndroid Build Coastguard WorkerSimon Perkins, sj6077, SOLARIS, Spotlight0xff, Steffen Eberbach, Stephen Fox, 9045*b6fb3261SAndroid Build Coastguard Workersuperryanguo, Sven Mayer, Tapan Prakash, Tiago Morais Morgado, Till Hoffmann, Tj 9046*b6fb3261SAndroid Build Coastguard WorkerRana, Vadim Markovtsev, vhasanov, Wei Wu, windead, Yan (Asta) Li, Yan Chen, Yann 9047*b6fb3261SAndroid Build Coastguard WorkerHenon, Yi Wang, Yong Tang, yorkie, Yuan (Terry) Tang, Yuxin Wu, zhengjiajin, 9048*b6fb3261SAndroid Build Coastguard Workerzhongzyd, 黄璞 9049*b6fb3261SAndroid Build Coastguard Worker 9050*b6fb3261SAndroid Build Coastguard WorkerWe are also grateful to all who filed issues or helped resolve them, asked and 9051*b6fb3261SAndroid Build Coastguard Workeranswered questions, and were part of inspiring discussions. 9052*b6fb3261SAndroid Build Coastguard Worker 9053*b6fb3261SAndroid Build Coastguard Worker# Release 1.2.1 9054*b6fb3261SAndroid Build Coastguard Worker 9055*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 9056*b6fb3261SAndroid Build Coastguard Worker 9057*b6fb3261SAndroid Build Coastguard Worker* Updating markdown version required to >= 2.6.8. 9058*b6fb3261SAndroid Build Coastguard Worker* Support tensors as dropout rates again, by removing the min(max(..)) 9059*b6fb3261SAndroid Build Coastguard Worker 9060*b6fb3261SAndroid Build Coastguard Worker# Release 1.2.0 9061*b6fb3261SAndroid Build Coastguard Worker 9062*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements 9063*b6fb3261SAndroid Build Coastguard Worker 9064*b6fb3261SAndroid Build Coastguard Worker* Python 3.6 support on Windows. 9065*b6fb3261SAndroid Build Coastguard Worker* Added `tf.layers.conv3d_transpose` layer for spatio temporal deconvolution. 9066*b6fb3261SAndroid Build Coastguard Worker* Added `tf.Session.make_callable()`, which provides a lower overhead means of 9067*b6fb3261SAndroid Build Coastguard Worker running a similar step multiple times. 9068*b6fb3261SAndroid Build Coastguard Worker* Added libverbs-based RDMA support to contrib (courtesy @junshi15 from 9069*b6fb3261SAndroid Build Coastguard Worker Yahoo). 9070*b6fb3261SAndroid Build Coastguard Worker* Bring `tf.feature_column.*` into the API. Non-deprecated functionality from 9071*b6fb3261SAndroid Build Coastguard Worker `tf.contrib.layers.*` is moved to `tf.feature_column.*` with cosmetic 9072*b6fb3261SAndroid Build Coastguard Worker changes. 9073*b6fb3261SAndroid Build Coastguard Worker* `RNNCell` objects now subclass `tf.layers.Layer`. The strictness described 9074*b6fb3261SAndroid Build Coastguard Worker in the TensorFlow 1.1 release is gone: The first time an RNNCell is used, it 9075*b6fb3261SAndroid Build Coastguard Worker caches its scope. All future uses of the RNNCell will reuse variables from 9076*b6fb3261SAndroid Build Coastguard Worker that same scope. This is a breaking change from the behavior of RNNCells in 9077*b6fb3261SAndroid Build Coastguard Worker TensorFlow versions <= 1.0.1. TensorFlow 1.1 had checks in place to ensure 9078*b6fb3261SAndroid Build Coastguard Worker old code works correctly with the new semantics; this version allows more 9079*b6fb3261SAndroid Build Coastguard Worker flexible uses of RNNCell but can lead to subtle errors if using code meant 9080*b6fb3261SAndroid Build Coastguard Worker for TensorFlow <= 1.0.1. For example, writing: `MultiRNNCell([lstm] * 5)` 9081*b6fb3261SAndroid Build Coastguard Worker will now build a 5-layer LSTM stack where each layer shares the **same** 9082*b6fb3261SAndroid Build Coastguard Worker parameters. To get 5 layers each with their own parameters, write: 9083*b6fb3261SAndroid Build Coastguard Worker `MultiRNNCell([LSTMCell(...) for _ in range(5)])`. If at all unsure, first 9084*b6fb3261SAndroid Build Coastguard Worker test your code with TF 1.1; ensure it raises no errors, and then upgrade to 9085*b6fb3261SAndroid Build Coastguard Worker TF 1.2. 9086*b6fb3261SAndroid Build Coastguard Worker* RNNCells' variable names have been renamed for consistency with Keras 9087*b6fb3261SAndroid Build Coastguard Worker layers. Specifically, the previous variable names "weights" and "biases" 9088*b6fb3261SAndroid Build Coastguard Worker have been changed to "kernel" and "bias", respectively. This may cause 9089*b6fb3261SAndroid Build Coastguard Worker backward incompatibility with regard to your old checkpoints containing such 9090*b6fb3261SAndroid Build Coastguard Worker RNN cells, in which case you can use the tool 9091*b6fb3261SAndroid Build Coastguard Worker [checkpoint_convert script](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/rnn/python/tools/checkpoint_convert.py) 9092*b6fb3261SAndroid Build Coastguard Worker to convert the variable names in your old checkpoints. 9093*b6fb3261SAndroid Build Coastguard Worker* Many of the RNN functions and classes that were in the `tf.nn` namespace 9094*b6fb3261SAndroid Build Coastguard Worker before the 1.0 release and which were moved to `tf.contrib.rnn` have now 9095*b6fb3261SAndroid Build Coastguard Worker been moved back to the core namespace. This includes `RNNCell`, `LSTMCell`, 9096*b6fb3261SAndroid Build Coastguard Worker `GRUCell`, and a number of other cells. These now reside in `tf.nn.rnn_cell` 9097*b6fb3261SAndroid Build Coastguard Worker (with aliases in `tf.contrib.rnn` for backwards compatibility). The original 9098*b6fb3261SAndroid Build Coastguard Worker `tf.nn.rnn` function is now `tf.nn.static_rnn`, and the bidirectional static 9099*b6fb3261SAndroid Build Coastguard Worker and state saving static rnn functions are also now back in the `tf.nn` 9100*b6fb3261SAndroid Build Coastguard Worker namespace. 9101*b6fb3261SAndroid Build Coastguard Worker 9102*b6fb3261SAndroid Build Coastguard Worker Notable exceptions are the `EmbeddingWrapper`, `InputProjectionWrapper` and 9103*b6fb3261SAndroid Build Coastguard Worker `OutputProjectionWrapper`, which will slowly be moved to deprecation in 9104*b6fb3261SAndroid Build Coastguard Worker `tf.contrib.rnn`. These are inefficient wrappers that should often be 9105*b6fb3261SAndroid Build Coastguard Worker replaced by calling `embedding_lookup` or `layers.dense` as pre- or post- 9106*b6fb3261SAndroid Build Coastguard Worker processing of the rnn. For RNN decoding, this functionality has been 9107*b6fb3261SAndroid Build Coastguard Worker replaced with an alternative API in `tf.contrib.seq2seq`. 9108*b6fb3261SAndroid Build Coastguard Worker 9109*b6fb3261SAndroid Build Coastguard Worker* Intel MKL Integration 9110*b6fb3261SAndroid Build Coastguard Worker (https://software.intel.com/en-us/articles/tensorflow-optimizations-on-modern-intel-architecture). 9111*b6fb3261SAndroid Build Coastguard Worker Intel developed a number of optimized deep learning primitives: In addition 9112*b6fb3261SAndroid Build Coastguard Worker to matrix multiplication and convolution, these building blocks include: 9113*b6fb3261SAndroid Build Coastguard Worker Direct batched convolution Pooling: maximum, minimum, average Normalization: 9114*b6fb3261SAndroid Build Coastguard Worker LRN, batch normalization Activation: rectified linear unit (ReLU) Data 9115*b6fb3261SAndroid Build Coastguard Worker manipulation: multi-dimensional transposition (conversion), split, concat, 9116*b6fb3261SAndroid Build Coastguard Worker sum and scale. 9117*b6fb3261SAndroid Build Coastguard Worker 9118*b6fb3261SAndroid Build Coastguard Worker* TensorForest Estimator now supports SavedModel export for serving. 9119*b6fb3261SAndroid Build Coastguard Worker 9120*b6fb3261SAndroid Build Coastguard Worker* Support client-provided ClusterSpec's and propagate them to all workers to 9121*b6fb3261SAndroid Build Coastguard Worker enable the creation of dynamic TensorFlow clusters. 9122*b6fb3261SAndroid Build Coastguard Worker 9123*b6fb3261SAndroid Build Coastguard Worker* TensorFlow C library now available for Windows. 9124*b6fb3261SAndroid Build Coastguard Worker 9125*b6fb3261SAndroid Build Coastguard Worker* We released a new open-source version of TensorBoard. 9126*b6fb3261SAndroid Build Coastguard Worker 9127*b6fb3261SAndroid Build Coastguard Worker* [`SavedModel CLI`](https://www.tensorflow.org/versions/master/guide/saved_model_cli) 9128*b6fb3261SAndroid Build Coastguard Worker tool available to inspect and execute MetaGraph in SavedModel 9129*b6fb3261SAndroid Build Coastguard Worker 9130*b6fb3261SAndroid Build Coastguard Worker* Android releases of TensorFlow are now pushed to jcenter for easier 9131*b6fb3261SAndroid Build Coastguard Worker integration into apps. See 9132*b6fb3261SAndroid Build Coastguard Worker https://github.com/tensorflow/tensorflow/blob/master/tensorflow/tools/android/inference_interface/README.md 9133*b6fb3261SAndroid Build Coastguard Worker for more details. 9134*b6fb3261SAndroid Build Coastguard Worker 9135*b6fb3261SAndroid Build Coastguard Worker## Deprecations 9136*b6fb3261SAndroid Build Coastguard Worker 9137*b6fb3261SAndroid Build Coastguard Worker* TensorFlow 1.2 may be the last time we build with cuDNN 5.1. Starting with 9138*b6fb3261SAndroid Build Coastguard Worker TensorFlow 1.3, we will try to build all our prebuilt binaries with cuDNN 9139*b6fb3261SAndroid Build Coastguard Worker 6.0. While we will try to keep our source code compatible with cuDNN 5.1, it 9140*b6fb3261SAndroid Build Coastguard Worker will be best effort. 9141*b6fb3261SAndroid Build Coastguard Worker 9142*b6fb3261SAndroid Build Coastguard Worker## Breaking Changes to the API 9143*b6fb3261SAndroid Build Coastguard Worker 9144*b6fb3261SAndroid Build Coastguard Worker* `org.tensorflow.contrib.android.TensorFlowInferenceInterface` now throws 9145*b6fb3261SAndroid Build Coastguard Worker exceptions where possible and has simplified method signatures. 9146*b6fb3261SAndroid Build Coastguard Worker 9147*b6fb3261SAndroid Build Coastguard Worker## Changes to contrib APIs 9148*b6fb3261SAndroid Build Coastguard Worker 9149*b6fb3261SAndroid Build Coastguard Worker* Added `tf.contrib.util.create_example`. 9150*b6fb3261SAndroid Build Coastguard Worker* Added bilinear interpolation to `tf.contrib.image`. 9151*b6fb3261SAndroid Build Coastguard Worker* Add `tf.contrib.stateless` for random ops with custom seed control. 9152*b6fb3261SAndroid Build Coastguard Worker* MultivariateNormalFullCovariance added to contrib/distributions/ 9153*b6fb3261SAndroid Build Coastguard Worker* tensorflow/contrib/rnn undergoes RNN cell variable renaming for consistency 9154*b6fb3261SAndroid Build Coastguard Worker with Keras layers. Specifically, the previous variable names "weights" and 9155*b6fb3261SAndroid Build Coastguard Worker "biases" are changed to "kernel" and "bias", respectively. This may cause 9156*b6fb3261SAndroid Build Coastguard Worker backward incompatibility with regard to your old checkpoints containing such 9157*b6fb3261SAndroid Build Coastguard Worker RNN cells, in which case you can use the 9158*b6fb3261SAndroid Build Coastguard Worker [checkpoint_convert script](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/rnn/python/tools/checkpoint_convert.py) 9159*b6fb3261SAndroid Build Coastguard Worker to convert the variable names in your old checkpoints. 9160*b6fb3261SAndroid Build Coastguard Worker* Added `tf.contrib.kernel_methods` module with Ops and estimators for primal 9161*b6fb3261SAndroid Build Coastguard Worker (explicit) kernel methods in TensorFlow. 9162*b6fb3261SAndroid Build Coastguard Worker 9163*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 9164*b6fb3261SAndroid Build Coastguard Worker 9165*b6fb3261SAndroid Build Coastguard Worker* In python, `Operation.get_attr` on type attributes returns the Python DType 9166*b6fb3261SAndroid Build Coastguard Worker version of the type to match expected get_attr documentation rather than the 9167*b6fb3261SAndroid Build Coastguard Worker protobuf enum. 9168*b6fb3261SAndroid Build Coastguard Worker* tensorflow/contrib/rnn undergoes RNN cell variable renaming for consistency 9169*b6fb3261SAndroid Build Coastguard Worker with Keras layers. Specifically, the previous variable names "weights" and 9170*b6fb3261SAndroid Build Coastguard Worker "biases" are changed to "kernel" and "bias", respectively. 9171*b6fb3261SAndroid Build Coastguard Worker* Changed MIN_SDK version to 8.0 when building iOS libraries. 9172*b6fb3261SAndroid Build Coastguard Worker* Fixed LIBXSMM integration. 9173*b6fb3261SAndroid Build Coastguard Worker* Make decode_jpeg/decode_png/decode_gif handle all formats, since users 9174*b6fb3261SAndroid Build Coastguard Worker frequently try to decode an image as the wrong type. 9175*b6fb3261SAndroid Build Coastguard Worker* Improve implicit broadcasting lowering. 9176*b6fb3261SAndroid Build Coastguard Worker* Improving stability of GCS/BigQuery clients by a faster retrying of stale 9177*b6fb3261SAndroid Build Coastguard Worker transmissions. 9178*b6fb3261SAndroid Build Coastguard Worker* Remove OpKernelConstruction::op_def() as part of minimizing proto 9179*b6fb3261SAndroid Build Coastguard Worker dependencies. 9180*b6fb3261SAndroid Build Coastguard Worker* VectorLaplaceDiag distribution added. 9181*b6fb3261SAndroid Build Coastguard Worker* Android demo no longer requires libtensorflow_demo.so to run 9182*b6fb3261SAndroid Build Coastguard Worker (libtensorflow_inference.so still required) 9183*b6fb3261SAndroid Build Coastguard Worker* Added `categorical_column_with_vocabulary_file`. 9184*b6fb3261SAndroid Build Coastguard Worker* Introduce ops for batching/unbatching tensors across Session::Run() calls. 9185*b6fb3261SAndroid Build Coastguard Worker* Add tf.log_sigmoid(x) = tf.log(tf.sigmoid(x)) = -tf.nn.softplus(-x). 9186*b6fb3261SAndroid Build Coastguard Worker* Changed hooks lists to immutable tuples, and now allow any iterable for the 9187*b6fb3261SAndroid Build Coastguard Worker associated arguments. 9188*b6fb3261SAndroid Build Coastguard Worker* Introduce TFDecorator. 9189*b6fb3261SAndroid Build Coastguard Worker* Added an Mfcc op for speech feature generation. 9190*b6fb3261SAndroid Build Coastguard Worker* Improved DirectSession::Run() overhead and error checking. Feeding a value 9191*b6fb3261SAndroid Build Coastguard Worker of the wrong type will now synchronously raise an INVALID_ARGUMENT error 9192*b6fb3261SAndroid Build Coastguard Worker instead of asynchronously raising an INTERNAL error. Code that depends on 9193*b6fb3261SAndroid Build Coastguard Worker the (undefined) behavior when feeding a tensor of the wrong type may need to 9194*b6fb3261SAndroid Build Coastguard Worker be updated. 9195*b6fb3261SAndroid Build Coastguard Worker* Added unreduced NONE, and reduced MEAN options for losses. Removed 9196*b6fb3261SAndroid Build Coastguard Worker "WEIGHTED_" prefix from other Reduction constants. 9197*b6fb3261SAndroid Build Coastguard Worker* assertAllClose now handles dicts. 9198*b6fb3261SAndroid Build Coastguard Worker* Added Gmock matcher for HloInstructions. 9199*b6fb3261SAndroid Build Coastguard Worker* Add var name to errors on variable restore. 9200*b6fb3261SAndroid Build Coastguard Worker* Added an AudioSpectrogram op for audio feature generation. 9201*b6fb3261SAndroid Build Coastguard Worker* Added `reduction` arg to losses. 9202*b6fb3261SAndroid Build Coastguard Worker* `tf.placeholder` can represent scalar shapes and partially known. 9203*b6fb3261SAndroid Build Coastguard Worker* Remove estimator_spec(mode) argument. 9204*b6fb3261SAndroid Build Coastguard Worker* Added an AudioSpectrogram op for audio feature generation. 9205*b6fb3261SAndroid Build Coastguard Worker* TensorBoard disables all runs by default if there are more than 40 runs. 9206*b6fb3261SAndroid Build Coastguard Worker* Removed old doc generator code. 9207*b6fb3261SAndroid Build Coastguard Worker* GCS file system integration now supports domain buckets, e.g 9208*b6fb3261SAndroid Build Coastguard Worker gs://bucket.domain.com/path. 9209*b6fb3261SAndroid Build Coastguard Worker* Add `tf.summary.text` for outputting text to TensorBoard. 9210*b6fb3261SAndroid Build Coastguard Worker* The "run" command of tfdbg's command-line interface now supports filtering 9211*b6fb3261SAndroid Build Coastguard Worker of tensors by node name, op type and tensor dtype. 9212*b6fb3261SAndroid Build Coastguard Worker* `tf.string_to_number` now supports int64 and float64 outputs. 9213*b6fb3261SAndroid Build Coastguard Worker 9214*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors 9215*b6fb3261SAndroid Build Coastguard Worker 9216*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as: 9217*b6fb3261SAndroid Build Coastguard Worker 9218*b6fb3261SAndroid Build Coastguard Worker4F2E4A2E, Aaron Schumacher, Abhi Agg, admcrae, Adriano Carmezim, Adrià Arrufat, 9219*b6fb3261SAndroid Build Coastguard Workeragramesh1, Akimitsu Seo, Alan Mosca, Alex Egg, Alex Rothberg, Alexander 9220*b6fb3261SAndroid Build Coastguard WorkerHeinecke, Alexander Matyasko, Alexandr Baranezky, Alexandre Caulier, Ali 9221*b6fb3261SAndroid Build Coastguard WorkerSiddiqui, Anand Venkat, Andrew Hundt, Androbin, Anmol Sharma, Arie, Arno Leist, 9222*b6fb3261SAndroid Build Coastguard WorkerArron Cao, AuréLien Geron, Bairen Yi, Beomsu Kim, Carl Thomé, cfperez, Changming 9223*b6fb3261SAndroid Build Coastguard WorkerSun, Corey Wharton, critiqjo, Dalei Li, Daniel Rasmussen, Daniel Trebbien, DaríO 9224*b6fb3261SAndroid Build Coastguard WorkerHereñú, David Eng, David Norman, David Y. Zhang, Davy Song, ddurham2, Deepak 9225*b6fb3261SAndroid Build Coastguard WorkerSubburam, Dmytro Kyrychuk, Dominic Rossi, Dominik SchlöSser, Dustin Tran, 9226*b6fb3261SAndroid Build Coastguard WorkerEduardo Pinho, Egil Martinsson, Elliot Saba, Eric Bigelow, Erik Smistad, Evan 9227*b6fb3261SAndroid Build Coastguard WorkerKlitzke, Fabrizio Milo, Falcon Dai, Fei Gao, FloopCZ, Fung Lam, Gautam, 9228*b6fb3261SAndroid Build Coastguard WorkerGBLin5566, Greg Peatfield, Gu Wang, Guenther Schmuelling, Hans Pabst, Harun 9229*b6fb3261SAndroid Build Coastguard WorkerGunaydin, Huaizheng, Ido Shamay, Ikaro Silva, Ilya Edrenkin, Immexxx, James 9230*b6fb3261SAndroid Build Coastguard WorkerMishra, Jamie Cooke, Jay Young, Jayaram Bobba, Jianfei Wang, jinghua2, Joey 9231*b6fb3261SAndroid Build Coastguard WorkerMeyer, John Maidens, Jonghoon Jin, Julian Villella, Jun Kim, Jun Shi, Junwei 9232*b6fb3261SAndroid Build Coastguard WorkerPan, jyegerlehner, Karan Desai, Karel Van De Plassche, Kb Sriram, 9233*b6fb3261SAndroid Build Coastguard WorkerKhabarlakKonstantin, Koan-Sin Tan, krivard, Kwotsin, Leandro Gracia Gil, Li 9234*b6fb3261SAndroid Build Coastguard WorkerChen, Liangliang He, Louie Helm, lspvic, Luiz Henrique Soares, LáSzló Csomor, 9235*b6fb3261SAndroid Build Coastguard WorkerMark Wong, Mathew Wicks, Matthew Rahtz, Maxwell Paul Brickner, Michael Hofmann, 9236*b6fb3261SAndroid Build Coastguard WorkerMiguel Flores Ruiz De Eguino, MikeTam1021, Mortada Mehyar, Mycosynth, Namnamseo, 9237*b6fb3261SAndroid Build Coastguard WorkerNate Harada, Neven Miculinic, Nghia Tran, Nick Lyu, Niranjan Hasabnis, Nishidha, 9238*b6fb3261SAndroid Build Coastguard WorkerOleksii Kuchaiev, Oyesh Mann Singh, Panmari, Patrick, Paul Van Eck, Piyush 9239*b6fb3261SAndroid Build Coastguard WorkerChaudhary, Quim Llimona, Raingo, Richard Davies, Ruben Vereecken, Sahit 9240*b6fb3261SAndroid Build Coastguard WorkerChintalapudi, Sam Abrahams, Santiago Castro, Scott Sievert, Sean O'Keefe, 9241*b6fb3261SAndroid Build Coastguard WorkerSebastian Schlecht, Shane, Shubhankar Deshpande, Spencer Schaber, Sunyeop Lee, 9242*b6fb3261SAndroid Build Coastguard Workert13m, td2014, Thomas H. P. Andersen, Toby Petty, Umang Mehta, Vadim Markovtsev, 9243*b6fb3261SAndroid Build Coastguard WorkerValentin Iovene, Vincent Zhao, Vit Stepanovs, Vivek Rane, Vu Pham, 9244*b6fb3261SAndroid Build Coastguard Workerwannabesrevenge, weipingpku, wuhaixutab, wydwww, Xiang Gao, Xiaolin Lin, 9245*b6fb3261SAndroid Build Coastguard Workerxiaoyaozhuzi, Yaroslav Bulatov, Yi Liu, Yoshihiro Sugi, Yuan (Terry) Tang, 9246*b6fb3261SAndroid Build Coastguard WorkerYuming Wang, Yuxin Wu, Zader Zheng, Zhaojun Zhang, zhengjiajin, ZhipengShen, 9247*b6fb3261SAndroid Build Coastguard WorkerZiming Dong, zjj2wry 9248*b6fb3261SAndroid Build Coastguard Worker 9249*b6fb3261SAndroid Build Coastguard WorkerWe are also grateful to all who filed issues or helped resolve them, asked and 9250*b6fb3261SAndroid Build Coastguard Workeranswered questions, and were part of inspiring discussions. 9251*b6fb3261SAndroid Build Coastguard Worker 9252*b6fb3261SAndroid Build Coastguard Worker# Release 1.1.0 9253*b6fb3261SAndroid Build Coastguard Worker 9254*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements 9255*b6fb3261SAndroid Build Coastguard Worker 9256*b6fb3261SAndroid Build Coastguard Worker* Added Java API support for Windows. 9257*b6fb3261SAndroid Build Coastguard Worker* Added `tf.spectral` module. Moved existing FFT ops to `tf.spectral` while 9258*b6fb3261SAndroid Build Coastguard Worker keeping an alias in the old location (`tf.*`). 9259*b6fb3261SAndroid Build Coastguard Worker* Added 1D, 2D and 3D Fourier transform ops for real signals to `tf.spectral`. 9260*b6fb3261SAndroid Build Coastguard Worker* Added a `tf.bincount` function. 9261*b6fb3261SAndroid Build Coastguard Worker* Added Keras 2 API to contrib. 9262*b6fb3261SAndroid Build Coastguard Worker* Added a new lightweight queue-like object - `RecordInput`. 9263*b6fb3261SAndroid Build Coastguard Worker* Added `tf.contrib.image.compose_transforms` function. 9264*b6fb3261SAndroid Build Coastguard Worker* Bring `tf.estimator.*` into the API. Non-deprecated functionality from 9265*b6fb3261SAndroid Build Coastguard Worker `tf.contrib.learn.Estimator` is moved to `tf.estimator.Estimator` with 9266*b6fb3261SAndroid Build Coastguard Worker cosmetic changes. 9267*b6fb3261SAndroid Build Coastguard Worker* Docker images: TF images on gcr.io and Docker Hub are upgraded to 9268*b6fb3261SAndroid Build Coastguard Worker ubuntu:16.04. 9269*b6fb3261SAndroid Build Coastguard Worker* Added the following features to TensorFlow Debugger (tfdbg): 9270*b6fb3261SAndroid Build Coastguard Worker * Ability to inspect Python source file against TF ops and tensors 9271*b6fb3261SAndroid Build Coastguard Worker (command `print_source` / `ps`) 9272*b6fb3261SAndroid Build Coastguard Worker * New navigation bar in Curses-based UI 9273*b6fb3261SAndroid Build Coastguard Worker * NodeStepper (command `invoke_stepper`) now uses intermediate tensor 9274*b6fb3261SAndroid Build Coastguard Worker dumps. It also uses `TensorHandles` as direct feeds during successive 9275*b6fb3261SAndroid Build Coastguard Worker `cont` calls for improved performance and reduced memory consumption. 9276*b6fb3261SAndroid Build Coastguard Worker* Initial release of installation guides for Java, C, and Go. 9277*b6fb3261SAndroid Build Coastguard Worker* Added Text Dashboard to TensorBoard. 9278*b6fb3261SAndroid Build Coastguard Worker 9279*b6fb3261SAndroid Build Coastguard Worker## Deprecations 9280*b6fb3261SAndroid Build Coastguard Worker 9281*b6fb3261SAndroid Build Coastguard Worker* TensorFlow 1.1.0 will be the last time we release a binary with Mac GPU 9282*b6fb3261SAndroid Build Coastguard Worker support. Going forward, we will stop testing on Mac GPU systems. We continue 9283*b6fb3261SAndroid Build Coastguard Worker to welcome patches that maintain Mac GPU support, and we will try to keep 9284*b6fb3261SAndroid Build Coastguard Worker the Mac GPU build working. 9285*b6fb3261SAndroid Build Coastguard Worker 9286*b6fb3261SAndroid Build Coastguard Worker## Changes to contrib APIs 9287*b6fb3261SAndroid Build Coastguard Worker 9288*b6fb3261SAndroid Build Coastguard Worker* The behavior of RNNCells is now stricter due to the transition towards 9289*b6fb3261SAndroid Build Coastguard Worker making RNNCells act more like Keras layers. 9290*b6fb3261SAndroid Build Coastguard Worker * If an RNNCell is used twice in two different variable scopes, an error 9291*b6fb3261SAndroid Build Coastguard Worker is raised describing how to avoid this behavior. 9292*b6fb3261SAndroid Build Coastguard Worker * If an RNNCell is used in a variable scope with existing conflicting 9293*b6fb3261SAndroid Build Coastguard Worker variables, an error is raised showing that the RNNCell must be 9294*b6fb3261SAndroid Build Coastguard Worker constructed with argument `reuse=True`. 9295*b6fb3261SAndroid Build Coastguard Worker* Deprecated contrib/distributions `pmf`, `pdf`, `log_pmf`, `log_pdf`. 9296*b6fb3261SAndroid Build Coastguard Worker* Moved `bayesflow.special_math` to distributions. 9297*b6fb3261SAndroid Build Coastguard Worker* `tf.contrib.tensor_forest.python.tensor_forest.RandomForestDeviceAssigner` 9298*b6fb3261SAndroid Build Coastguard Worker removed. 9299*b6fb3261SAndroid Build Coastguard Worker* Changed some MVN classes and parameters: 9300*b6fb3261SAndroid Build Coastguard Worker * `tf.contrib.distributions.MultivariateNormalFull` replaced by 9301*b6fb3261SAndroid Build Coastguard Worker `tf.contrib.distributions.MultivariateNormalTriL`. 9302*b6fb3261SAndroid Build Coastguard Worker * `tf.contrib.distributions.MultivariateNormalCholesky` replaced by 9303*b6fb3261SAndroid Build Coastguard Worker `tf.contrib.distributions.MultivariateNormalTriL` 9304*b6fb3261SAndroid Build Coastguard Worker * `tf.contrib.distributions.MultivariateNormalDiagWithSoftplusStDev` 9305*b6fb3261SAndroid Build Coastguard Worker replaced by 9306*b6fb3261SAndroid Build Coastguard Worker `tf.contrib.distributions.MultivariateNormalDiagWithSoftplusScale` 9307*b6fb3261SAndroid Build Coastguard Worker * `tf.contrib.distributions.MultivariateNormalDiag` arguments changed from 9308*b6fb3261SAndroid Build Coastguard Worker `mu`, `diag_stddev` to `log`, `scale_diag`. 9309*b6fb3261SAndroid Build Coastguard Worker * `tf.contrib.distributions.MultivariateNormalDiagPlusVDVT` removed. 9310*b6fb3261SAndroid Build Coastguard Worker * `tf.contrib.distributions.MultivariateNormalDiagPlusLowRank` added. 9311*b6fb3261SAndroid Build Coastguard Worker 9312*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 9313*b6fb3261SAndroid Build Coastguard Worker 9314*b6fb3261SAndroid Build Coastguard Worker* Java: Support for loading models exported using the SavedModel API (courtesy 9315*b6fb3261SAndroid Build Coastguard Worker @EronWright). 9316*b6fb3261SAndroid Build Coastguard Worker* Go: Added support for incremental graph execution. 9317*b6fb3261SAndroid Build Coastguard Worker* Fix a bug in the WALS solver when single-threaded. 9318*b6fb3261SAndroid Build Coastguard Worker* Added support for integer sparse feature values in 9319*b6fb3261SAndroid Build Coastguard Worker `tf.contrib.layers.sparse_column_with_keys`. 9320*b6fb3261SAndroid Build Coastguard Worker* Fixed `tf.set_random_seed(0)` to be deterministic for all ops. 9321*b6fb3261SAndroid Build Coastguard Worker* Stability improvements for the GCS file system support. 9322*b6fb3261SAndroid Build Coastguard Worker* Improved TensorForest performance. 9323*b6fb3261SAndroid Build Coastguard Worker* Added support for multiple filename globs in `tf.matching_files`. 9324*b6fb3261SAndroid Build Coastguard Worker* `LogMessage` now includes a timestamp as beginning of a message. 9325*b6fb3261SAndroid Build Coastguard Worker* Added MultiBox person detector example standalone binary. 9326*b6fb3261SAndroid Build Coastguard Worker* Android demo: Makefile build functionality added to build.gradle to fully 9327*b6fb3261SAndroid Build Coastguard Worker support building TensorFlow demo in Android on Windows. 9328*b6fb3261SAndroid Build Coastguard Worker* Android demo: read MultiBox priors from txt file rather than protobuf. 9329*b6fb3261SAndroid Build Coastguard Worker* Added colocation constraints to `StagingArea`. 9330*b6fb3261SAndroid Build Coastguard Worker* `sparse_matmul_op` reenabled for Android builds. 9331*b6fb3261SAndroid Build Coastguard Worker* Restrict weights rank to be the same as the broadcast target, to avoid 9332*b6fb3261SAndroid Build Coastguard Worker ambiguity on broadcast rules. 9333*b6fb3261SAndroid Build Coastguard Worker* Upgraded libxsmm to 1.7.1 and applied other changes for performance and 9334*b6fb3261SAndroid Build Coastguard Worker memory usage. 9335*b6fb3261SAndroid Build Coastguard Worker* Fixed bfloat16 integration of LIBXSMM sparse mat-mul. 9336*b6fb3261SAndroid Build Coastguard Worker* Improved performance and reduce memory usage by allowing ops to forward 9337*b6fb3261SAndroid Build Coastguard Worker input buffers to output buffers and perform computations in-place. 9338*b6fb3261SAndroid Build Coastguard Worker* Improved the performance of CPU assignment for strings. 9339*b6fb3261SAndroid Build Coastguard Worker* Speed up matrix * vector multiplication and matrix * matrix with unknown 9340*b6fb3261SAndroid Build Coastguard Worker shapes. 9341*b6fb3261SAndroid Build Coastguard Worker* C API: Graph imports now support input remapping, control dependencies, and 9342*b6fb3261SAndroid Build Coastguard Worker returning imported nodes (see `TF_GraphImportGraphDefWithReturnOutputs()`) 9343*b6fb3261SAndroid Build Coastguard Worker* Multiple C++ API updates. 9344*b6fb3261SAndroid Build Coastguard Worker* Multiple TensorBoard updates including: 9345*b6fb3261SAndroid Build Coastguard Worker * Users can now view image summaries at various sampled steps (instead of 9346*b6fb3261SAndroid Build Coastguard Worker just the last step). 9347*b6fb3261SAndroid Build Coastguard Worker * Bugs involving switching runs as well as the image dashboard are fixed. 9348*b6fb3261SAndroid Build Coastguard Worker * Removed data download links from TensorBoard. 9349*b6fb3261SAndroid Build Coastguard Worker * TensorBoard uses a relative data directory, for easier embedding. 9350*b6fb3261SAndroid Build Coastguard Worker * TensorBoard automatically ignores outliers for domain calculation, and 9351*b6fb3261SAndroid Build Coastguard Worker formats proportional values consistently. 9352*b6fb3261SAndroid Build Coastguard Worker* Multiple tfdbg bug fixes: 9353*b6fb3261SAndroid Build Coastguard Worker * Fixed Windows compatibility issues. 9354*b6fb3261SAndroid Build Coastguard Worker * Command history now persists across runs. 9355*b6fb3261SAndroid Build Coastguard Worker * Bug fix in graph validation related to `tf.while_loops`. 9356*b6fb3261SAndroid Build Coastguard Worker* Java Maven fixes for bugs with Windows installation. 9357*b6fb3261SAndroid Build Coastguard Worker* Backport fixes and improvements from external keras. 9358*b6fb3261SAndroid Build Coastguard Worker* Keras config file handling fix. 9359*b6fb3261SAndroid Build Coastguard Worker 9360*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors 9361*b6fb3261SAndroid Build Coastguard Worker 9362*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as: 9363*b6fb3261SAndroid Build Coastguard Worker 9364*b6fb3261SAndroid Build Coastguard WorkerA. Besir Kurtulmus, Adal Chiriliuc, @akash, Alec-Desouza, Alex Rothberg, Alex 9365*b6fb3261SAndroid Build Coastguard WorkerSergeev, Alexander Heinecke, Allen Guo, Andreas Madsen, Ankesh Anand, Anton 9366*b6fb3261SAndroid Build Coastguard WorkerLoss, @Aravind, @Arie, Ashutosh Das, AuréLien Geron, Bairen Yi, @bakunyo, Ben 9367*b6fb3261SAndroid Build Coastguard WorkerVisser, Brady Zhou, Calpa Liu, Changming Sun, Chih Cheng Liang, Christopher 9368*b6fb3261SAndroid Build Coastguard WorkerBerner, Clark Zinzow, @Conchylicultor, Dan Ellis, Dan J, Dan Jarvis, Daniel 9369*b6fb3261SAndroid Build Coastguard WorkerYlitalo, Darren Garvey, David Norman, David Truong, @DavidNorman, Dimitar 9370*b6fb3261SAndroid Build Coastguard WorkerPavlov, Dmitry Persiyanov, @Eddie, @elirex, Erfan Noury, Eron Wright, Evgeny 9371*b6fb3261SAndroid Build Coastguard WorkerMazovetskiy, Fabrizio (Misto) Milo, @fanlu, Fisher Coder, Florian Courtial, 9372*b6fb3261SAndroid Build Coastguard WorkerFranck Dernoncourt, Gagan Goel, Gao, Xiang, @Gautam, Gefu Tang, @guilherme, 9373*b6fb3261SAndroid Build Coastguard Worker@guschmue, Hannah Provenza, Hans Pabst, @hartb, Hsiao Yi, Huazuo Gao, Igor 9374*b6fb3261SAndroid Build Coastguard WorkerChorążEwicz, Ivan Smirnov, Jakub Kolodziejczyk, Jason Gavris, Jason Morton, Jay 9375*b6fb3261SAndroid Build Coastguard WorkerYoung, Jayaram Bobba, Jeremy Sawruk, Jiaming Liu, Jihun Choi, @jiqiu, Joan 9376*b6fb3261SAndroid Build Coastguard WorkerThibault, John C F, Jojy George Varghese, Jon Malmaud, Julian Berman, Julian 9377*b6fb3261SAndroid Build Coastguard WorkerNiedermeier, Junpeng Lao, Kai Sasaki, @Kankroc, Karl Lessard, Kyle Bostelmann, 9378*b6fb3261SAndroid Build Coastguard Worker@Lezcano, Li Yi, Luo Yun, @lurker, Mahmoud-Abuzaina, Mandeep Singh, Marek 9379*b6fb3261SAndroid Build Coastguard WorkerKolodziej, Mark Szepieniec, Martial Hue, Medhat Omr, Memo Akten, Michael Gharbi, 9380*b6fb3261SAndroid Build Coastguard WorkerMichaëL Defferrard, Milan Straka, @MircoT, @mlucool, Muammar Ibn Faisal, Nayana 9381*b6fb3261SAndroid Build Coastguard WorkerThorat, @nghiattran, Nicholas Connor, Nikolaas Steenbergen, Niraj Patel, 9382*b6fb3261SAndroid Build Coastguard WorkerNiranjan Hasabnis, @Panmari, Pavel Bulanov, Philip Pries Henningsen, Philipp 9383*b6fb3261SAndroid Build Coastguard WorkerJund, @polonez, Prayag Verma, Rahul Kavi, Raphael Gontijo Lopes, @rasbt, Raven 9384*b6fb3261SAndroid Build Coastguard WorkerIqqe, Reid Pryzant, Richard Shin, Rizwan Asif, Russell Kaplan, Ryo Asakura, 9385*b6fb3261SAndroid Build Coastguard WorkerRüDiger Busche, Saisai Shao, Sam Abrahams, @sanosay, Sean Papay, @seaotterman, 9386*b6fb3261SAndroid Build Coastguard Worker@selay01, Shaurya Sharma, Sriram Narayanamoorthy, Stefano Probst, @taknevski, 9387*b6fb3261SAndroid Build Coastguard Worker@tbonza, @teldridge11, Tim Anglade, Tomas Reimers, Tomer Gafner, Valentin 9388*b6fb3261SAndroid Build Coastguard WorkerIovene, Vamsi Sripathi, Viktor Malyi, Vit Stepanovs, Vivek Rane, Vlad Firoiu, 9389*b6fb3261SAndroid Build Coastguard Worker@wangg12, @will, Xiaoyu Tao, Yaroslav Bulatov, Yi Liu, Yuan (Terry) Tang, 9390*b6fb3261SAndroid Build Coastguard Worker@Yufeng, Yuming Wang, Yuxin Wu, Zafar Takhirov, Ziming Dong 9391*b6fb3261SAndroid Build Coastguard Worker 9392*b6fb3261SAndroid Build Coastguard WorkerWe are also grateful to all who filed issues or helped resolve them, asked and 9393*b6fb3261SAndroid Build Coastguard Workeranswered questions, and were part of inspiring discussions. 9394*b6fb3261SAndroid Build Coastguard Worker 9395*b6fb3261SAndroid Build Coastguard Worker# Release 1.0.1 9396*b6fb3261SAndroid Build Coastguard Worker 9397*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 9398*b6fb3261SAndroid Build Coastguard Worker 9399*b6fb3261SAndroid Build Coastguard Worker* Change GraphConstructor to not increase the version when importing, but 9400*b6fb3261SAndroid Build Coastguard Worker instead take the min of all versions. 9401*b6fb3261SAndroid Build Coastguard Worker* Google Cloud Storage fixes. 9402*b6fb3261SAndroid Build Coastguard Worker* Removed `tf.core` and `tf.python` modules from the API. These were never 9403*b6fb3261SAndroid Build Coastguard Worker intended to be exposed. Please use the same objects through top-level `tf` 9404*b6fb3261SAndroid Build Coastguard Worker module instead. 9405*b6fb3261SAndroid Build Coastguard Worker 9406*b6fb3261SAndroid Build Coastguard Worker# Release 1.0.0 9407*b6fb3261SAndroid Build Coastguard Worker 9408*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements 9409*b6fb3261SAndroid Build Coastguard Worker 9410*b6fb3261SAndroid Build Coastguard Worker* XLA (experimental): initial release of 9411*b6fb3261SAndroid Build Coastguard Worker [XLA](https://www.tensorflow.org/versions/master/experimental/xla/), a 9412*b6fb3261SAndroid Build Coastguard Worker domain-specific compiler for TensorFlow graphs, that targets CPUs and GPUs. 9413*b6fb3261SAndroid Build Coastguard Worker* TensorFlow Debugger (tfdbg): command-line interface and API. 9414*b6fb3261SAndroid Build Coastguard Worker* New python 3 docker images added. 9415*b6fb3261SAndroid Build Coastguard Worker* Made pip packages pypi compliant. TensorFlow can now be installed by `pip 9416*b6fb3261SAndroid Build Coastguard Worker install tensorflow` command. 9417*b6fb3261SAndroid Build Coastguard Worker* Several python API calls have been changed to resemble NumPy more closely. 9418*b6fb3261SAndroid Build Coastguard Worker* Android: person detection + tracking demo implementing Scalable Object 9419*b6fb3261SAndroid Build Coastguard Worker Detection using Deep Neural Networks. 9420*b6fb3261SAndroid Build Coastguard Worker* New (experimental) 9421*b6fb3261SAndroid Build Coastguard Worker [Java API](https://github.com/tensorflow/tensorflow/tree/master/tensorflow/java). 9422*b6fb3261SAndroid Build Coastguard Worker* Add new Android image stylization demo based on "A Learned Representation 9423*b6fb3261SAndroid Build Coastguard Worker For Artistic Style", and add YOLO object detector support. 9424*b6fb3261SAndroid Build Coastguard Worker 9425*b6fb3261SAndroid Build Coastguard Worker## Breaking Changes to the API 9426*b6fb3261SAndroid Build Coastguard Worker 9427*b6fb3261SAndroid Build Coastguard WorkerTo help you upgrade your existing TensorFlow Python code to match the API 9428*b6fb3261SAndroid Build Coastguard Workerchanges below, we have prepared a 9429*b6fb3261SAndroid Build Coastguard Worker[conversion script](https://github.com/tensorflow/tensorflow/tree/master/tensorflow/tools/compatibility). 9430*b6fb3261SAndroid Build Coastguard Worker* TensorFlow/models have been moved to a separate github repository. * Division 9431*b6fb3261SAndroid Build Coastguard Workerand modulus operators (/, //, %) now match Python (flooring) semantics. This 9432*b6fb3261SAndroid Build Coastguard Workerapplies to `tf.div` and `tf.mod` as well. To obtain forced integer truncation 9433*b6fb3261SAndroid Build Coastguard Workerbased behaviors you can use `tf.truncatediv` and `tf.truncatemod`. * 9434*b6fb3261SAndroid Build Coastguard Worker`tf.divide()` is now the recommended division function. `tf.div()` will remain, 9435*b6fb3261SAndroid Build Coastguard Workerbut its semantics do not respond to Python 3 or `from future` mechanisms. * 9436*b6fb3261SAndroid Build Coastguard Workertf.reverse() now takes indices of axes to be reversed. E.g. `tf.reverse(a, 9437*b6fb3261SAndroid Build Coastguard Worker[True, False, True])` must now be written as `tf.reverse(a, [0, 2])`. 9438*b6fb3261SAndroid Build Coastguard Worker`tf.reverse_v2()` will remain until 1.0 final. * `tf.mul`, `tf.sub` and `tf.neg` 9439*b6fb3261SAndroid Build Coastguard Workerare deprecated in favor of `tf.multiply`, `tf.subtract` and `tf.negative`. * 9440*b6fb3261SAndroid Build Coastguard Worker`tf.pack` and `tf.unpack` are deprecated in favor of `tf.stack` and 9441*b6fb3261SAndroid Build Coastguard Worker`tf.unstack`. * `TensorArray.pack` and `TensorArray.unpack` are getting 9442*b6fb3261SAndroid Build Coastguard Workerdeprecated in favor of `TensorArray.stack` and `TensorArray.unstack`. * The 9443*b6fb3261SAndroid Build Coastguard Workerfollowing Python functions have had their arguments changed to use `axis` when 9444*b6fb3261SAndroid Build Coastguard Workerreferring to specific dimensions. We have kept the old keyword arguments for 9445*b6fb3261SAndroid Build Coastguard Workercompatibility currently, but we will be removing them well before the final 1.0. 9446*b6fb3261SAndroid Build Coastguard Worker* `tf.argmax`: `dimension` becomes `axis` * `tf.argmin`: `dimension` becomes 9447*b6fb3261SAndroid Build Coastguard Worker`axis` * `tf.count_nonzero`: `reduction_indices` becomes `axis` * 9448*b6fb3261SAndroid Build Coastguard Worker`tf.expand_dims`: `dim` becomes `axis` * `tf.reduce_all`: `reduction_indices` 9449*b6fb3261SAndroid Build Coastguard Workerbecomes `axis` * `tf.reduce_any`: `reduction_indices` becomes `axis` * 9450*b6fb3261SAndroid Build Coastguard Worker`tf.reduce_join`: `reduction_indices` becomes `axis` * `tf.reduce_logsumexp`: 9451*b6fb3261SAndroid Build Coastguard Worker`reduction_indices` becomes `axis` * `tf.reduce_max`: `reduction_indices` 9452*b6fb3261SAndroid Build Coastguard Workerbecomes `axis` * `tf.reduce_mean`: `reduction_indices` becomes `axis` * 9453*b6fb3261SAndroid Build Coastguard Worker`tf.reduce_min`: `reduction_indices` becomes `axis` * `tf.reduce_prod`: 9454*b6fb3261SAndroid Build Coastguard Worker`reduction_indices` becomes `axis` * `tf.reduce_sum`: `reduction_indices` 9455*b6fb3261SAndroid Build Coastguard Workerbecomes `axis` * `tf.reverse_sequence`: `batch_dim` becomes `batch_axis`, 9456*b6fb3261SAndroid Build Coastguard Worker`seq_dim` becomes `seq_axis` * `tf.sparse_concat`: `concat_dim` becomes `axis` * 9457*b6fb3261SAndroid Build Coastguard Worker`tf.sparse_reduce_sum`: `reduction_axes` becomes `axis` * 9458*b6fb3261SAndroid Build Coastguard Worker`tf.sparse_reduce_sum_sparse`: `reduction_axes` becomes `axis` * 9459*b6fb3261SAndroid Build Coastguard Worker`tf.sparse_split`: `split_dim` becomes `axis` * `tf.listdiff` has been renamed 9460*b6fb3261SAndroid Build Coastguard Workerto `tf.setdiff1d` to match NumPy naming. * `tf.inv` has been renamed to be 9461*b6fb3261SAndroid Build Coastguard Worker`tf.reciprocal` (component-wise reciprocal) to avoid confusion with `np.inv` 9462*b6fb3261SAndroid Build Coastguard Workerwhich is matrix inversion * tf.round now uses banker's rounding (round to even) 9463*b6fb3261SAndroid Build Coastguard Workersemantics to match NumPy. * `tf.split` now takes arguments in a reversed order 9464*b6fb3261SAndroid Build Coastguard Workerand with different keywords. In particular, we now match NumPy order as 9465*b6fb3261SAndroid Build Coastguard Worker`tf.split(value, num_or_size_splits, axis)`. * `tf.sparse_split` now takes 9466*b6fb3261SAndroid Build Coastguard Workerarguments in reversed order and with different keywords. In particular we now 9467*b6fb3261SAndroid Build Coastguard Workermatch NumPy order as `tf.sparse_split(sp_input, num_split, axis)`. NOTE: we have 9468*b6fb3261SAndroid Build Coastguard Workertemporarily made `tf.sparse_split` require keyword arguments. * `tf.concat` now 9469*b6fb3261SAndroid Build Coastguard Workertakes arguments in reversed order and with different keywords. In particular we 9470*b6fb3261SAndroid Build Coastguard Workernow match NumPy order as `tf.concat(values, axis, name)`. * 9471*b6fb3261SAndroid Build Coastguard Worker`tf.image.decode_jpeg` by default uses the faster DCT method, sacrificing a 9472*b6fb3261SAndroid Build Coastguard Workerlittle fidelity for improved speed. One can revert to the old behavior by 9473*b6fb3261SAndroid Build Coastguard Workerspecifying the attribute `dct_method='INTEGER_ACCURATE'`. * `tf.complex_abs` has 9474*b6fb3261SAndroid Build Coastguard Workerbeen removed from the Python interface. `tf.abs` supports complex tensors and 9475*b6fb3261SAndroid Build Coastguard Workershould be used instead. * In the C++ API (in tensorflow/cc), Input, Output, etc. 9476*b6fb3261SAndroid Build Coastguard Workerhave moved from the tensorflow::ops namespace to tensorflow. * 9477*b6fb3261SAndroid Build Coastguard WorkerTemplate.`var_scope` property renamed to `.variable_scope` * 9478*b6fb3261SAndroid Build Coastguard WorkerSyncReplicasOptimizer is removed and SyncReplicasOptimizerV2 renamed to 9479*b6fb3261SAndroid Build Coastguard WorkerSyncReplicasOptimizer. * `tf.zeros_initializer()` and `tf.ones_initializer()` 9480*b6fb3261SAndroid Build Coastguard Workernow return a callable that must be called with initializer arguments, in your 9481*b6fb3261SAndroid Build Coastguard Workercode replace `tf.zeros_initializer` with `tf.zeros_initializer()`. * 9482*b6fb3261SAndroid Build Coastguard Worker`SparseTensor.shape` has been renamed to `SparseTensor.dense_shape`. Same for 9483*b6fb3261SAndroid Build Coastguard Worker`SparseTensorValue.shape`. * Replace tf.scalar_summary, tf.histogram_summary, 9484*b6fb3261SAndroid Build Coastguard Workertf.audio_summary, tf.image_summary with tf.summary.scalar, tf.summary.histogram, 9485*b6fb3261SAndroid Build Coastguard Workertf.summary.audio, tf.summary.image, respectively. The new summary ops take name 9486*b6fb3261SAndroid Build Coastguard Workerrather than tag as their first argument, meaning summary ops now respect 9487*b6fb3261SAndroid Build Coastguard WorkerTensorFlow name scopes. * Replace tf.train.SummaryWriter and 9488*b6fb3261SAndroid Build Coastguard Workertf.train.SummaryWriterCache with tf.summary.FileWriter and 9489*b6fb3261SAndroid Build Coastguard Workertf.summary.FileWriterCache. * Removes RegisterShape from public API. Use C++ 9490*b6fb3261SAndroid Build Coastguard Workershape function registration instead. * Deprecated `_ref` dtypes from the python 9491*b6fb3261SAndroid Build Coastguard WorkerAPI. * In the C++ API (in tensorflow/cc), Input, Output, etc. have moved from 9492*b6fb3261SAndroid Build Coastguard Workerthe tensorflow::ops namespace to tensorflow. * Change arg order for 9493*b6fb3261SAndroid Build Coastguard Worker`{softmax,sparse_softmax,sigmoid}_cross_entropy_with_logits` to be (labels, 9494*b6fb3261SAndroid Build Coastguard Workerpredictions), and force use of named args. * tf.nn.rnn_cell.* and most functions 9495*b6fb3261SAndroid Build Coastguard Workerin tf.nn.rnn.* (with the exception of dynamic_rnn and raw_rnn) are temporarily 9496*b6fb3261SAndroid Build Coastguard Workerin tf.contrib.rnn. They will be moved back into core for TF 1.2. * 9497*b6fb3261SAndroid Build Coastguard Worker`tf.nn.sampled_softmax_loss` and `tf.nn.nce_loss` have both changed their API 9498*b6fb3261SAndroid Build Coastguard Workersuch that you need to switch the `inputs, labels` to `labels, inputs` 9499*b6fb3261SAndroid Build Coastguard Workerparameters. * The shape keyword argument of the `SparseTensor` constructor 9500*b6fb3261SAndroid Build Coastguard Workerchanges its name to `dense_shape` between Tensorflow 0.12 and Tensorflow 1.0. 9501*b6fb3261SAndroid Build Coastguard Worker 9502*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 9503*b6fb3261SAndroid Build Coastguard Worker 9504*b6fb3261SAndroid Build Coastguard Worker* Numerous C++ API updates. 9505*b6fb3261SAndroid Build Coastguard Worker* New op: `parallel_stack`. 9506*b6fb3261SAndroid Build Coastguard Worker* Introducing common tf io compression options constants for 9507*b6fb3261SAndroid Build Coastguard Worker RecordReader/RecordWriter. 9508*b6fb3261SAndroid Build Coastguard Worker* Add `sparse_column_with_vocabulary_file`, to specify a feature column that 9509*b6fb3261SAndroid Build Coastguard Worker transform string features to IDs, where the mapping is defined by a 9510*b6fb3261SAndroid Build Coastguard Worker vocabulary file. 9511*b6fb3261SAndroid Build Coastguard Worker* Added `index_to_string_table` which returns a lookup table that maps indices 9512*b6fb3261SAndroid Build Coastguard Worker to strings. 9513*b6fb3261SAndroid Build Coastguard Worker* Add `string_to_index_table`, which returns a lookup table that matches 9514*b6fb3261SAndroid Build Coastguard Worker strings to indices. 9515*b6fb3261SAndroid Build Coastguard Worker* Add a `ParallelForWithWorkerId` function. 9516*b6fb3261SAndroid Build Coastguard Worker* Add `string_to_index_table`, which returns a lookup table that matches 9517*b6fb3261SAndroid Build Coastguard Worker strings to indices. 9518*b6fb3261SAndroid Build Coastguard Worker* Support restore session from checkpoint files in v2 in 9519*b6fb3261SAndroid Build Coastguard Worker `contrib/session_bundle`. 9520*b6fb3261SAndroid Build Coastguard Worker* Added a tf.contrib.image.rotate function for arbitrary angles. 9521*b6fb3261SAndroid Build Coastguard Worker* Added `tf.contrib.framework.filter_variables` as a convenience function to 9522*b6fb3261SAndroid Build Coastguard Worker filter lists of variables based on regular expressions. 9523*b6fb3261SAndroid Build Coastguard Worker* `make_template()` takes an optional `custom_getter_ param`. 9524*b6fb3261SAndroid Build Coastguard Worker* Added comment about how existing directories are handled by 9525*b6fb3261SAndroid Build Coastguard Worker `recursive_create_dir`. 9526*b6fb3261SAndroid Build Coastguard Worker* Added an op for QR factorizations. 9527*b6fb3261SAndroid Build Coastguard Worker* Divides and mods in Python API now use flooring (Python) semantics. 9528*b6fb3261SAndroid Build Coastguard Worker* Android: pre-built libs are now built nightly. 9529*b6fb3261SAndroid Build Coastguard Worker* Android: cmake/gradle build for TensorFlow Inference library under 9530*b6fb3261SAndroid Build Coastguard Worker `contrib/android/cmake` 9531*b6fb3261SAndroid Build Coastguard Worker* Android: Much more robust Session initialization code. 9532*b6fb3261SAndroid Build Coastguard Worker* Android: TF stats now exposed directly in demo and log when debug mode is 9533*b6fb3261SAndroid Build Coastguard Worker active 9534*b6fb3261SAndroid Build Coastguard Worker* Android: new/better README.md documentation 9535*b6fb3261SAndroid Build Coastguard Worker* saved_model is available as `tf.saved_model`. 9536*b6fb3261SAndroid Build Coastguard Worker* Empty op is now stateful. 9537*b6fb3261SAndroid Build Coastguard Worker* Improve speed of scatter_update on the cpu for ASSIGN operations. 9538*b6fb3261SAndroid Build Coastguard Worker* Change `reduce_join` to treat `reduction_indices` in the same way as other 9539*b6fb3261SAndroid Build Coastguard Worker `reduce_` ops. 9540*b6fb3261SAndroid Build Coastguard Worker* Move `TensorForestEstimator` to `contrib/tensor_forest`. 9541*b6fb3261SAndroid Build Coastguard Worker* Enable compiler optimizations by default and allow configuration in 9542*b6fb3261SAndroid Build Coastguard Worker configure. 9543*b6fb3261SAndroid Build Coastguard Worker* `tf.divide` now honors the name field. 9544*b6fb3261SAndroid Build Coastguard Worker* Make metrics weight broadcasting more strict. 9545*b6fb3261SAndroid Build Coastguard Worker* Add new queue-like `StagingArea` and new ops: `stage` and `unstage`. 9546*b6fb3261SAndroid Build Coastguard Worker* Enable inplace update ops for strings on CPU. Speed up string concat. 9547*b6fb3261SAndroid Build Coastguard Worker 9548*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors 9549*b6fb3261SAndroid Build Coastguard Worker 9550*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as: 9551*b6fb3261SAndroid Build Coastguard Worker 9552*b6fb3261SAndroid Build Coastguard WorkerAaron Hu, Abhishek Aggarwal, Adam Michael, Adriano Carmezim, @AfirSraftGarrier, 9553*b6fb3261SAndroid Build Coastguard WorkerAlexander Novikov, Alexander Rosenberg Johansen, Andrew Gibiansky, Andrew Hundt, 9554*b6fb3261SAndroid Build Coastguard WorkerAnish Shah, Anton Loss, @b0noI, @BoyuanJiang, Carl Thomé, Chad Kennedy, Comic 9555*b6fb3261SAndroid Build Coastguard WorkerChang, Connor Braa, Daniel N. Lang, Daniel Trebbien, @danielgordon10, Darcy Liu, 9556*b6fb3261SAndroid Build Coastguard WorkerDarren Garvey, Dmitri Lapin, Eron Wright, Evan Cofer, Fabrizio Milo, Finbarr 9557*b6fb3261SAndroid Build Coastguard WorkerTimbers, Franck Dernoncourt, Garrett Smith, @guschmue, Hao Wei, Henrik Holst, 9558*b6fb3261SAndroid Build Coastguard WorkerHuazuo Gao, @Ian, @Issac, Jacob Israel, Jangsoo Park, Jin Kim, Jingtian Peng, 9559*b6fb3261SAndroid Build Coastguard WorkerJohn Pope, Kye Bostelmann, Liangliang He, Ling Zhang, Luheng He, Luke Iwanski, 9560*b6fb3261SAndroid Build Coastguard Worker@lvli, Michael Basilyan, Mihir Patel, Mikalai Drabovich, Morten Just, @newge, 9561*b6fb3261SAndroid Build Coastguard WorkerNick Butlin, Nishant Shukla, Pengfei Ni, Przemyslaw Tredak, @rasbt, @Ronny, 9562*b6fb3261SAndroid Build Coastguard WorkerRudolf Rosa, @RustingSword, Sam Abrahams, Sam Putnam, @SeongAhJo, Shi Jiaxin, 9563*b6fb3261SAndroid Build Coastguard Worker@skavulya, Steffen MüLler, @TheUSER123, @tiriplicamihai, @vhasanov, Victor 9564*b6fb3261SAndroid Build Coastguard WorkerCostan, Vit Stepanovs, Wangda Tan, Wenjian Huang, Xingdong Zuo, Yaroslav 9565*b6fb3261SAndroid Build Coastguard WorkerBulatov, Yota Toyama, Yuan (Terry) Tang, Yuxin Wu 9566*b6fb3261SAndroid Build Coastguard Worker 9567*b6fb3261SAndroid Build Coastguard WorkerWe are also grateful to all who filed issues or helped resolve them, asked and 9568*b6fb3261SAndroid Build Coastguard Workeranswered questions, and were part of inspiring discussions. 9569*b6fb3261SAndroid Build Coastguard Worker 9570*b6fb3261SAndroid Build Coastguard Worker# Release 0.12.0 9571*b6fb3261SAndroid Build Coastguard Worker 9572*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements 9573*b6fb3261SAndroid Build Coastguard Worker 9574*b6fb3261SAndroid Build Coastguard Worker* TensorFlow now builds and runs on Microsoft Windows (tested on Windows 10, 9575*b6fb3261SAndroid Build Coastguard Worker Windows 7, and Windows Server 2016). Supported languages include Python (via 9576*b6fb3261SAndroid Build Coastguard Worker a pip package) and C++. CUDA 8.0 and cuDNN 5.1 are supported for GPU 9577*b6fb3261SAndroid Build Coastguard Worker acceleration. Known limitations include: It is not currently possible to 9578*b6fb3261SAndroid Build Coastguard Worker load a custom op library. The GCS and HDFS file systems are not currently 9579*b6fb3261SAndroid Build Coastguard Worker supported. The following ops are not currently implemented: Dequantize, 9580*b6fb3261SAndroid Build Coastguard Worker QuantizeAndDequantize, QuantizedAvgPool, 9581*b6fb3261SAndroid Build Coastguard Worker QuantizedBatchNomWithGlobalNormalization, QuantizedBiasAdd, QuantizedConcat, 9582*b6fb3261SAndroid Build Coastguard Worker QuantizedConv2D, QuantizedMatmul, QuantizedMaxPool, 9583*b6fb3261SAndroid Build Coastguard Worker QuantizeDownAndShrinkRange, QuantizedRelu, QuantizedRelu6, QuantizedReshape, 9584*b6fb3261SAndroid Build Coastguard Worker QuantizeV2, RequantizationRange, and Requantize. 9585*b6fb3261SAndroid Build Coastguard Worker* Go: Experimental API in Go to create and execute graphs 9586*b6fb3261SAndroid Build Coastguard Worker (https://godoc.org/github.com/tensorflow/tensorflow/tensorflow/go) 9587*b6fb3261SAndroid Build Coastguard Worker* New checkpoint format becomes the default in `tf.train.Saver`. Old V1 9588*b6fb3261SAndroid Build Coastguard Worker checkpoints continue to be readable; controlled by the `write_version` 9589*b6fb3261SAndroid Build Coastguard Worker argument, `tf.train.Saver` now by default writes out in the new V2 format. 9590*b6fb3261SAndroid Build Coastguard Worker It significantly reduces the peak memory required and latency incurred 9591*b6fb3261SAndroid Build Coastguard Worker during restore. 9592*b6fb3261SAndroid Build Coastguard Worker* Added a new library for library of matrix-free (iterative) solvers for 9593*b6fb3261SAndroid Build Coastguard Worker linear equations, linear least-squares, eigenvalues and singular values in 9594*b6fb3261SAndroid Build Coastguard Worker tensorflow/contrib/solvers. Initial version has lanczos bidiagonalization, 9595*b6fb3261SAndroid Build Coastguard Worker conjugate gradients and CGLS. 9596*b6fb3261SAndroid Build Coastguard Worker* Added gradients for `matrix_solve_ls` and `self_adjoint_eig`. 9597*b6fb3261SAndroid Build Coastguard Worker* Large cleanup to add second order gradient for ops with C++ gradients and 9598*b6fb3261SAndroid Build Coastguard Worker improve existing gradients such that most ops can now be differentiated 9599*b6fb3261SAndroid Build Coastguard Worker multiple times. 9600*b6fb3261SAndroid Build Coastguard Worker* Added a solver for ordinary differential equations, 9601*b6fb3261SAndroid Build Coastguard Worker `tf.contrib.integrate.odeint`. 9602*b6fb3261SAndroid Build Coastguard Worker* New contrib module for tensors with named axes, `tf.contrib.labeled_tensor`. 9603*b6fb3261SAndroid Build Coastguard Worker* Visualization of embeddings in TensorBoard. 9604*b6fb3261SAndroid Build Coastguard Worker 9605*b6fb3261SAndroid Build Coastguard Worker## Breaking Changes to the API 9606*b6fb3261SAndroid Build Coastguard Worker 9607*b6fb3261SAndroid Build Coastguard Worker* `BusAdjacency` enum replaced with a protocol buffer `DeviceLocality`. PCI 9608*b6fb3261SAndroid Build Coastguard Worker bus indexing now starts from 1 instead of 0, and `bus_id==0` is used where 9609*b6fb3261SAndroid Build Coastguard Worker previously `BUS_ANY` was used. 9610*b6fb3261SAndroid Build Coastguard Worker* `Env::FileExists` and `FileSystem::FileExists` now return a 9611*b6fb3261SAndroid Build Coastguard Worker tensorflow::Status instead of a bool. Any callers to this function can be 9612*b6fb3261SAndroid Build Coastguard Worker converted to a bool by adding .ok() to the call. 9613*b6fb3261SAndroid Build Coastguard Worker* The C API type `TF_SessionWithGraph` has been renamed to `TF_Session`, 9614*b6fb3261SAndroid Build Coastguard Worker indicating its preferred use in language bindings for TensorFlow. What was 9615*b6fb3261SAndroid Build Coastguard Worker previously `TF_Session` has been renamed to `TF_DeprecatedSession`. 9616*b6fb3261SAndroid Build Coastguard Worker* Renamed `TF_Port` to `TF_Output` in the C API. 9617*b6fb3261SAndroid Build Coastguard Worker* Removes RegisterShape from public API. Use C++ shape function registration 9618*b6fb3261SAndroid Build Coastguard Worker instead. indexing now starts from 1 instead of 0, and `bus_id==0` is used 9619*b6fb3261SAndroid Build Coastguard Worker where previously `BUS_ANY` was used. 9620*b6fb3261SAndroid Build Coastguard Worker* Most RNN cells and RNN functions now use different variable scopes to be 9621*b6fb3261SAndroid Build Coastguard Worker consistent with layers (`tf.contrib.layers`). This means old checkpoints 9622*b6fb3261SAndroid Build Coastguard Worker written using this code will not load after this change without providing 9623*b6fb3261SAndroid Build Coastguard Worker `Saver` a list of variable renames. Examples of variable scope changes 9624*b6fb3261SAndroid Build Coastguard Worker include `RNN` -> `rnn` in `tf.nn.rnn`, `tf.nn.dynamic_rnn` and moving from 9625*b6fb3261SAndroid Build Coastguard Worker `Linear/Matrix` -> `weights` and `Linear/Bias` -> `biases` in most RNN 9626*b6fb3261SAndroid Build Coastguard Worker cells. 9627*b6fb3261SAndroid Build Coastguard Worker* Deprecated tf.select op. tf.where should be used instead. 9628*b6fb3261SAndroid Build Coastguard Worker* `SparseTensor.shape` has been renamed to `SparseTensor.dense_shape`. Same 9629*b6fb3261SAndroid Build Coastguard Worker for `SparseTensorValue.shape`. 9630*b6fb3261SAndroid Build Coastguard Worker* `Env::FileExists` and `FileSystem::FileExists` now return a 9631*b6fb3261SAndroid Build Coastguard Worker `tensorflow::Status` instead of a bool. Any callers to this function can be 9632*b6fb3261SAndroid Build Coastguard Worker converted to a bool by adding `.ok()` to the call. 9633*b6fb3261SAndroid Build Coastguard Worker* C API: Type `TF_SessionWithGraph` has been renamed to `TF_Session`, 9634*b6fb3261SAndroid Build Coastguard Worker indicating its preferred use in language bindings for TensorFlow. What was 9635*b6fb3261SAndroid Build Coastguard Worker previously `TF_Session` has been renamed to `TF_DeprecatedSession`. 9636*b6fb3261SAndroid Build Coastguard Worker* C API: Renamed `TF_Port` to `TF_Output`. 9637*b6fb3261SAndroid Build Coastguard Worker* C API: The caller retains ownership of `TF_Tensor` objects provided to 9638*b6fb3261SAndroid Build Coastguard Worker `TF_Run`, `TF_SessionRun`, `TF_SetAttrTensor` etc. 9639*b6fb3261SAndroid Build Coastguard Worker* Renamed `tf.image.per_image_whitening()` to 9640*b6fb3261SAndroid Build Coastguard Worker `tf.image.per_image_standardization()` 9641*b6fb3261SAndroid Build Coastguard Worker* Move Summary protobuf constructors to `tf.summary` submodule. 9642*b6fb3261SAndroid Build Coastguard Worker* Deprecate `histogram_summary`, `audio_summary`, `scalar_summary`, 9643*b6fb3261SAndroid Build Coastguard Worker `image_summary`, `merge_summary`, and `merge_all_summaries`. 9644*b6fb3261SAndroid Build Coastguard Worker* Combined `batch_*` and regular version of linear algebra and FFT ops. The 9645*b6fb3261SAndroid Build Coastguard Worker regular op now handles batches as well. All `batch_*` Python interfaces were 9646*b6fb3261SAndroid Build Coastguard Worker removed. 9647*b6fb3261SAndroid Build Coastguard Worker* `tf.all_variables`, `tf.VARIABLES` and `tf.initialize_all_variables` renamed 9648*b6fb3261SAndroid Build Coastguard Worker to `tf.global_variables`, `tf.GLOBAL_VARIABLES` and 9649*b6fb3261SAndroid Build Coastguard Worker `tf.global_variables_initializer` respectively. 9650*b6fb3261SAndroid Build Coastguard Worker* `tf.zeros_initializer()` and `tf.ones_initializer()` now return a callable 9651*b6fb3261SAndroid Build Coastguard Worker that must be called with initializer arguments, in your code replace 9652*b6fb3261SAndroid Build Coastguard Worker `tf.zeros_initializer` with `tf.zeros_initializer()` 9653*b6fb3261SAndroid Build Coastguard Worker 9654*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 9655*b6fb3261SAndroid Build Coastguard Worker 9656*b6fb3261SAndroid Build Coastguard Worker* Use threadsafe version of `lgamma` function. 9657*b6fb3261SAndroid Build Coastguard Worker* Fix `tf.sqrt` handling of negative arguments. 9658*b6fb3261SAndroid Build Coastguard Worker* Fixed bug causing incorrect number of threads to be used for multi-threaded 9659*b6fb3261SAndroid Build Coastguard Worker benchmarks. 9660*b6fb3261SAndroid Build Coastguard Worker* Performance optimizations for `batch_matmul` on multi-core CPUs. 9661*b6fb3261SAndroid Build Coastguard Worker* Improve trace, `matrix_set_diag`, `matrix_diag_part` and their gradients to 9662*b6fb3261SAndroid Build Coastguard Worker work for rectangular matrices. 9663*b6fb3261SAndroid Build Coastguard Worker* Support for SVD of complex valued matrices. 9664*b6fb3261SAndroid Build Coastguard Worker 9665*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors 9666*b6fb3261SAndroid Build Coastguard Worker 9667*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as: 9668*b6fb3261SAndroid Build Coastguard Worker 9669*b6fb3261SAndroid Build Coastguard Worker@a7744hsc, Abhi Agg, @admcrae, Adriano Carmezim, Aki Sukegawa, Alex Kendall, 9670*b6fb3261SAndroid Build Coastguard WorkerAlexander Rosenberg Johansen, @amcrae, Amlan Kar, Andre Simpelo, Andreas Eberle, 9671*b6fb3261SAndroid Build Coastguard WorkerAndrew Hundt, Arnaud Lenglet, @b0noI, Balachander Ramachandran, Ben Barsdell, 9672*b6fb3261SAndroid Build Coastguard WorkerBen Guidarelli, Benjamin Mularczyk, Burness Duan, @c0g, Changming Sun, @chanis, 9673*b6fb3261SAndroid Build Coastguard WorkerCorey Wharton, Dan J, Daniel Trebbien, Darren Garvey, David Brailovsky, David 9674*b6fb3261SAndroid Build Coastguard WorkerJones, Di Zeng, @DjangoPeng, Dr. Kashif Rasul, @drag0, Fabrizio (Misto) Milo, 9675*b6fb3261SAndroid Build Coastguard WorkerFabríCio Ceschin, @fp, @Ghedeon, @guschmue, Gökçen Eraslan, Haosdent Huang, 9676*b6fb3261SAndroid Build Coastguard WorkerHaroen Viaene, Harold Cooper, Henrik Holst, @hoangmit, Ivan Ukhov, Javier 9677*b6fb3261SAndroid Build Coastguard WorkerDehesa, Jingtian Peng, Jithin Odattu, Joan Pastor, Johan Mathe, Johannes Mayer, 9678*b6fb3261SAndroid Build Coastguard WorkerJongwook Choi, Justus Schwabedal, Kai Wolf, Kamil Hryniewicz, Kamran Amini, 9679*b6fb3261SAndroid Build Coastguard WorkerKaren Brems, Karl Lattimer, @kborer, Ken Shirriff, Kevin Rose, Larissa Laich, 9680*b6fb3261SAndroid Build Coastguard WorkerLaurent Mazare, Leonard Lee, Liang-Chi Hsieh, Liangliang He, Luke Iwanski, Marek 9681*b6fb3261SAndroid Build Coastguard WorkerKolodziej, Moustafa Alzantot, @MrQianjinsi, @nagachika, Neil Han, Nick Meehan, 9682*b6fb3261SAndroid Build Coastguard WorkerNiels Ole Salscheider, Nikhil Mishra, @nschuc, Ondrej Skopek, OndřEj Filip, 9683*b6fb3261SAndroid Build Coastguard Worker@OscarDPan, Pablo Moyano, Przemyslaw Tredak, @qitaishui, @Quarazy, @raix852, 9684*b6fb3261SAndroid Build Coastguard WorkerPhilipp Helo, Sam Abrahams, @SriramRamesh, Till Hoffmann, Tushar Soni, @tvn, 9685*b6fb3261SAndroid Build Coastguard Worker@tyfkda, Uwe Schmidt, Victor Villas, Vit Stepanovs, Vladislav Gubarev, 9686*b6fb3261SAndroid Build Coastguard Worker@wujingyue, Xuesong Yang, Yi Liu, Yilei Yang, @youyou3, Yuan (Terry) Tang, 9687*b6fb3261SAndroid Build Coastguard WorkerYuming Wang, Zafar Takhirov, @zhongyuk, Ziming Dong, @guotong1988 9688*b6fb3261SAndroid Build Coastguard Worker 9689*b6fb3261SAndroid Build Coastguard WorkerWe are also grateful to all who filed issues or helped resolve them, asked and 9690*b6fb3261SAndroid Build Coastguard Workeranswered questions, and were part of inspiring discussions. 9691*b6fb3261SAndroid Build Coastguard Worker 9692*b6fb3261SAndroid Build Coastguard Worker# Release 0.11.0 9693*b6fb3261SAndroid Build Coastguard Worker 9694*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements 9695*b6fb3261SAndroid Build Coastguard Worker 9696*b6fb3261SAndroid Build Coastguard Worker* CUDA 8 support. 9697*b6fb3261SAndroid Build Coastguard Worker* cuDNN 5 support. 9698*b6fb3261SAndroid Build Coastguard Worker* HDFS Support. 9699*b6fb3261SAndroid Build Coastguard Worker* Adds Fused LSTM support via cuDNN 5 in `tensorflow/contrib/cudnn_rnn`. 9700*b6fb3261SAndroid Build Coastguard Worker* Improved support for NumPy style basic slicing including non-1 strides, 9701*b6fb3261SAndroid Build Coastguard Worker ellipses, newaxis, and negative indices. For example complicated expressions 9702*b6fb3261SAndroid Build Coastguard Worker like `foo[1, 2:4, tf.newaxis, ..., :-3:-1, :]` are now supported. In 9703*b6fb3261SAndroid Build Coastguard Worker addition we have preliminary (non-broadcasting) support for sliced 9704*b6fb3261SAndroid Build Coastguard Worker assignment to variables. In particular one can write 9705*b6fb3261SAndroid Build Coastguard Worker `var[1:3].assign([1,11,111])`. 9706*b6fb3261SAndroid Build Coastguard Worker* Deprecated `tf.op_scope` and `tf.variable_op_scope` in favor of a unified 9707*b6fb3261SAndroid Build Coastguard Worker `tf.name_scope` and `tf.variable_scope`. The new argument order of 9708*b6fb3261SAndroid Build Coastguard Worker `tf.variable_scope` is incompatible with previous versions. 9709*b6fb3261SAndroid Build Coastguard Worker* Introducing `core/util/tensor_bundle` module: a module to efficiently 9710*b6fb3261SAndroid Build Coastguard Worker serialize/deserialize tensors to disk. Will be used in TF's new checkpoint 9711*b6fb3261SAndroid Build Coastguard Worker format. 9712*b6fb3261SAndroid Build Coastguard Worker* Added tf.svd for computing the singular value decomposition (SVD) of dense 9713*b6fb3261SAndroid Build Coastguard Worker matrices or batches of matrices (CPU only). 9714*b6fb3261SAndroid Build Coastguard Worker* Added gradients for eigenvalues and eigenvectors computed using 9715*b6fb3261SAndroid Build Coastguard Worker `self_adjoint_eig` or `self_adjoint_eigvals`. 9716*b6fb3261SAndroid Build Coastguard Worker* Eliminated `batch_*` methods for most linear algebra and FFT ops and 9717*b6fb3261SAndroid Build Coastguard Worker promoted the non-batch version of the ops to handle batches of matrices. 9718*b6fb3261SAndroid Build Coastguard Worker* Tracing/timeline support for distributed runtime (no GPU profiler yet). 9719*b6fb3261SAndroid Build Coastguard Worker* C API gives access to inferred shapes with `TF_GraphGetTensorNumDims` and 9720*b6fb3261SAndroid Build Coastguard Worker `TF_GraphGetTensorShape`. 9721*b6fb3261SAndroid Build Coastguard Worker* Shape functions for core ops have moved to C++ via 9722*b6fb3261SAndroid Build Coastguard Worker `REGISTER_OP(...).SetShapeFn(...)`. Python shape inference RegisterShape 9723*b6fb3261SAndroid Build Coastguard Worker calls use the C++ shape functions with `common_shapes.call_cpp_shape_fn`. A 9724*b6fb3261SAndroid Build Coastguard Worker future release will remove `RegisterShape` from python. 9725*b6fb3261SAndroid Build Coastguard Worker 9726*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 9727*b6fb3261SAndroid Build Coastguard Worker 9728*b6fb3261SAndroid Build Coastguard Worker* Documentation now includes operator overloads on Tensor and Variable. 9729*b6fb3261SAndroid Build Coastguard Worker* `tensorflow.__git_version__` now allows users to identify the version of the 9730*b6fb3261SAndroid Build Coastguard Worker code that TensorFlow was compiled with. We also have 9731*b6fb3261SAndroid Build Coastguard Worker `tensorflow.__git_compiler__` which identifies the compiler used to compile 9732*b6fb3261SAndroid Build Coastguard Worker TensorFlow's core. 9733*b6fb3261SAndroid Build Coastguard Worker* Improved multi-threaded performance of `batch_matmul`. 9734*b6fb3261SAndroid Build Coastguard Worker* LSTMCell, BasicLSTMCell, and MultiRNNCell constructors now default to 9735*b6fb3261SAndroid Build Coastguard Worker `state_is_tuple=True`. For a quick fix while transitioning to the new 9736*b6fb3261SAndroid Build Coastguard Worker default, simply pass the argument `state_is_tuple=False`. 9737*b6fb3261SAndroid Build Coastguard Worker* DeviceFactory's AddDevices and CreateDevices functions now return a Status 9738*b6fb3261SAndroid Build Coastguard Worker instead of void. 9739*b6fb3261SAndroid Build Coastguard Worker* Int32 elements of list(type) arguments are no longer placed in host memory 9740*b6fb3261SAndroid Build Coastguard Worker by default. If necessary, a list(type) argument to a kernel can be placed in 9741*b6fb3261SAndroid Build Coastguard Worker host memory using a HostMemory annotation. 9742*b6fb3261SAndroid Build Coastguard Worker* `uniform_unit_scaling_initializer()` no longer takes a `full_shape` arg, 9743*b6fb3261SAndroid Build Coastguard Worker instead relying on the partition info passed to the initializer function 9744*b6fb3261SAndroid Build Coastguard Worker when it's called. 9745*b6fb3261SAndroid Build Coastguard Worker* The NodeDef protocol message is now defined in its own file `node_def.proto` 9746*b6fb3261SAndroid Build Coastguard Worker `instead of graph.proto`. 9747*b6fb3261SAndroid Build Coastguard Worker* `ops.NoGradient` was renamed `ops.NotDifferentiable`. `ops.NoGradient` will 9748*b6fb3261SAndroid Build Coastguard Worker be removed soon. 9749*b6fb3261SAndroid Build Coastguard Worker* `dot.h` / DotGraph was removed (it was an early analysis tool prior to 9750*b6fb3261SAndroid Build Coastguard Worker TensorBoard, no longer that useful). It remains in history should someone 9751*b6fb3261SAndroid Build Coastguard Worker find the code useful. 9752*b6fb3261SAndroid Build Coastguard Worker* re2 / regexp.h was removed from being a public interface of TF. Should users 9753*b6fb3261SAndroid Build Coastguard Worker need regular expressions, they should depend on the RE2 library directly 9754*b6fb3261SAndroid Build Coastguard Worker rather than via TensorFlow. 9755*b6fb3261SAndroid Build Coastguard Worker 9756*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors 9757*b6fb3261SAndroid Build Coastguard Worker 9758*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as: 9759*b6fb3261SAndroid Build Coastguard Worker 9760*b6fb3261SAndroid Build Coastguard WorkerAbid K, @afshinrahimi, @AidanGG, Ajay Rao, Aki Sukegawa, Alex Rothberg, 9761*b6fb3261SAndroid Build Coastguard WorkerAlexander Rosenberg Johansen, Andrew Gibiansky, Andrew Thomas, @Appleholic, 9762*b6fb3261SAndroid Build Coastguard WorkerBastiaan Quast, Ben Dilday, Bofu Chen, Brandon Amos, Bryon Gloden, Cissp®, 9763*b6fb3261SAndroid Build Coastguard Worker@chanis, Chenyang Liu, Corey Wharton, Daeyun Shin, Daniel Julius Lasiman, Daniel 9764*b6fb3261SAndroid Build Coastguard WorkerWaterworth, Danijar Hafner, Darren Garvey, Denis Gorbachev, @DjangoPeng, 9765*b6fb3261SAndroid Build Coastguard WorkerEgor-Krivov, Elia Palme, Eric Platon, Fabrizio Milo, Gaetan Semet, Georg 9766*b6fb3261SAndroid Build Coastguard WorkerNebehay, Gu Wang, Gustav Larsson, @haosdent, Harold Cooper, Hw-Zz, @ichuang, 9767*b6fb3261SAndroid Build Coastguard WorkerIgor Babuschkin, Igor Macedo Quintanilha, Ilya Edrenkin, @ironhead, Jakub 9768*b6fb3261SAndroid Build Coastguard WorkerKolodziejczyk, Jennifer Guo, Jihun Choi, Jonas Rauber, Josh Bleecher Snyder, 9769*b6fb3261SAndroid Build Coastguard Worker@jpangburn, Jules Gagnon-Marchand, Karen Brems, @kborer, Kirill Bobyrev, Laurent 9770*b6fb3261SAndroid Build Coastguard WorkerMazare, Longqi Yang, Malith Yapa, Maniteja Nandana, Martin Englund, Matthias 9771*b6fb3261SAndroid Build Coastguard WorkerWinkelmann, @mecab, Mu-Ik Jeon, Nand Dalal, Niels Ole Salscheider, Nikhil 9772*b6fb3261SAndroid Build Coastguard WorkerMishra, Park Jiin, Pieter De Rijk, @raix852, Ritwik Gupta, Sahil Sharma, 9773*b6fb3261SAndroid Build Coastguard WorkerSangheum Hwang, @SergejsRk, Shinichiro Hamaji, Simon Denel, @Steve, 9774*b6fb3261SAndroid Build Coastguard Worker@suiyuan2009, Tiago Jorge, Tijmen Tieleman, @tvn, @tyfkda, Wang Yang, Wei-Ting 9775*b6fb3261SAndroid Build Coastguard WorkerKuo, Wenjian Huang, Yan Chen, @YenChenLin, Yuan (Terry) Tang, Yuncheng Li, 9776*b6fb3261SAndroid Build Coastguard WorkerYunfeng Wang, Zack Polizzi, @zhongzyd, Ziming Dong, @perhapszzy 9777*b6fb3261SAndroid Build Coastguard Worker 9778*b6fb3261SAndroid Build Coastguard WorkerWe are also grateful to all who filed issues or helped resolve them, asked and 9779*b6fb3261SAndroid Build Coastguard Workeranswered questions, and were part of inspiring discussions. 9780*b6fb3261SAndroid Build Coastguard Worker 9781*b6fb3261SAndroid Build Coastguard Worker# Release 0.10.0 9782*b6fb3261SAndroid Build Coastguard Worker 9783*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements 9784*b6fb3261SAndroid Build Coastguard Worker 9785*b6fb3261SAndroid Build Coastguard Worker* Added support for C++ shape inference 9786*b6fb3261SAndroid Build Coastguard Worker* Added graph-construction C API 9787*b6fb3261SAndroid Build Coastguard Worker* Major revision to the graph-construction C++ API 9788*b6fb3261SAndroid Build Coastguard Worker* Support makefile build for iOS 9789*b6fb3261SAndroid Build Coastguard Worker* Added Mac GPU support 9790*b6fb3261SAndroid Build Coastguard Worker* Full version of TF-Slim available as `tf.contrib.slim` 9791*b6fb3261SAndroid Build Coastguard Worker* Added k-Means clustering and WALS matrix factorization 9792*b6fb3261SAndroid Build Coastguard Worker 9793*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 9794*b6fb3261SAndroid Build Coastguard Worker 9795*b6fb3261SAndroid Build Coastguard Worker* Allow gradient computation for scalar values. 9796*b6fb3261SAndroid Build Coastguard Worker* Performance improvements for gRPC 9797*b6fb3261SAndroid Build Coastguard Worker* Improved support for fp16 9798*b6fb3261SAndroid Build Coastguard Worker* New high-level ops in tf.contrib. {layers,metrics} 9799*b6fb3261SAndroid Build Coastguard Worker* New features for TensorBoard, such as shape display, exponential smoothing 9800*b6fb3261SAndroid Build Coastguard Worker* Faster and more stable Google Cloud Storage (GCS) filesystem support 9801*b6fb3261SAndroid Build Coastguard Worker* Support for zlib compression and decompression for TFRecordReader and 9802*b6fb3261SAndroid Build Coastguard Worker TFRecordWriter 9803*b6fb3261SAndroid Build Coastguard Worker* Support for reading (animated) GIFs 9804*b6fb3261SAndroid Build Coastguard Worker* Improved support for SparseTensor 9805*b6fb3261SAndroid Build Coastguard Worker* Added support for more probability distributions (Dirichlet, Beta, 9806*b6fb3261SAndroid Build Coastguard Worker Bernoulli, etc.) 9807*b6fb3261SAndroid Build Coastguard Worker* Added Python interfaces to reset resource containers. 9808*b6fb3261SAndroid Build Coastguard Worker* Many bugfixes and performance improvements 9809*b6fb3261SAndroid Build Coastguard Worker* Many documentation fixes 9810*b6fb3261SAndroid Build Coastguard Worker 9811*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors 9812*b6fb3261SAndroid Build Coastguard Worker 9813*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as: 9814*b6fb3261SAndroid Build Coastguard Worker 9815*b6fb3261SAndroid Build Coastguard WorkerAlex Rothberg, Andrew Royer, Austin Marshall, @BlackCoal, Bob Adolf, Brian 9816*b6fb3261SAndroid Build Coastguard WorkerDiesel, Charles-Emmanuel Dias, @chemelnucfin, Chris Lesniewski, Daeyun Shin, 9817*b6fb3261SAndroid Build Coastguard WorkerDaniel Rodriguez, Danijar Hafner, Darcy Liu, Kristinn R. Thórisson, Daniel 9818*b6fb3261SAndroid Build Coastguard WorkerCastro, Dmitry Savintsev, Kashif Rasul, Dylan Paiton, Emmanuel T. Odeke, Ernest 9819*b6fb3261SAndroid Build Coastguard WorkerGrzybowski, Gavin Sherry, Gideon Dresdner, Gregory King, Harold Cooper, 9820*b6fb3261SAndroid Build Coastguard Worker@heinzbeinz, Henry Saputra, Huarong Huo, Huazuo Gao, Igor Babuschkin, Igor 9821*b6fb3261SAndroid Build Coastguard WorkerMacedo Quintanilha, Ivan Ukhov, James Fysh, Jan Wilken Dörrie, Jihun Choi, 9822*b6fb3261SAndroid Build Coastguard WorkerJohnny Lim, Jonathan Raiman, Justin Francis, @lilac, Li Yi, Marc Khoury, Marco 9823*b6fb3261SAndroid Build Coastguard WorkerMarchesi, Max Melnick, Micael Carvalho, @mikowals, Mostafa Gazar, Nico Galoppo, 9824*b6fb3261SAndroid Build Coastguard WorkerNishant Agrawal, Petr Janda, Yuncheng Li, @raix852, Robert Rose, 9825*b6fb3261SAndroid Build Coastguard Worker@Robin-des-Bois, Rohit Girdhar, Sam Abrahams, satok16, Sergey Kishchenko, Sharkd 9826*b6fb3261SAndroid Build Coastguard WorkerTu, @shotat, Siddharth Agrawal, Simon Denel, @sono-bfio, SunYeop Lee, Thijs 9827*b6fb3261SAndroid Build Coastguard WorkerVogels, @tobegit3hub, @Undo1, Wang Yang, Wenjian Huang, Yaroslav Bulatov, Yuan 9828*b6fb3261SAndroid Build Coastguard WorkerTang, Yunfeng Wang, Ziming Dong 9829*b6fb3261SAndroid Build Coastguard Worker 9830*b6fb3261SAndroid Build Coastguard WorkerWe are also grateful to all who filed issues or helped resolve them, asked and 9831*b6fb3261SAndroid Build Coastguard Workeranswered questions, and were part of inspiring discussions. 9832*b6fb3261SAndroid Build Coastguard Worker 9833*b6fb3261SAndroid Build Coastguard Worker# Release 0.9.0 9834*b6fb3261SAndroid Build Coastguard Worker 9835*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements 9836*b6fb3261SAndroid Build Coastguard Worker 9837*b6fb3261SAndroid Build Coastguard Worker* Python 3.5 support and binaries 9838*b6fb3261SAndroid Build Coastguard Worker* Added iOS support 9839*b6fb3261SAndroid Build Coastguard Worker* Added support for processing on GPUs on MacOS 9840*b6fb3261SAndroid Build Coastguard Worker* Added makefile for better cross-platform build support (C API only) 9841*b6fb3261SAndroid Build Coastguard Worker* fp16 support and improved complex128 support for many ops 9842*b6fb3261SAndroid Build Coastguard Worker* Higher level functionality in contrib. {layers,losses,metrics,learn} 9843*b6fb3261SAndroid Build Coastguard Worker* More features to Tensorboard 9844*b6fb3261SAndroid Build Coastguard Worker* Improved support for string embedding and sparse features 9845*b6fb3261SAndroid Build Coastguard Worker* The RNN api is finally "official" (see, e.g., `tf.nn.dynamic_rnn`, 9846*b6fb3261SAndroid Build Coastguard Worker `tf.nn.rnn`, and the classes in `tf.nn.rnn_cell`). 9847*b6fb3261SAndroid Build Coastguard Worker* TensorBoard now has an Audio Dashboard, with associated audio summaries. 9848*b6fb3261SAndroid Build Coastguard Worker 9849*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 9850*b6fb3261SAndroid Build Coastguard Worker 9851*b6fb3261SAndroid Build Coastguard Worker* Turned on CuDNN Autotune. 9852*b6fb3261SAndroid Build Coastguard Worker* Added support for using third-party Python optimization algorithms 9853*b6fb3261SAndroid Build Coastguard Worker (contrib.opt). 9854*b6fb3261SAndroid Build Coastguard Worker* Google Cloud Storage filesystem support. 9855*b6fb3261SAndroid Build Coastguard Worker* HDF5 support 9856*b6fb3261SAndroid Build Coastguard Worker* Add support for 3d convolutions and pooling. 9857*b6fb3261SAndroid Build Coastguard Worker* Update gRPC release to 0.14. 9858*b6fb3261SAndroid Build Coastguard Worker* Eigen version upgrade. 9859*b6fb3261SAndroid Build Coastguard Worker* Switch to eigen thread pool 9860*b6fb3261SAndroid Build Coastguard Worker* `tf.nn.moments()` now accepts a `shift` argument. Shifting by a good 9861*b6fb3261SAndroid Build Coastguard Worker estimate of the mean improves numerical stability. Also changes the behavior 9862*b6fb3261SAndroid Build Coastguard Worker of the `shift` argument to `tf.nn.sufficient_statistics()`. 9863*b6fb3261SAndroid Build Coastguard Worker* Performance improvements 9864*b6fb3261SAndroid Build Coastguard Worker* Many bugfixes 9865*b6fb3261SAndroid Build Coastguard Worker* Many documentation fixes 9866*b6fb3261SAndroid Build Coastguard Worker* TensorBoard fixes: graphs with only one data point, Nan values, reload 9867*b6fb3261SAndroid Build Coastguard Worker button and auto-reload, tooltips in scalar charts, run filtering, stable 9868*b6fb3261SAndroid Build Coastguard Worker colors 9869*b6fb3261SAndroid Build Coastguard Worker* Tensorboard graph visualizer now supports run metadata. Clicking on nodes 9870*b6fb3261SAndroid Build Coastguard Worker while viewing a stats for a particular run will show runtime statistics, 9871*b6fb3261SAndroid Build Coastguard Worker such as memory or compute usage. Unused nodes will be faded out. 9872*b6fb3261SAndroid Build Coastguard Worker 9873*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors 9874*b6fb3261SAndroid Build Coastguard Worker 9875*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as: 9876*b6fb3261SAndroid Build Coastguard Worker 9877*b6fb3261SAndroid Build Coastguard WorkerAaron Schumacher, Aidan Dang, Akihiko ITOH, Aki Sukegawa, Arbit Chen, Aziz Alto, 9878*b6fb3261SAndroid Build Coastguard WorkerDanijar Hafner, Erik Erwitt, Fabrizio Milo, Felix Maximilian Möller, Henry 9879*b6fb3261SAndroid Build Coastguard WorkerSaputra, Sung Kim, Igor Babuschkin, Jan Zikes, Jeremy Barnes, Jesper Steen 9880*b6fb3261SAndroid Build Coastguard WorkerMøller, Johannes Mayer, Justin Harris, Kashif Rasul, Kevin Robinson, Loo Rong 9881*b6fb3261SAndroid Build Coastguard WorkerJie, Lucas Moura, Łukasz Bieniasz-Krzywiec, Mario Cho, Maxim Grechkin, Michael 9882*b6fb3261SAndroid Build Coastguard WorkerHeilman, Mostafa Rahmani, Mourad Mourafiq, @ninotoshi, Orion Reblitz-Richardson, 9883*b6fb3261SAndroid Build Coastguard WorkerYuncheng Li, @raoqiyu, Robert DiPietro, Sam Abrahams, Sebastian Raschka, 9884*b6fb3261SAndroid Build Coastguard WorkerSiddharth Agrawal, @snakecharmer1024, Stephen Roller, Sung Kim, SunYeop Lee, 9885*b6fb3261SAndroid Build Coastguard WorkerThijs Vogels, Till Hoffmann, Victor Melo, Ville Kallioniemi, Waleed Abdulla, 9886*b6fb3261SAndroid Build Coastguard WorkerWenjian Huang, Yaroslav Bulatov, Yeison Rodriguez, Yuan Tang, Yuxin Wu, 9887*b6fb3261SAndroid Build Coastguard Worker@zhongzyd, Ziming Dong, Zohar Jackson 9888*b6fb3261SAndroid Build Coastguard Worker 9889*b6fb3261SAndroid Build Coastguard WorkerWe are also grateful to all who filed issues or helped resolve them, asked and 9890*b6fb3261SAndroid Build Coastguard Workeranswered questions, and were part of inspiring discussions. 9891*b6fb3261SAndroid Build Coastguard Worker 9892*b6fb3261SAndroid Build Coastguard Worker# Release 0.8.0 9893*b6fb3261SAndroid Build Coastguard Worker 9894*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements 9895*b6fb3261SAndroid Build Coastguard Worker 9896*b6fb3261SAndroid Build Coastguard Worker* Added a distributed runtime using GRPC 9897*b6fb3261SAndroid Build Coastguard Worker* Move skflow to `contrib/learn` 9898*b6fb3261SAndroid Build Coastguard Worker* Better linear optimizer in `contrib/linear_optimizer` 9899*b6fb3261SAndroid Build Coastguard Worker* Random forest implementation in `contrib/tensor_forest` 9900*b6fb3261SAndroid Build Coastguard Worker* CTC loss and decoders in `contrib/ctc` 9901*b6fb3261SAndroid Build Coastguard Worker* Basic support for `half` data type 9902*b6fb3261SAndroid Build Coastguard Worker* Better support for loading user ops (see examples in `contrib/`) 9903*b6fb3261SAndroid Build Coastguard Worker* Allow use of (non-blocking) Eigen threadpool with 9904*b6fb3261SAndroid Build Coastguard Worker `TENSORFLOW_USE_EIGEN_THREADPOOL` define 9905*b6fb3261SAndroid Build Coastguard Worker* Add an extension mechanism for adding network file system support 9906*b6fb3261SAndroid Build Coastguard Worker* TensorBoard displays metadata stats (running time, memory usage and device 9907*b6fb3261SAndroid Build Coastguard Worker used) and tensor shapes 9908*b6fb3261SAndroid Build Coastguard Worker 9909*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 9910*b6fb3261SAndroid Build Coastguard Worker 9911*b6fb3261SAndroid Build Coastguard Worker* Utility for inspecting checkpoints 9912*b6fb3261SAndroid Build Coastguard Worker* Basic tracing and timeline support 9913*b6fb3261SAndroid Build Coastguard Worker* Allow building against cuDNN 5 (not incl. RNN/LSTM support) 9914*b6fb3261SAndroid Build Coastguard Worker* Added instructions and binaries for ProtoBuf library with fast serialization 9915*b6fb3261SAndroid Build Coastguard Worker and without 64MB limit 9916*b6fb3261SAndroid Build Coastguard Worker* Added special functions 9917*b6fb3261SAndroid Build Coastguard Worker* `bool`-strictness: Tensors have to be explicitly compared to `None` 9918*b6fb3261SAndroid Build Coastguard Worker* Shape strictness: all fed values must have a shape that is compatible with 9919*b6fb3261SAndroid Build Coastguard Worker the tensor they are replacing 9920*b6fb3261SAndroid Build Coastguard Worker* Exposed `tf.while_loop` (deprecated `control_flow_ops.While`) 9921*b6fb3261SAndroid Build Coastguard Worker* run() now takes RunOptions and RunMetadata, which enable timing stats 9922*b6fb3261SAndroid Build Coastguard Worker* Fixed lots of potential overflow problems in op kernels 9923*b6fb3261SAndroid Build Coastguard Worker* Various performance improvements, especially for RNNs and convolutions 9924*b6fb3261SAndroid Build Coastguard Worker* Many bugfixes 9925*b6fb3261SAndroid Build Coastguard Worker* Nightly builds, tutorial tests, many test improvements 9926*b6fb3261SAndroid Build Coastguard Worker* New examples: transfer learning and deepdream ipython notebook 9927*b6fb3261SAndroid Build Coastguard Worker* Added tutorials, many documentation fixes. 9928*b6fb3261SAndroid Build Coastguard Worker 9929*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors 9930*b6fb3261SAndroid Build Coastguard Worker 9931*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as: 9932*b6fb3261SAndroid Build Coastguard Worker 9933*b6fb3261SAndroid Build Coastguard WorkerAbhinav Upadhyay, Aggelos Avgerinos, Alan Wu, Alexander G. de G. Matthews, 9934*b6fb3261SAndroid Build Coastguard WorkerAleksandr Yahnev, @amchercashin, Andy Kitchen, Aurelien Geron, Awni Hannun, 9935*b6fb3261SAndroid Build Coastguard Worker@BanditCat, Bas Veeling, Cameron Chen, @cg31, Cheng-Lung Sung, Christopher 9936*b6fb3261SAndroid Build Coastguard WorkerBonnett, Dan Becker, Dan Van Boxel, Daniel Golden, Danijar Hafner, Danny 9937*b6fb3261SAndroid Build Coastguard WorkerGoodman, Dave Decker, David Dao, David Kretch, Dongjoon Hyun, Dustin Dorroh, 9938*b6fb3261SAndroid Build Coastguard Worker@e-lin, Eurico Doirado, Erik Erwitt, Fabrizio Milo, @gaohuazuo, Iblis Lin, Igor 9939*b6fb3261SAndroid Build Coastguard WorkerBabuschkin, Isaac Hodes, Isaac Turner, Iván Vallés, J Yegerlehner, Jack Zhang, 9940*b6fb3261SAndroid Build Coastguard WorkerJames Wexler, Jan Zikes, Jay Young, Jeff Hodges, @jmtatsch, Johnny Lim, Jonas 9941*b6fb3261SAndroid Build Coastguard WorkerMeinertz Hansen, Kanit Wongsuphasawat, Kashif Rasul, Ken Shirriff, Kenneth 9942*b6fb3261SAndroid Build Coastguard WorkerMitchner, Kenta Yonekura, Konrad Magnusson, Konstantin Lopuhin, @lahwran, 9943*b6fb3261SAndroid Build Coastguard Worker@lekaha, @liyongsea, Lucas Adams, @makseq, Mandeep Singh, @manipopopo, Mark 9944*b6fb3261SAndroid Build Coastguard WorkerAmery, Memo Akten, Michael Heilman, Michael Peteuil, Nathan Daly, Nicolas 9945*b6fb3261SAndroid Build Coastguard WorkerFauchereau, @ninotoshi, Olav Nymoen, @panmari, @papelita1234, Pedro Lopes, 9946*b6fb3261SAndroid Build Coastguard WorkerPranav Sailesh Mani, RJ Ryan, Rob Culliton, Robert DiPietro, @ronrest, Sam 9947*b6fb3261SAndroid Build Coastguard WorkerAbrahams, Sarath Shekkizhar, Scott Graham, Sebastian Raschka, Sung Kim, Surya 9948*b6fb3261SAndroid Build Coastguard WorkerBhupatiraju, Syed Ahmed, Till Hoffmann, @timsl, @urimend, @vesnica, Vlad Frolov, 9949*b6fb3261SAndroid Build Coastguard WorkerVlad Zagorodniy, Wei-Ting Kuo, Wenjian Huang, William Dmitri Breaden Madden, 9950*b6fb3261SAndroid Build Coastguard WorkerWladimir Schmidt, Yuan Tang, Yuwen Yan, Yuxin Wu, Yuya Kusakabe, @zhongzyd, 9951*b6fb3261SAndroid Build Coastguard Worker@znah. 9952*b6fb3261SAndroid Build Coastguard Worker 9953*b6fb3261SAndroid Build Coastguard WorkerWe are also grateful to all who filed issues or helped resolve them, asked and 9954*b6fb3261SAndroid Build Coastguard Workeranswered questions, and were part of inspiring discussions. 9955*b6fb3261SAndroid Build Coastguard Worker 9956*b6fb3261SAndroid Build Coastguard Worker# Release 0.7.1 9957*b6fb3261SAndroid Build Coastguard Worker 9958*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 9959*b6fb3261SAndroid Build Coastguard Worker 9960*b6fb3261SAndroid Build Coastguard Worker* Added gfile.Open and gfile.Copy, used by input_data.py. 9961*b6fb3261SAndroid Build Coastguard Worker* Fixed Saver bug when MakeDirs tried to create empty directory. 9962*b6fb3261SAndroid Build Coastguard Worker* GPU Pip wheels are built with cuda 7.5 and cudnn-v4, making them required 9963*b6fb3261SAndroid Build Coastguard Worker for the binary releases. Lower versions of cuda/cudnn can be supported by 9964*b6fb3261SAndroid Build Coastguard Worker installing from sources and setting the options during ./configure 9965*b6fb3261SAndroid Build Coastguard Worker* Fix dataset encoding example for Python3 (@danijar) 9966*b6fb3261SAndroid Build Coastguard Worker* Fix PIP installation by not packaging protobuf as part of wheel, require 9967*b6fb3261SAndroid Build Coastguard Worker protobuf 3.0.0b2. 9968*b6fb3261SAndroid Build Coastguard Worker* Fix Mac pip installation of numpy by requiring pip >= 1.10.1. 9969*b6fb3261SAndroid Build Coastguard Worker* Improvements and fixes to Docker image. 9970*b6fb3261SAndroid Build Coastguard Worker 9971*b6fb3261SAndroid Build Coastguard Worker# Release 0.7.0 9972*b6fb3261SAndroid Build Coastguard Worker 9973*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements 9974*b6fb3261SAndroid Build Coastguard Worker 9975*b6fb3261SAndroid Build Coastguard Worker* Allow using any installed Cuda >= 7.0 and cuDNN >= R2, and add support for 9976*b6fb3261SAndroid Build Coastguard Worker cuDNN R4 9977*b6fb3261SAndroid Build Coastguard Worker* Added a `contrib/` directory for unsupported or experimental features, 9978*b6fb3261SAndroid Build Coastguard Worker including higher level `layers` module 9979*b6fb3261SAndroid Build Coastguard Worker* Added an easy way to add and dynamically load user-defined ops 9980*b6fb3261SAndroid Build Coastguard Worker* Built out a good suite of tests, things should break less! 9981*b6fb3261SAndroid Build Coastguard Worker* Added `MetaGraphDef` which makes it easier to save graphs with metadata 9982*b6fb3261SAndroid Build Coastguard Worker* Added assignments for "Deep Learning with TensorFlow" udacity course 9983*b6fb3261SAndroid Build Coastguard Worker 9984*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes 9985*b6fb3261SAndroid Build Coastguard Worker 9986*b6fb3261SAndroid Build Coastguard Worker* Added a versioning framework for `GraphDef`s to ensure compatibility 9987*b6fb3261SAndroid Build Coastguard Worker* Enforced Python 3 compatibility 9988*b6fb3261SAndroid Build Coastguard Worker* Internal changes now show up as sensibly separated commits 9989*b6fb3261SAndroid Build Coastguard Worker* Open-sourced the doc generator 9990*b6fb3261SAndroid Build Coastguard Worker* Un-fork Eigen 9991*b6fb3261SAndroid Build Coastguard Worker* Simplified the `BUILD` files and cleaned up C++ headers 9992*b6fb3261SAndroid Build Coastguard Worker* TensorFlow can now be used as a submodule in another bazel build 9993*b6fb3261SAndroid Build Coastguard Worker* New ops (e.g., `*fft`, `*_matrix_solve`) 9994*b6fb3261SAndroid Build Coastguard Worker* Support for more data types in many ops 9995*b6fb3261SAndroid Build Coastguard Worker* Performance improvements 9996*b6fb3261SAndroid Build Coastguard Worker* Various bugfixes 9997*b6fb3261SAndroid Build Coastguard Worker* Documentation fixes and improvements 9998*b6fb3261SAndroid Build Coastguard Worker 9999*b6fb3261SAndroid Build Coastguard Worker## Breaking Changes to the API 10000*b6fb3261SAndroid Build Coastguard Worker 10001*b6fb3261SAndroid Build Coastguard Worker* `AdjustContrast` kernel deprecated, new kernel `AdjustContrastv2` takes and 10002*b6fb3261SAndroid Build Coastguard Worker outputs float only. `adjust_contrast` now takes all data types. 10003*b6fb3261SAndroid Build Coastguard Worker* `adjust_brightness`'s `delta` argument is now always assumed to be in 10004*b6fb3261SAndroid Build Coastguard Worker `[0,1]` (as is the norm for images in floating point formats), independent 10005*b6fb3261SAndroid Build Coastguard Worker of the data type of the input image. 10006*b6fb3261SAndroid Build Coastguard Worker* The image processing ops do not take `min` and `max` inputs any more, 10007*b6fb3261SAndroid Build Coastguard Worker casting safety is handled by `saturate_cast`, which makes sure over- and 10008*b6fb3261SAndroid Build Coastguard Worker underflows are handled before casting to data types with smaller ranges. 10009*b6fb3261SAndroid Build Coastguard Worker* For C++ API users: `IsLegacyScalar` and `IsLegacyVector` are now gone from 10010*b6fb3261SAndroid Build Coastguard Worker `TensorShapeUtils` since TensorFlow is scalar strict within Google (for 10011*b6fb3261SAndroid Build Coastguard Worker example, the shape argument to `tf.reshape` can't be a scalar anymore). The 10012*b6fb3261SAndroid Build Coastguard Worker open source release was already scalar strict, so outside Google `IsScalar` 10013*b6fb3261SAndroid Build Coastguard Worker and `IsVector` are exact replacements. 10014*b6fb3261SAndroid Build Coastguard Worker* The following files are being removed from `tensorflow/core/public/`: 10015*b6fb3261SAndroid Build Coastguard Worker * `env.h` -> `../platform/env.h` 10016*b6fb3261SAndroid Build Coastguard Worker * `status.h` -> `../lib/core/status.h` 10017*b6fb3261SAndroid Build Coastguard Worker * `tensor.h` -> `../framework/tensor.h` 10018*b6fb3261SAndroid Build Coastguard Worker * `tensor_shape.h` -> `../framework/tensor_shape.h` 10019*b6fb3261SAndroid Build Coastguard Worker * `partial_tensor_shape.h` -> `../framework/partial_tensor_shape.h` 10020*b6fb3261SAndroid Build Coastguard Worker * `tensorflow_server.h` deleted 10021*b6fb3261SAndroid Build Coastguard Worker* For C++ API users: `TensorShape::ShortDebugString` has been renamed to 10022*b6fb3261SAndroid Build Coastguard Worker `DebugString`, and the previous `DebugString` behavior is gone (it was 10023*b6fb3261SAndroid Build Coastguard Worker needlessly verbose and produced a confusing empty string for scalars). 10024*b6fb3261SAndroid Build Coastguard Worker* `GraphOptions.skip_common_subexpression_elimination` has been removed. All 10025*b6fb3261SAndroid Build Coastguard Worker graph optimizer options are now specified via 10026*b6fb3261SAndroid Build Coastguard Worker `GraphOptions.OptimizerOptions`. 10027*b6fb3261SAndroid Build Coastguard Worker* `ASSERT_OK` / `EXPECT_OK` macros conflicted with external projects, so they 10028*b6fb3261SAndroid Build Coastguard Worker were renamed `TF_ASSERT_OK`, `TF_EXPECT_OK`. The existing macros are 10029*b6fb3261SAndroid Build Coastguard Worker currently maintained for short-term compatibility but will be removed. 10030*b6fb3261SAndroid Build Coastguard Worker* The non-public `nn.rnn` and the various `nn.seq2seq` methods now return just 10031*b6fb3261SAndroid Build Coastguard Worker the final state instead of the list of all states. 10032*b6fb3261SAndroid Build Coastguard Worker* `tf.scatter_update` now no longer guarantees that lexicographically largest 10033*b6fb3261SAndroid Build Coastguard Worker index be used for update when duplicate entries exist. 10034*b6fb3261SAndroid Build Coastguard Worker* `tf.image.random_crop(image, [height, width])` is now `tf.random_crop(image, 10035*b6fb3261SAndroid Build Coastguard Worker [height, width, depth])`, and `tf.random_crop` works for any rank (not just 10036*b6fb3261SAndroid Build Coastguard Worker 3-D images). The C++ `RandomCrop` op has been replaced with pure Python. 10037*b6fb3261SAndroid Build Coastguard Worker* Renamed `tf.test.GetTempDir` and `tf.test.IsBuiltWithCuda` to 10038*b6fb3261SAndroid Build Coastguard Worker `tf.test.get_temp_dir` and `tf.test.is_built_with_cuda` for PEP-8 10039*b6fb3261SAndroid Build Coastguard Worker compatibility. 10040*b6fb3261SAndroid Build Coastguard Worker* `parse_example`'s interface has changed, the old interface is accessible in 10041*b6fb3261SAndroid Build Coastguard Worker `legacy_parse_example` (same for related functions). 10042*b6fb3261SAndroid Build Coastguard Worker* New `Variable`s are not added to the same collection several times even if a 10043*b6fb3261SAndroid Build Coastguard Worker list with duplicates is passed to the constructor. 10044*b6fb3261SAndroid Build Coastguard Worker* The Python API will now properly set the `list` member of `AttrValue` in 10045*b6fb3261SAndroid Build Coastguard Worker constructed `GraphDef` messages for empty lists. The serialization of some 10046*b6fb3261SAndroid Build Coastguard Worker graphs will change, but the change is both forwards and backwards 10047*b6fb3261SAndroid Build Coastguard Worker compatible. It will break tests that compare a generated `GraphDef` to a 10048*b6fb3261SAndroid Build Coastguard Worker golden serialized `GraphDef` (which is discouraged). 10049*b6fb3261SAndroid Build Coastguard Worker 10050*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors 10051*b6fb3261SAndroid Build Coastguard Worker 10052*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as: 10053*b6fb3261SAndroid Build Coastguard Worker 10054*b6fb3261SAndroid Build Coastguard WorkerAkiomi Kamakura, Alex Vig, Alexander Rosenberg Johansen, Andre Cruz, Arun Ahuja, 10055*b6fb3261SAndroid Build Coastguard WorkerBart Coppens, Bernardo Pires, Carl Vondrick, Cesar Salgado, Chen Yu, Christian 10056*b6fb3261SAndroid Build Coastguard WorkerJauvin, Damien Aymeric, Dan Vanderkam, Denny Britz, Dongjoon Hyun, Eren Güven, 10057*b6fb3261SAndroid Build Coastguard WorkerErik Erwitt, Fabrizio Milo, G. Hussain Chinoy, Jim Fleming, Joao Felipe Santos, 10058*b6fb3261SAndroid Build Coastguard WorkerJonas Meinertz Hansen, Joshi Rekha, Julian Viereck, Keiji Ariyama, Kenton Lee, 10059*b6fb3261SAndroid Build Coastguard WorkerKrishna Sankar, Kristina Chodorow, Linchao Zhu, Lukas Krecan, Mark Borgerding, 10060*b6fb3261SAndroid Build Coastguard WorkerMark Daoust, Moussa Taifi, Nathan Howell, Naveen Sundar Govindarajulu, Nick 10061*b6fb3261SAndroid Build Coastguard WorkerSweeting, Niklas Riekenbrauck, Olivier Grisel, Patrick Christ, Povilas 10062*b6fb3261SAndroid Build Coastguard WorkerLiubauskas, Rainer Wasserfuhr, Romain Thouvenin, Sagan Bolliger, Sam Abrahams, 10063*b6fb3261SAndroid Build Coastguard WorkerTaehoon Kim, Timothy J Laurent, Vlad Zavidovych, Yangqing Jia, Yi-Lin Juang, 10064*b6fb3261SAndroid Build Coastguard WorkerYuxin Wu, Zachary Lipton, Zero Chen, Alan Wu, @brchiu, @emmjaykay, @jalammar, 10065*b6fb3261SAndroid Build Coastguard Worker@Mandar-Shinde, @nsipplswezey, @ninotoshi, @panmari, @prolearner and 10066*b6fb3261SAndroid Build Coastguard Worker@rizzomichaelg. 10067*b6fb3261SAndroid Build Coastguard Worker 10068*b6fb3261SAndroid Build Coastguard WorkerWe are also grateful to all who filed issues or helped resolve them, asked and 10069*b6fb3261SAndroid Build Coastguard Workeranswered questions, and were part of inspiring discussions. 10070*b6fb3261SAndroid Build Coastguard Worker 10071*b6fb3261SAndroid Build Coastguard Worker# Release 0.6.0 10072*b6fb3261SAndroid Build Coastguard Worker 10073*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements 10074*b6fb3261SAndroid Build Coastguard Worker 10075*b6fb3261SAndroid Build Coastguard Worker* Python 3.3+ support via changes to python codebase and ability to specify 10076*b6fb3261SAndroid Build Coastguard Worker python version via ./configure. 10077*b6fb3261SAndroid Build Coastguard Worker 10078*b6fb3261SAndroid Build Coastguard Worker* Some improvements to GPU performance and memory usage: 10079*b6fb3261SAndroid Build Coastguard Worker [convnet benchmarks](https://github.com/soumith/convnet-benchmarks/issues/66) 10080*b6fb3261SAndroid Build Coastguard Worker roughly equivalent with native cudnn v2 performance. Improvements mostly due 10081*b6fb3261SAndroid Build Coastguard Worker to moving to 32-bit indices, faster shuffling kernels. More improvements to 10082*b6fb3261SAndroid Build Coastguard Worker come in later releases. 10083*b6fb3261SAndroid Build Coastguard Worker 10084*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes 10085*b6fb3261SAndroid Build Coastguard Worker 10086*b6fb3261SAndroid Build Coastguard Worker* Lots of fixes to documentation and tutorials, many contributed by the 10087*b6fb3261SAndroid Build Coastguard Worker public. 10088*b6fb3261SAndroid Build Coastguard Worker 10089*b6fb3261SAndroid Build Coastguard Worker* 271 closed issues on github issues. 10090*b6fb3261SAndroid Build Coastguard Worker 10091*b6fb3261SAndroid Build Coastguard Worker## Backwards-Incompatible Changes 10092*b6fb3261SAndroid Build Coastguard Worker 10093*b6fb3261SAndroid Build Coastguard Worker* `tf.nn.fixed_unigram_candidate_sampler` changed its default 'distortion' 10094*b6fb3261SAndroid Build Coastguard Worker attribute from 0.0 to 1.0. This was a bug in the original release that is 10095*b6fb3261SAndroid Build Coastguard Worker now fixed. 10096*b6fb3261SAndroid Build Coastguard Worker 10097*b6fb3261SAndroid Build Coastguard Worker* added DeterministicRandomTestTool to migration_utils.py. This is useful when 10098*b6fb3261SAndroid Build Coastguard Worker you are migrating from TF 1.x to TF2 and need to make sure your computation 10099*b6fb3261SAndroid Build Coastguard Worker is still happening correctly along the way. See the 10100*b6fb3261SAndroid Build Coastguard Worker [validating correctness migration guide](https://www.tensorflow.org/guide/migrate/validate_correctness) 10101*b6fb3261SAndroid Build Coastguard Worker for more info. 10102*b6fb3261SAndroid Build Coastguard Worker 10103*b6fb3261SAndroid Build Coastguard Worker# Release 0.5.0 10104*b6fb3261SAndroid Build Coastguard Worker 10105*b6fb3261SAndroid Build Coastguard WorkerInitial release of TensorFlow. 10106