Skip to content

Commit e928f99

Browse files
author
Lu Teng
authored
Merge branch 'master' into tenglu/gen_onednn_version
2 parents 6b8f854 + 0f47e0d commit e928f99

File tree

7,284 files changed

+286768
-181615
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

7,284 files changed

+286768
-181615
lines changed

.bazelrc

+107-52
Large diffs are not rendered by default.

.bazelversion

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
6.1.0
1+
6.5.0
22
# NOTE: Update Bazel version in tensorflow/tools/ci_build/release/common.sh.oss

.github/workflows/arm-cd.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -57,12 +57,12 @@ jobs:
5757
run: find /home/ubuntu/actions-runner/_work/tensorflow/tensorflow/. -name . -o -prune -exec sudo rm -rf -- {} + || true
5858
- name: Checkout repository for nightly (skipped for releases)
5959
if: ${{ github.event_name == 'schedule' }}
60-
uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # v3.2.0
60+
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
6161
with:
6262
ref: 'nightly'
6363
- name: Checkout repository for releases (skipped for nightly)
6464
if: ${{ github.event_name == 'push' }}
65-
uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # v3.2.0
65+
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
6666
- name: Build and test pip wheel
6767
shell: bash
6868
run: |

.github/workflows/arm-ci-extended-cpp.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,12 @@ jobs:
5050
run: find /home/ubuntu/actions-runner/_work/tensorflow/tensorflow/. -name . -o -prune -exec sudo rm -rf -- {} + || true
5151
- name: Checkout repository for nightly (skipped for releases)
5252
if: ${{ github.event_name == 'schedule' }}
53-
uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # v3.2.0
53+
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
5454
with:
5555
ref: 'nightly'
5656
- name: Checkout repository
5757
if: ${{ github.event_name == 'push' }}
58-
uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # v3.2.0
58+
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
5959
- name: Build binary and run C++ tests
6060
shell: bash
6161
run: |

.github/workflows/arm-ci-extended.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -51,12 +51,12 @@ jobs:
5151
run: find /home/ubuntu/actions-runner/_work/tensorflow/tensorflow/. -name . -o -prune -exec sudo rm -rf -- {} + || true
5252
- name: Checkout repository for nightly (skipped for releases)
5353
if: ${{ github.event_name == 'schedule' }}
54-
uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # v3.2.0
54+
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
5555
with:
5656
ref: 'nightly'
5757
- name: Checkout repository
5858
if: ${{ github.event_name == 'push' }}
59-
uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # v3.2.0
59+
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
6060
- name: Build binary and run python tests on nightly for all python versions
6161
shell: bash
6262
run: |

.github/workflows/arm-ci.yml

+1-7
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,6 @@ on:
2020
branches:
2121
- master
2222
- r2.**
23-
pull_request:
24-
types: [labeled, opened, synchronize, reopened]
25-
branches:
26-
- master
27-
- r2.**
28-
2923
permissions:
3024
contents: read
3125

@@ -53,7 +47,7 @@ jobs:
5347
shell: bash
5448
run: find /home/ubuntu/actions-runner/_work/tensorflow/tensorflow/. -name . -o -prune -exec sudo rm -rf -- {} + || true
5549
- name: Checkout repository
56-
uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # v3.2.0
50+
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
5751
- name: Build binary and run python tests
5852
shell: bash
5953
run: |

.github/workflows/osv-scanner-scheduled.yml

+3-2
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@ permissions:
2727

2828
jobs:
2929
scan-scheduled:
30-
uses: "google/osv-scanner/.github/workflows/osv-scanner-reusable.yml@main"
30+
if: github.repository == 'tensorflow/tensorflow'
31+
uses: "google/osv-scanner-action/.github/workflows/osv-scanner-reusable.yml@v1.6.2-beta1"
3132
with:
3233
scan-args: |-
3334
--lockfile=requirements.txt:./requirements_lock_3_9.txt
@@ -36,4 +37,4 @@ jobs:
3637
--lockfile=requirements.txt:./requirements_lock_3_12.txt
3738
--lockfile=requirements.txt:./ci/official/containers/linux_arm64/devel.requirements.txt
3839
--lockfile=requirements.txt:./ci/official/containers/linux_arm64/jax.requirements.txt
39-
--lockfile=requirements.txt:./ci/official/containers/linux_arm64/devel.usertools/test.requirements.txt
40+
--lockfile=requirements.txt:./ci/official/containers/linux_arm64/devel.usertools/test.requirements.txt

.github/workflows/stale-issues.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ jobs:
3131
pull-requests: write
3232
steps:
3333
- name: Awaiting response issues
34-
uses: actions/stale@v7
34+
uses: actions/stale@6f05e4244c9a0b2ed3401882b05d701dd0a7289b # v7.0.0
3535
with:
3636
#Comma separated list of labels that can be assigned to issues to exclude them from being marked as stale
3737
exempt-issue-labels: 'override-stale'
@@ -59,7 +59,7 @@ jobs:
5959
close-pr-message: "This PR was closed because it has been inactive for 14 days since being marked as stale. Please reopen if you'd like to work on this further."
6060
repo-token: ${{ secrets.GITHUB_TOKEN }}
6161
- name: Contribution issues
62-
uses: actions/stale@v7
62+
uses: actions/stale@6f05e4244c9a0b2ed3401882b05d701dd0a7289b # v7.0.0
6363
with:
6464
#Comma separated list of labels that can be assigned to issues to exclude them from being marked as stale
6565
exempt-issue-labels: 'override-stale'

.github/workflows/update-rbe.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -106,13 +106,13 @@ jobs:
106106
map sigbuild-r2.14-clang-python3.10 2.14-python3.10
107107
map sigbuild-r2.14-clang-python3.11 2.14-python3.11
108108
# TF 2.16
109-
map sigbuild-r2.16 2.16-python3.9
109+
map sigbuild-r2.16 2.16-python3.11
110110
map sigbuild-r2.16-python3.9 2.16-python3.9
111111
map sigbuild-r2.16-python3.10 2.16-python3.10
112112
map sigbuild-r2.16-python3.11 2.16-python3.11
113113
map sigbuild-r2.16-python3.12 2.16-python3.12
114114
# TF 2.16 + Clang (containers are the same, but env vars in configs.bzl are different)
115-
map sigbuild-r2.16-clang 2.16-python3.9
115+
map sigbuild-r2.16-clang 2.16-python3.11
116116
map sigbuild-r2.16-clang-python3.9 2.16-python3.9
117117
map sigbuild-r2.16-clang-python3.10 2.16-python3.10
118118
map sigbuild-r2.16-clang-python3.11 2.16-python3.11

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
node_modules
44
/.bazelrc.user
55
/.tf_configure.bazelrc
6+
/xla_configure.bazelrc
67
/bazel-*
78
/bazel_pip
89
/tools/python_bin_path.sh

CONTRIBUTING.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ Before sending your pull requests, make sure you do the following:
4444
- If a change is needed, the contributor is requested to make the suggested
4545
change.
4646
- You make the change and submit it for the review again.
47-
- This cycle repeats itself untill the PR gets approved.
47+
- This cycle repeats itself until the PR gets approved.
4848
- Note: As a friendly reminder, we may reach out to you if the PR is awaiting
4949
your response for more than 2 weeks.
5050

ISSUE_TEMPLATE.md

-47
This file was deleted.

RELEASE.md

+185-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Release 2.16.0
1+
# Release 2.17.0
22

33
## TensorFlow
44

@@ -20,6 +20,127 @@
2020
* <INSERT MAJOR FEATURE HERE, USING MARKDOWN SYNTAX>
2121
* <IF RELEASE CONTAINS MULTIPLE FEATURES FROM SAME AREA, GROUP THEM TOGETHER>
2222

23+
### Bug Fixes and Other Changes
24+
25+
* <SIMILAR TO ABOVE SECTION, BUT FOR OTHER IMPORTANT CHANGES / BUG FIXES>
26+
* <IF A CHANGE CLOSES A GITHUB ISSUE, IT SHOULD BE DOCUMENTED HERE>
27+
* <NOTES SHOULD BE GROUPED PER AREA>
28+
29+
## Keras
30+
31+
<INSERT SMALL BLURB ABOUT RELEASE FOCUS AREA AND POTENTIAL TOOLCHAIN CHANGES>
32+
33+
### Breaking Changes
34+
35+
* <DOCUMENT BREAKING CHANGES HERE>
36+
* <THIS SECTION SHOULD CONTAIN API, ABI AND BEHAVIORAL BREAKING CHANGES>
37+
38+
### Known Caveats
39+
40+
* <CAVEATS REGARDING THE RELEASE (BUT NOT BREAKING CHANGES).>
41+
* <ADDING/BUMPING DEPENDENCIES SHOULD GO HERE>
42+
* <KNOWN LACK OF SUPPORT ON SOME PLATFORM, SHOULD GO HERE>
43+
44+
### Major Features and Improvements
45+
46+
* <INSERT MAJOR FEATURE HERE, USING MARKDOWN SYNTAX>
47+
* <IF RELEASE CONTAINS MULTIPLE FEATURES FROM SAME AREA, GROUP THEM TOGETHER>
48+
49+
### Bug Fixes and Other Changes
50+
51+
* <SIMILAR TO ABOVE SECTION, BUT FOR OTHER IMPORTANT CHANGES / BUG FIXES>
52+
* <IF A CHANGE CLOSES A GITHUB ISSUE, IT SHOULD BE DOCUMENTED HERE>
53+
* <NOTES SHOULD BE GROUPED PER AREA>
54+
55+
* `tf.lite`
56+
* Quantization for `FullyConnected` layer is switched from per-tensor to
57+
per-channel scales for dynamic range quantization use case (`float32`
58+
inputs / outputs and `int8` weights). The change enables new quantization
59+
schema globally in the converter and inference engine. The new behaviour
60+
can be disabled via experimental
61+
flag `converter._experimental_disable_per_channel_quantization_for_dense_layers = True`.
62+
63+
## Thanks to our Contributors
64+
65+
This release contains contributions from many people at Google, as well as:
66+
67+
<INSERT>, <NAME>, <HERE>, <USING>, <GITHUB>, <HANDLE>
68+
69+
# Release 2.16.0
70+
71+
## TensorFlow
72+
73+
<INSERT SMALL BLURB ABOUT RELEASE FOCUS AREA AND POTENTIAL TOOLCHAIN CHANGES>
74+
75+
* TensorFlow Windows Build:
76+
77+
* Clang is now the default compiler to build TensorFlow CPU wheels on the
78+
Windows Platform starting with this release. The currently supported
79+
version is LLVM/clang 17. The official Wheels-published on PyPI will be
80+
based on Clang; however, users retain the option to build wheels using
81+
the MSVC compiler following the steps mentioned in
82+
https://www.tensorflow.org/install/source_windows as has been the case
83+
before
84+
85+
### Breaking Changes
86+
87+
* <DOCUMENT BREAKING CHANGES HERE>
88+
* <THIS SECTION SHOULD CONTAIN API, ABI AND BEHAVIORAL BREAKING CHANGES>
89+
90+
* `tf.summary.trace_on` now takes a `profiler_outdir` argument. This must be
91+
set if `profiler` arg is set to `True`.
92+
93+
* `tf.summary.trace_export`'s `profiler_outdir` arg is now a no-op.
94+
Enabling the profiler now requires setting `profiler_outdir` in
95+
`trace_on`.
96+
97+
* `tf.estimator`
98+
99+
* The tf.estimator API is removed.
100+
101+
* Keras 3.0 will be the default Keras version. You may need to update your
102+
script to use Keras 3.0.
103+
104+
* Please refer to the new Keras documentation for Keras 3.0
105+
(https://keras.io/keras_3).
106+
107+
* To continue using Keras 2.0, do the following.
108+
109+
* 1. Install tf-keras via pip install tf-keras~=2.16
110+
111+
1. To switch tf.keras to use Keras 2 (tf-keras), set the environment
112+
variable TF_USE_LEGACY_KERAS=1 directly or in your python program by
113+
import os;os.environ["TF_USE_LEGACY_KERAS"]=1. Please note that this
114+
will set it for all packages in your Python runtime program
115+
116+
* 1. Change import of keras from tensorflow as follows
117+
* import tensorflow.keras as keras and import keras to import tf_keras as
118+
keras
119+
* **Apple Silicon users:** If you previously installed TensorFlow using
120+
`pip install tensorflow-macos`, please update your installation method. Use
121+
`pip install tensorflow` from now on. Starting with TF 2.17, the
122+
`tensorflow-macos` package will no longer receive updates.
123+
124+
### Known Caveats
125+
126+
* <CAVEATS REGARDING THE RELEASE (BUT NOT BREAKING CHANGES).>
127+
* <ADDING/BUMPING DEPENDENCIES SHOULD GO HERE>
128+
* <KNOWN LACK OF SUPPORT ON SOME PLATFORM, SHOULD GO HERE>
129+
130+
* Full aarch64 Linux and Arm64 macOS wheels are now published to the
131+
`tensorflow` pypi repository and no longer redirect to a separate package.
132+
133+
### Major Features and Improvements
134+
135+
* <INSERT MAJOR FEATURE HERE, USING MARKDOWN SYNTAX>
136+
* <IF RELEASE CONTAINS MULTIPLE FEATURES FROM SAME AREA, GROUP THEM TOGETHER>
137+
138+
* Support for Python 3.12 has been added.
139+
* [tensorflow-tpu](https://pypi.org/project/tensorflow-tpu/) package is now
140+
available for easier TPU based installs.
141+
* TensorFlow pip packages are now built with CUDA 12.3 and cuDNN 8.9.7
142+
143+
23144
### Bug Fixes and Other Changes
24145

25146
* <SIMILAR TO ABOVE SECTION, BUT FOR OTHER IMPORTANT CHANGES / BUG FIXES>
@@ -32,6 +153,36 @@
32153
* Added support for `stablehlo.multiply`.
33154
* Added support for `stablehlo.maximum`.
34155
* Added support for `stablehlo.minimum`.
156+
* Added boolean parameter support for `tfl.gather_nd`.
157+
158+
* `tf.train.CheckpointOptions` and `tf.saved_model.SaveOptions`
159+
* These now take in a new argument called `experimental_sharding_callback`.
160+
This is a callback function wrapper that will be executed to determine how
161+
tensors will be split into shards when the saver writes the checkpoint
162+
shards to disk. `tf.train.experimental.ShardByTaskPolicy` is the default
163+
sharding behavior, but `tf.train.experimental.MaxShardSizePolicy` can be
164+
used to shard the checkpoint with a maximum shard file size. Users with
165+
advanced use cases can also write their own custom
166+
`tf.train.experimental.ShardingCallback`s.
167+
168+
* `tf.train.CheckpointOptions`
169+
* Added `experimental_skip_slot_variables` (a boolean option) to skip
170+
restoring of optimizer slot variables in a checkpoint.
171+
172+
* `tf.saved_model.SaveOptions`
173+
174+
* `SaveOptions` now takes a new argument called
175+
`experimental_debug_stripper`. When enabled, this strips the debug nodes
176+
from both the node defs and the function defs of the graph. Note that
177+
this currently only strips the `Assert` nodes from the graph and
178+
converts them into `NoOp`s instead.
179+
180+
* `tf.data`
181+
182+
* `tf.data` now has an `autotune_options.initial_parallelism` option to
183+
control the initial parallelism setting used by autotune before the data
184+
pipeline has started running. The default is 16. A lower value reduces
185+
initial memory usage, while a higher value improves startup time.
35186

36187
## Keras
37188

@@ -80,6 +231,39 @@ This release contains contributions from many people at Google, as well as:
80231

81232
<INSERT>, <NAME>, <HERE>, <USING>, <GITHUB>, <HANDLE>
82233

234+
# Release 2.15.0.post1
235+
236+
## TensorFlow
237+
238+
### Bug Fixes and Other Changes
239+
240+
* Hot-fix was needed for an issue affecting the TensorFlow installation
241+
process.
242+
* TensorFlow 2.15.0 Python package was requesting `tensorrt`-related
243+
packages that cannot be found unless the user installs them beforehand
244+
or provides additional installation flags.
245+
* This dependency affected anyone installing TensorFlow 2.15 alongside
246+
NVIDIA CUDA dependencies via `pip install tensorflow[and-cuda]`.
247+
* Depending on the installation method, TensorFlow 2.14 would be installed
248+
instead of 2.15, or users could receive an installation error due to
249+
those missing dependencies.
250+
* TensorFlow 2.15.0.post1 is being released for Linux x86_64 to resolve this
251+
issue as quickly as possible.
252+
* This version removes the `tensorrt` Python package dependencies from the
253+
tensorflow[and-cuda] installation method to ensure `pip install
254+
tensorflow[and-cuda]` works as originally intended for TensorFlow 2.15.
255+
* Support for TensorRT is otherwise unaffected as long as TensorRT is
256+
already installed on the system.
257+
* Using .post1 instead of a full minor release allowed us to push this release
258+
out quickly. However, please note the following caveat:
259+
* For users wishing to pin their Python dependency in a requirements file
260+
or other situation, under Python's version specification rules,
261+
`tensorflow[and-cuda]==2.15.0` will not install this fixed version.
262+
Please use `==2.15.0.post1` to specify this exact version on Linux
263+
platforms, or a fuzzy version specification, such as `==2.15.*`, to
264+
specify the most recent compatible version of TensorFlow 2.15 on all
265+
platforms.
266+
83267
# Release 2.15.0
84268

85269
## TensorFlow

0 commit comments

Comments
 (0)