Bumps tensorflow from 1.14 to 1.15.2.
Release notes
Sourced from tensorflow's releases.
TensorFlow 1.15.2
Release 1.15.2
Bug Fixes and Other Changes
TensorFlow 1.15.0
Release 1.15.0
This is the last 1.x release for TensorFlow. We do not expect to update the 1.x branch with features, although we will issue patch releases to fix vulnerabilities for at least one year.
Major Features and Improvements
- As announced,
tensorflow
pip package will by default include GPU support (same as tensorflow-gpu
now) for the platforms we currently have GPU support (Linux and Windows). It will work on machines with and without Nvidia GPUs. tensorflow-gpu
will still be available, and CPU-only packages can be downloaded at tensorflow-cpu
for users who are concerned about package size.
- TensorFlow 1.15 contains a complete implementation of the 2.0 API in its
compat.v2
module. It contains a copy of the 1.15 main module (without contrib
) in the compat.v1
module. TensorFlow 1.15 is able to emulate 2.0 behavior using the enable_v2_behavior()
function.
This enables writing forward compatible code: by explicitly importing either tensorflow.compat.v1
or tensorflow.compat.v2
, you can ensure that your code works without modifications against an installation of 1.15 or 2.0.
EagerTensor
now supports numpy buffer interface for tensors.
- Add toggles
tf.enable_control_flow_v2()
and tf.disable_control_flow_v2()
for enabling/disabling v2 control flow.
- Enable v2 control flow as part of
tf.enable_v2_behavior()
and TF2_BEHAVIOR=1
.
- AutoGraph translates Python control flow into TensorFlow expressions, allowing users to write regular Python inside
tf.function
-decorated functions. AutoGraph is also applied in functions used with tf.data
, tf.distribute
and tf.keras
APIS.
- Adds
enable_tensor_equality()
, which switches the behavior such that:
- Tensors are no longer hashable.
- Tensors can be compared with
==
and !=
, yielding a Boolean Tensor with element-wise comparison results. This will be the default behavior in 2.0.
- Auto Mixed-Precision graph optimizer simplifies converting models to
float16
for acceleration on Volta and Turing Tensor Cores. This feature can be enabled by wrapping an optimizer class with tf.train.experimental.enable_mixed_precision_graph_rewrite()
.
- Add environment variable
TF_CUDNN_DETERMINISTIC
. Setting to "true" or "1" forces the selection of deterministic cuDNN convolution and max-pooling algorithms. When this is enabled, the algorithm selection procedure itself is also deterministic.
- TensorRT
- Migrate TensorRT conversion sources from contrib to compiler directory in preparation for TF 2.0.
- Add additional, user friendly
TrtGraphConverter
API for TensorRT conversion.
- Expand support for TensorFlow operators in TensorRT conversion (e.g.
Gather
, Slice
, Pack
, Unpack
, ArgMin
, ArgMax
,DepthSpaceShuffle
).
- Support TensorFlow operator
CombinedNonMaxSuppression
in TensorRT conversion which
significantly accelerates object detection models.
Breaking Changes
- Tensorflow code now produces 2 different pip packages:
tensorflow_core
containing all the code (in the future it will contain only the private implementation) and tensorflow
which is a virtual pip package doing forwarding to tensorflow_core
(and in the future will contain only the public API of tensorflow). We don't expect this to be breaking, unless you were importing directly from the implementation.
- TensorFlow 1.15 is built using devtoolset7 (GCC7) on Ubuntu 16. This may lead to ABI incompatibilities with extensions built against earlier versions of TensorFlow.
- Deprecated the use of
constraint=
and .constraint
with ResourceVariable.
tf.keras
:
OMP_NUM_THREADS
is no longer used by the default Keras config. To configure the number of threads, use tf.config.threading
APIs.
tf.keras.model.save_model
and model.save
now defaults to saving a TensorFlow SavedModel.
keras.backend.resize_images
(and consequently, keras.layers.Upsampling2D
) behavior has changed, a bug in the resizing implementation was fixed.
- Layers now default to
float32
, and automatically cast their inputs to the layer's dtype. If you had a model that used float64
, it will probably silently use float32
in TensorFlow2, and a warning will be issued that starts with Layer "layer-name" is casting an input tensor from dtype float64 to the layer's dtype of float32. To fix, either set the default dtype to float64 with tf.keras.backend.set_floatx('float64')
, or pass dtype='float64'
to each of the Layer constructors. See tf.keras.layers.Layer
for more information.
- Some
tf.assert_*
methods now raise assertions at operation creation time (i.e. when this Python line executes) if the input tensors' values are known at that time, not during the session.run(). When this happens, a noop is returned and the input tensors are marked non-feedable. In other words, if they are used as keys in feed_dict
argument to session.run()
, an error will be raised. Also, because some assert ops don't make it into the graph, the graph structure changes. A different graph can result in different per-op random seeds when they are not given explicitly (most often).
Bug Fixes and Other Changes
tf.estimator
:
tf.keras.estimator.model_to_estimator
now supports exporting to tf.train.Checkpoint
format, which allows the saved checkpoints to be compatible with model.load_weights
.
- Fix tests in canned estimators.
- Expose Head as public API.
- Fixes critical bugs that help with
DenseFeatures
usability in TF2
... (truncated)
Changelog
Sourced from tensorflow's changelog.
Release 1.15.2
Bug Fixes and Other Changes
Release 2.1.0
TensorFlow 2.1 will be the last TF release supporting Python 2. Python 2 support officially ends an January 1, 2020. As announced earlier, TensorFlow will also stop supporting Python 2 starting January 1, 2020, and no more releases are expected in 2019.
Major Features and Improvements
- The
tensorflow
pip package now includes GPU support by default (same as tensorflow-gpu
) for both Linux and Windows. This runs on machines with and without NVIDIA GPUs. tensorflow-gpu
is still available, and CPU-only packages can be downloaded at tensorflow-cpu
for users who are concerned about package size.
- Windows users: Officially-released
tensorflow
Pip packages are now built with Visual Studio 2019 version 16.4 in order to take advantage of the new /d2ReducedOptimizeHugeFunctions
compiler flag. To use these new packages, you must install "Microsoft Visual C++ Redistributable for Visual Studio 2015, 2017 and 2019", available from Microsoft's website here.
- This does not change the minimum required version for building TensorFlow from source on Windows, but builds enabling
EIGEN_STRONG_INLINE
can take over 48 hours to compile without this flag. Refer to configure.py
for more information about EIGEN_STRONG_INLINE
and /d2ReducedOptimizeHugeFunctions
.
- If either of the required DLLs,
msvcp140.dll
(old) or msvcp140_1.dll
(new), are missing on your machine, import tensorflow
will print a warning message.
- The
tensorflow
pip package is built with CUDA 10.1 and cuDNN 7.6.
tf.keras
- Experimental support for mixed precision is available on GPUs and Cloud TPUs. See usage guide.
- Introduced the
TextVectorization
layer, which takes as input raw strings and takes care of text standardization, tokenization, n-gram generation, and vocabulary indexing. See this end-to-end text classification example.
- Keras
.compile
.fit
.evaluate
and .predict
are allowed to be outside of the DistributionStrategy scope, as long as the model was constructed inside of a scope.
- Experimental support for Keras
.compile
, .fit
, .evaluate
, and .predict
is available for Cloud TPUs, Cloud TPU, for all types of Keras models (sequential, functional and subclassing models).
- Automatic outside compilation is now enabled for Cloud TPUs. This allows
tf.summary
to be used more conveniently with Cloud TPUs.
- Dynamic batch sizes with DistributionStrategy and Keras are supported on Cloud TPUs.
- Support for
.fit
, .evaluate
, .predict
on TPU using numpy data, in addition to tf.data.Dataset
.
- Keras reference implementations for many popular models are available in the TensorFlow Model Garden.
tf.data
- Changes rebatching for
tf.data datasets
+ DistributionStrategy for better performance. Note that the dataset also behaves slightly differently, in that the rebatched dataset cardinality will always be a multiple of the number of replicas.
tf.data.Dataset
now supports automatic data distribution and sharding in distributed environments, including on TPU pods.
- Distribution policies for
tf.data.Dataset
can now be tuned with 1. tf.data.experimental.AutoShardPolicy(OFF, AUTO, FILE, DATA)
2. tf.data.experimental.ExternalStatePolicy(WARN, IGNORE, FAIL)
tf.debugging
- Add
tf.debugging.enable_check_numerics()
and tf.debugging.disable_check_numerics()
to help debugging the root causes of issues involving infinities and NaN
s.
tf.distribute
- Custom training loop support on TPUs and TPU pods is avaiable through
strategy.experimental_distribute_dataset
, strategy.experimental_distribute_datasets_from_function
, strategy.experimental_run_v2
, strategy.reduce
.
- Support for a global distribution strategy through
tf.distribute.experimental_set_strategy(),
in addition to strategy.scope()
.
TensorRT
- TensorRT 6.0 is now supported and enabled by default. This adds support for more TensorFlow ops including Conv3D, Conv3DBackpropInputV2, AvgPool3D, MaxPool3D, ResizeBilinear, and ResizeNearestNeighbor. In addition, the TensorFlow-TensorRT python conversion API is exported as
tf.experimental.tensorrt.Converter
.
- Environment variable
TF_DETERMINISTIC_OPS
has been added. When set to "true" or "1", this environment variable makes tf.nn.bias_add
operate deterministically (i.e. reproducibly), but currently only when XLA JIT compilation is not enabled. Setting TF_DETERMINISTIC_OPS
to "true" or "1" also makes cuDNN convolution and max-pooling operate deterministically. This makes Keras Conv*D and MaxPool*D layers operate deterministically in both the forward and backward directions when running on a CUDA-enabled GPU.
Breaking Changes
- Deletes
Operation.traceback_with_start_lines
for which we know of no usages.
- Removed
id
from tf.Tensor.__repr__()
as id
is not useful other than internal debugging.
- Some
tf.assert_*
methods now raise assertions at operation creation time if the input tensors' values are known at that time, not during the session.run()
. This only changes behavior when the graph execution would have resulted in an error. When this happens, a noop is returned and the input tensors are marked non-feedable. In other words, if they are used as keys in feed_dict
argument to session.run()
, an error will be raised. Also, because some assert ops don't make it into the graph, the graph structure changes. A different graph can result in different per-op random seeds when they are not given explicitly (most often).
- The following APIs are not longer experimental:
tf.config.list_logical_devices
, tf.config.list_physical_devices
, tf.config.get_visible_devices
, tf.config.set_visible_devices
, tf.config.get_logical_device_configuration
, tf.config.set_logical_device_configuration
.
tf.config.experimentalVirtualDeviceConfiguration
has been renamed to tf.config.LogicalDeviceConfiguration
.
tf.config.experimental_list_devices
has been removed, please use
tf.config.list_logical_devices
.
Bug Fixes and Other Changes
... (truncated)
Commits
5d80e1e
Merge pull request #36215 from tensorflow-jenkins/version-numbers-1.15.2-8214
71e9d8f
Update version numbers to 1.15.2
e50120e
Merge pull request #36214 from tensorflow-jenkins/relnotes-1.15.2-2203
1a7e9fb
Releasing 1.15.2 instead of 1.15.1
85f7aab
Insert release notes place-fill
e75a6d6
Merge pull request #36190 from tensorflow/mm-r1.15-fix-v2-build
a6d8973
Use config=v1
as this is r1.15
branch.
fdb8589
Merge pull request #35912 from tensorflow-jenkins/relnotes-1.15.1-31298
a6051e8
Add CVE number for main patch
360b2e3
Merge pull request #34532 from ROCmSoftwarePlatform/r1.15-rccl-upstream-patch
- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR
@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it
@dependabot merge
will merge this PR after your CI passes on it
@dependabot squash and merge
will squash and merge this PR after your CI passes on it
@dependabot cancel merge
will cancel a previously requested merge and block automerging
@dependabot reopen
will reopen this PR if it is closed
@dependabot ignore this [patch|minor|major] version
will close this PR and stop Dependabot creating any more for this minor/major version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
@dependabot use these labels
will set the current labels as the default for future PRs for this repo and language
@dependabot use these reviewers
will set the current reviewers as the default for future PRs for this repo and language
@dependabot use these assignees
will set the current assignees as the default for future PRs for this repo and language
@dependabot use this milestone
will set the current milestone as the default for future PRs for this repo and language
You can disable automated security fix PRs for this repo from the Security Alerts page.
dependencies