Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
0b69bea
Add missing SoftsignGrad gradient registration
VaggelisGian Aug 23, 2026
0cead06
SoftsignGrad review cleanup
VaggelisGian Aug 25, 2026
dacb0ff
Regenerate pywrap_gradient_exclusions for SoftsignGrad
VaggelisGian Aug 26, 2026
32c92fb
Fix OpGradientUnusedOutputIndices array size for SoftsignGrad
VaggelisGian Aug 27, 2026
b67784d
Add low-precision support for sort, compare, and select on XLA:CPU
akuegel Aug 28, 2026
c502330
[XLA:GPU] Migrate GpuAotCompilationTest to HloPjRtGpuTestBase
akuegel Aug 28, 2026
aacf4d3
PR #47908: Bump ml-dtypes from 0.5.4 to 0.6.0
dependabot[bot] Aug 28, 2026
a710f7c
PR #47910: Bump astral-sh/setup-uv from 10.0.0 to 10.0.1
dependabot[bot] Aug 28, 2026
9724842
PR #47951: [ROCm] Enable command buffer profiling test
linchen1-robot Aug 28, 2026
658c58a
PR #48007: [XLA:GPU][oneAPI] Fix SYCL heap corruption at process exit
bhavani-subramanian Aug 28, 2026
216232f
PR #47950: [ROCm] Enable dynamic slice fusion rewriter v2 test
linchen1-robot Aug 28, 2026
ce63e2b
PR #47909: Bump github/codeql-action/upload-sarif from 4.37.6 to 4.37.7
dependabot[bot] Aug 28, 2026
630ae1a
Stop uploading AutotuneResults with optimized HLO.
shyamliagrawal Aug 28, 2026
1aa8a10
Merge pull request #126092 from VaggelisGian:fix-softsign-second-deri…
tensorflower-gardener Aug 28, 2026
33f9a16
PR #47917: [ROCm: XLA Profiler] Write VGPR and LDS kernel stats to ke…
clarkechong Aug 28, 2026
fe07098
Fall back to default computation placer and remove alwayslink
akuegel Aug 28, 2026
a33c850
[NCCL] Upgrade XLA NCCL version to 2.30.7
tensorflower-gardener Aug 28, 2026
722e8e1
[Mosaic] Add attribute to identify main function
tlongeri Aug 28, 2026
8ab2e8f
Allow mixed FP8 operand types in ConvolutionOp and DynamicConvOp.
loislo Aug 28, 2026
f18f7c5
Rollback of PR #126177
tensorflower-gardener Aug 28, 2026
5db0061
Move `Singleprint(export_dir)` from `singleprint` to `fingerprinting`.
tensorflower-gardener Aug 28, 2026
8fe8cca
Adding `xla.memory_space_assignment.MsaTensorOverrides` to explicitly…
tensorflower-gardener Aug 28, 2026
85d824a
[XLA:GPU] increase timeout for triton_fusion_numerics_verifier_test
metaflow Aug 28, 2026
97878ac
[XLA:CPU:Autotuner] Rename `LlvmKernelAutotuner` to `CpuAutotuner`
penpornk Aug 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .bazelrc
Original file line number Diff line number Diff line change
Expand Up @@ -293,13 +293,13 @@ common:mkl_aarch64 --config=mkl_aarch64_threadpool
common:cuda12_version --repo_env=HERMETIC_CUDA_VERSION="12.5.1"
common:cuda12_version --repo_env=HERMETIC_CUDNN_VERSION="9.10.0"
common:cuda12_version --repo_env=HERMETIC_NVSHMEM_VERSION="3.2.5"
common:cuda12_version --repo_env=HERMETIC_NCCL_VERSION="2.29.7"
common:cuda12_version --repo_env=HERMETIC_NCCL_VERSION="2.30.7"
common:cuda12_version --repo_env=HERMETIC_CUDA_COMPUTE_CAPABILITIES="sm_60,sm_70,sm_80,sm_89,compute_90"

common:cuda13_version --repo_env=HERMETIC_CUDA_VERSION="13.0.0"
common:cuda13_version --repo_env=HERMETIC_CUDNN_VERSION="9.12.0"
common:cuda13_version --repo_env=HERMETIC_NVSHMEM_VERSION="3.3.20"
common:cuda13_version --repo_env=HERMETIC_NCCL_VERSION="2.29.7"
common:cuda13_version --repo_env=HERMETIC_NCCL_VERSION="2.30.7"
common:cuda13_version --repo_env=HERMETIC_CUDA_COMPUTE_CAPABILITIES="sm_75,sm_80,sm_90,sm_100,compute_120"

common:cuda_version --config=cuda12_version
Expand Down
6 changes: 3 additions & 3 deletions MODULE.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -86,9 +86,9 @@ bazel_dep(name = "libprotobuf-mutator", version = "1.3", repo_name = "libprotobu
bazel_dep(name = "rules_ml_toolchain")
archive_override(
module_name = "rules_ml_toolchain",
integrity = "sha256-OwVoeEJCcEHGXRvC9K7aOjB5VXEg9b6MNGkAh6iMXeU=",
strip_prefix = "rules_ml_toolchain-2eddbc595cc0bbe650c2640204f66b14f015f1a8",
urls = ["https://github.com/google-ml-infra/rules_ml_toolchain/archive/2eddbc595cc0bbe650c2640204f66b14f015f1a8.tar.gz"],
integrity = "sha256-izPVqzV2I7ox7EYzRzcRY6ogeLcHUr4LRP2xMrkWh6A=",
strip_prefix = "rules_ml_toolchain-236a498d8624bef88e35ce2518a833204b0db19f",
urls = ["https://github.com/google-ml-infra/rules_ml_toolchain/archive/236a498d8624bef88e35ce2518a833204b0db19f.tar.gz"],
)

bazel_dep(name = "xla", repo_name = "xla")
Expand Down
6 changes: 6 additions & 0 deletions RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,12 @@ In `tensorflow/c/experimental/filesystem/filesystem_interface.h`, removed `TF_Tr
`tf.image.adjust_contrast` can now be differentiated with
`GradientTape`. Fixes
[#126083](https://github.com/tensorflow/tensorflow/issues/126083).
* `tf.nn.softsign`

* Fixes second-order gradients of `tf.nn.softsign`. Differentiating twice
previously failed with a lookup error because the `SoftsignGrad`
backward op had no registered Python gradient.


* `tf.experimental.numpy`

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -519,9 +519,9 @@ nvidia-cusparse-cu12==12.5.1.3 \
# -r ci/official/requirements_updater/nvidia-constraints.txt
# -r ci/official/requirements_updater/nvidia-requirements.txt
# nvidia-cusolver-cu12
nvidia-nccl-cu12==2.29.7 \
--hash=sha256:0cf032ee22b560447daf0456108a75e32bd74a4de6c6b64725637a359fa48cd8 \
--hash=sha256:ecd0a012051abc20c1aa87328841efa8cade3ced65803046e38c2f03c0891fea
nvidia-nccl-cu12==2.30.7 \
--hash=sha256:03ecd776fd1d58fd2c9a0a687dcf8db9ecd0057382dba646fa3d65786d4a9ea1 \
--hash=sha256:8ce1b8213f61f2bfac132e6df890af6450b77cbd140c6ce4e98cb0c2d8e678c9
# via
# -c ci/official/requirements_updater/nvidia-constraints.txt
# -r ci/official/requirements_updater/nvidia-constraints.txt
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -519,9 +519,9 @@ nvidia-cusparse-cu12==12.5.1.3 \
# -r ci/official/requirements_updater/nvidia-constraints.txt
# -r ci/official/requirements_updater/nvidia-requirements.txt
# nvidia-cusolver-cu12
nvidia-nccl-cu12==2.29.7 \
--hash=sha256:0cf032ee22b560447daf0456108a75e32bd74a4de6c6b64725637a359fa48cd8 \
--hash=sha256:ecd0a012051abc20c1aa87328841efa8cade3ced65803046e38c2f03c0891fea
nvidia-nccl-cu12==2.30.7 \
--hash=sha256:03ecd776fd1d58fd2c9a0a687dcf8db9ecd0057382dba646fa3d65786d4a9ea1 \
--hash=sha256:8ce1b8213f61f2bfac132e6df890af6450b77cbd140c6ce4e98cb0c2d8e678c9
# via
# -c ci/official/requirements_updater/nvidia-constraints.txt
# -r ci/official/requirements_updater/nvidia-constraints.txt
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -519,9 +519,9 @@ nvidia-cusparse-cu12==12.5.1.3 \
# -r ci/official/requirements_updater/nvidia-constraints.txt
# -r ci/official/requirements_updater/nvidia-requirements.txt
# nvidia-cusolver-cu12
nvidia-nccl-cu12==2.29.7 \
--hash=sha256:0cf032ee22b560447daf0456108a75e32bd74a4de6c6b64725637a359fa48cd8 \
--hash=sha256:ecd0a012051abc20c1aa87328841efa8cade3ced65803046e38c2f03c0891fea
nvidia-nccl-cu12==2.30.7 \
--hash=sha256:03ecd776fd1d58fd2c9a0a687dcf8db9ecd0057382dba646fa3d65786d4a9ea1 \
--hash=sha256:8ce1b8213f61f2bfac132e6df890af6450b77cbd140c6ce4e98cb0c2d8e678c9
# via
# -c ci/official/requirements_updater/nvidia-constraints.txt
# -r ci/official/requirements_updater/nvidia-constraints.txt
Expand Down
4 changes: 2 additions & 2 deletions ci/official/requirements_updater/nvidia-requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ nvidia-cufft-cu12>=11.2.3.61,<12.0
nvidia-curand-cu12>=10.3.6.82,<11.0
nvidia-cusolver-cu12>=11.6.3.83,<12.0
nvidia-cusparse-cu12>=12.5.1.3,<13.0
nvidia-nccl-cu12>=2.29.7,<3.0
nvidia-nccl-cu12>=2.30.7,<3.0
nvidia-nvjitlink-cu12>=12.5.82,<13.0
nvidia-nvshmem-cu12>=3.2.5
# CUDA 13 wheels
nvidia-nccl-cu13>=2.29.7
nvidia-nccl-cu13>=2.30.7
nvidia-nvshmem-cu13>=3.3.20
nvidia-cublas>=13.0.0.19
nvidia-cuda-cupti>=13.0.48
Expand Down
4 changes: 2 additions & 2 deletions ci/official/utilities/code_check_full.bats
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,7 @@ EOF
--repo_env=HERMETIC_CUDA_VERSION="12.5.1" \
--repo_env=HERMETIC_CUDNN_VERSION="9.10.0" \
--repo_env=HERMETIC_NVSHMEM_VERSION="3.2.5" \
--repo_env=HERMETIC_NCCL_VERSION="2.29.7" \
--repo_env=HERMETIC_NCCL_VERSION="2.30.7" \
"somepath(//tensorflow/tools/pip_package:wheel, " \
"@local_config_cuda//cuda:cudart + "\
"@local_config_cuda//cuda:cudart + "\
Expand All @@ -249,7 +249,7 @@ EOF
--repo_env=HERMETIC_CUDA_VERSION="12.5.1" \
--repo_env=HERMETIC_CUDNN_VERSION="9.10.0" \
--repo_env=HERMETIC_NVSHMEM_VERSION="3.2.5" \
--repo_env=HERMETIC_NCCL_VERSION="2.29.7" \
--repo_env=HERMETIC_NCCL_VERSION="2.30.7" \
--define framework_shared_object=false \
"somepath(//tensorflow/tools/pip_package:wheel, " \
"@local_config_cuda//cuda:cudart + "\
Expand Down
14 changes: 6 additions & 8 deletions requirements_lock_3_10.txt
Original file line number Diff line number Diff line change
Expand Up @@ -610,18 +610,16 @@ nvidia-cusparse-cu12==12.5.1.3 \
# -r ci/official/requirements_updater/nvidia-constraints.txt
# -r ci/official/requirements_updater/nvidia-requirements.txt
# nvidia-cusolver-cu12
nvidia-nccl-cu12==2.29.7 \
--hash=sha256:0cf032ee22b560447daf0456108a75e32bd74a4de6c6b64725637a359fa48cd8 \
--hash=sha256:ecd0a012051abc20c1aa87328841efa8cade3ced65803046e38c2f03c0891fea
nvidia-nccl-cu12==2.30.7 \
--hash=sha256:03ecd776fd1d58fd2c9a0a687dcf8db9ecd0057382dba646fa3d65786d4a9ea1 \
--hash=sha256:8ce1b8213f61f2bfac132e6df890af6450b77cbd140c6ce4e98cb0c2d8e678c9
# via
# -c ci/official/requirements_updater/nvidia-constraints.txt
# -r ci/official/requirements_updater/nvidia-constraints.txt
# -r ci/official/requirements_updater/nvidia-requirements.txt
nvidia-nccl-cu13==2.29.7 \
--hash=sha256:edd81538446786ec3b73972543e53bb43bcaf0bfc8ef76cb679fcc390ffe136d \
--hash=sha256:edd81538446786ec3b73972543e53bb43bcaf0bfc8ef76cb679fcc390ffe136d \
--hash=sha256:01c873ba1626b54caa12272ed228dc5b2781545e0ae8ba3f432a8ef1c6d78643 \
--hash=sha256:e4553a30f34195f3fa1da02a6da3d6337d28f2003943aa0a3d247bbc25fefc42
nvidia-nccl-cu13==2.30.7 \
--hash=sha256:ca786ffa5a647c75d4d1f5cc72a6c4f537947e2ba8823d7c8aaf768e7a7b9f77 \
--hash=sha256:cefa7fdb9710efd0f39c5f1be1d61ff6fc9a996c451265bd7fbdcf9455ed4b50
# via
# -c ci/official/requirements_updater/nvidia-constraints.txt
# -r ci/official/requirements_updater/nvidia-constraints.txt
Expand Down
11 changes: 6 additions & 5 deletions requirements_lock_3_11.txt
Original file line number Diff line number Diff line change
Expand Up @@ -610,15 +610,16 @@ nvidia-cusparse-cu12==12.5.1.3 \
# -r ci/official/requirements_updater/nvidia-constraints.txt
# -r ci/official/requirements_updater/nvidia-requirements.txt
# nvidia-cusolver-cu12
nvidia-nccl-cu12==2.29.7 \
--hash=sha256:0cf032ee22b560447daf0456108a75e32bd74a4de6c6b64725637a359fa48cd8 \
--hash=sha256:ecd0a012051abc20c1aa87328841efa8cade3ced65803046e38c2f03c0891fea
nvidia-nccl-cu12==2.30.7 \
--hash=sha256:03ecd776fd1d58fd2c9a0a687dcf8db9ecd0057382dba646fa3d65786d4a9ea1 \
--hash=sha256:8ce1b8213f61f2bfac132e6df890af6450b77cbd140c6ce4e98cb0c2d8e678c9
# via
# -c ci/official/requirements_updater/nvidia-constraints.txt
# -r ci/official/requirements_updater/nvidia-constraints.txt
# -r ci/official/requirements_updater/nvidia-requirements.txt
nvidia-nccl-cu13==2.29.7 \
--hash=sha256:edd81538446786ec3b73972543e53bb43bcaf0bfc8ef76cb679fcc390ffe136d \
nvidia-nccl-cu13==2.30.7 \
--hash=sha256:ca786ffa5a647c75d4d1f5cc72a6c4f537947e2ba8823d7c8aaf768e7a7b9f77 \
--hash=sha256:cefa7fdb9710efd0f39c5f1be1d61ff6fc9a996c451265bd7fbdcf9455ed4b50
# via
# -c ci/official/requirements_updater/nvidia-constraints.txt
# -r ci/official/requirements_updater/nvidia-constraints.txt
Expand Down
13 changes: 6 additions & 7 deletions requirements_lock_3_12.txt
Original file line number Diff line number Diff line change
Expand Up @@ -610,17 +610,16 @@ nvidia-cusparse-cu12==12.5.1.3 \
# -r ci/official/requirements_updater/nvidia-constraints.txt
# -r ci/official/requirements_updater/nvidia-requirements.txt
# nvidia-cusolver-cu12
nvidia-nccl-cu12==2.29.7 \
--hash=sha256:0cf032ee22b560447daf0456108a75e32bd74a4de6c6b64725637a359fa48cd8 \
--hash=sha256:ecd0a012051abc20c1aa87328841efa8cade3ced65803046e38c2f03c0891fea
nvidia-nccl-cu12==2.30.7 \
--hash=sha256:03ecd776fd1d58fd2c9a0a687dcf8db9ecd0057382dba646fa3d65786d4a9ea1 \
--hash=sha256:8ce1b8213f61f2bfac132e6df890af6450b77cbd140c6ce4e98cb0c2d8e678c9
# via
# -c ci/official/requirements_updater/nvidia-constraints.txt
# -r ci/official/requirements_updater/nvidia-constraints.txt
# -r ci/official/requirements_updater/nvidia-requirements.txt
nvidia-nccl-cu13==2.29.7 \
--hash=sha256:edd81538446786ec3b73972543e53bb43bcaf0bfc8ef76cb679fcc390ffe136d \
--hash=sha256:01c873ba1626b54caa12272ed228dc5b2781545e0ae8ba3f432a8ef1c6d78643 \
--hash=sha256:e4553a30f34195f3fa1da02a6da3d6337d28f2003943aa0a3d247bbc25fefc42
nvidia-nccl-cu13==2.30.7 \
--hash=sha256:ca786ffa5a647c75d4d1f5cc72a6c4f537947e2ba8823d7c8aaf768e7a7b9f77 \
--hash=sha256:cefa7fdb9710efd0f39c5f1be1d61ff6fc9a996c451265bd7fbdcf9455ed4b50
# via
# -c ci/official/requirements_updater/nvidia-constraints.txt
# -r ci/official/requirements_updater/nvidia-constraints.txt
Expand Down
13 changes: 6 additions & 7 deletions requirements_lock_3_13.txt
Original file line number Diff line number Diff line change
Expand Up @@ -610,17 +610,16 @@ nvidia-cusparse-cu12==12.5.1.3 \
# -r ci/official/requirements_updater/nvidia-constraints.txt
# -r ci/official/requirements_updater/nvidia-requirements.txt
# nvidia-cusolver-cu12
nvidia-nccl-cu12==2.29.7 \
--hash=sha256:0cf032ee22b560447daf0456108a75e32bd74a4de6c6b64725637a359fa48cd8 \
--hash=sha256:ecd0a012051abc20c1aa87328841efa8cade3ced65803046e38c2f03c0891fea
nvidia-nccl-cu12==2.30.7 \
--hash=sha256:03ecd776fd1d58fd2c9a0a687dcf8db9ecd0057382dba646fa3d65786d4a9ea1 \
--hash=sha256:8ce1b8213f61f2bfac132e6df890af6450b77cbd140c6ce4e98cb0c2d8e678c9
# via
# -c ci/official/requirements_updater/nvidia-constraints.txt
# -r ci/official/requirements_updater/nvidia-constraints.txt
# -r ci/official/requirements_updater/nvidia-requirements.txt
nvidia-nccl-cu13==2.29.7 \
--hash=sha256:edd81538446786ec3b73972543e53bb43bcaf0bfc8ef76cb679fcc390ffe136d \
--hash=sha256:01c873ba1626b54caa12272ed228dc5b2781545e0ae8ba3f432a8ef1c6d78643 \
--hash=sha256:e4553a30f34195f3fa1da02a6da3d6337d28f2003943aa0a3d247bbc25fefc42
nvidia-nccl-cu13==2.30.7 \
--hash=sha256:ca786ffa5a647c75d4d1f5cc72a6c4f537947e2ba8823d7c8aaf768e7a7b9f77 \
--hash=sha256:cefa7fdb9710efd0f39c5f1be1d61ff6fc9a996c451265bd7fbdcf9455ed4b50
# via
# -c ci/official/requirements_updater/nvidia-constraints.txt
# -r ci/official/requirements_updater/nvidia-constraints.txt
Expand Down
13 changes: 6 additions & 7 deletions requirements_lock_3_14.txt
Original file line number Diff line number Diff line change
Expand Up @@ -716,17 +716,16 @@ nvidia-cusparse-cu12==12.5.1.3 \
# -r ci/official/requirements_updater/nvidia-constraints.txt
# -r ci/official/requirements_updater/nvidia-requirements.txt
# nvidia-cusolver-cu12
nvidia-nccl-cu12==2.29.7 \
--hash=sha256:0cf032ee22b560447daf0456108a75e32bd74a4de6c6b64725637a359fa48cd8 \
--hash=sha256:ecd0a012051abc20c1aa87328841efa8cade3ced65803046e38c2f03c0891fea
nvidia-nccl-cu12==2.30.7 \
--hash=sha256:03ecd776fd1d58fd2c9a0a687dcf8db9ecd0057382dba646fa3d65786d4a9ea1 \
--hash=sha256:8ce1b8213f61f2bfac132e6df890af6450b77cbd140c6ce4e98cb0c2d8e678c9
# via
# -c ci/official/requirements_updater/nvidia-constraints.txt
# -r ci/official/requirements_updater/nvidia-constraints.txt
# -r ci/official/requirements_updater/nvidia-requirements.txt
nvidia-nccl-cu13==2.29.7 \
--hash=sha256:edd81538446786ec3b73972543e53bb43bcaf0bfc8ef76cb679fcc390ffe136d \
--hash=sha256:01c873ba1626b54caa12272ed228dc5b2781545e0ae8ba3f432a8ef1c6d78643 \
--hash=sha256:e4553a30f34195f3fa1da02a6da3d6337d28f2003943aa0a3d247bbc25fefc42
nvidia-nccl-cu13==2.30.7 \
--hash=sha256:ca786ffa5a647c75d4d1f5cc72a6c4f537947e2ba8823d7c8aaf768e7a7b9f77 \
--hash=sha256:cefa7fdb9710efd0f39c5f1be1d61ff6fc9a996c451265bd7fbdcf9455ed4b50
# via
# -c ci/official/requirements_updater/nvidia-constraints.txt
# -r ci/official/requirements_updater/nvidia-constraints.txt
Expand Down
23 changes: 4 additions & 19 deletions tensorflow/cc/saved_model/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -518,18 +518,8 @@ cc_library(
"//tensorflow/python:__pkg__",
],
deps = [
":constants",
"//tensorflow/core/protobuf:for_core_protos_cc",
"@com_google_absl//absl/status",
"@com_google_absl//absl/status:statusor",
"@com_google_absl//absl/strings",
"@tsl//tsl/platform:errors",
"@tsl//tsl/platform:statusor",
] + if_not_mobile([
"//tensorflow/core:lib",
]) + if_android([
"//tensorflow/core:portable_tensorflow_lib_lite",
]),
],
alwayslink = True,
)

Expand All @@ -539,14 +529,9 @@ cc_library(
visibility = ["//visibility:public"],
deps = if_static([
":singleprint_impl",
"@com_google_absl//absl/status:statusor",
"@com_google_absl//absl/strings",
]) + [
"//tensorflow/core/protobuf:for_core_protos_cc",
]) + if_not_mobile([
"//tensorflow/core:lib",
]) + if_android([
"//tensorflow/core:portable_tensorflow_lib_lite",
]),
],
)

tf_cc_test(
Expand All @@ -555,7 +540,7 @@ tf_cc_test(
srcs = ["singleprint_test.cc"],
deps = [
":singleprint",
"//tensorflow/core:protos_all_cc",
"//tensorflow/core/protobuf:for_core_protos_cc",
"@com_google_googletest//:gtest_main",
],
)
Expand Down
7 changes: 7 additions & 0 deletions tensorflow/cc/saved_model/fingerprinting.cc
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ limitations under the License.
#include "absl/strings/strip.h"
#include "tensorflow/cc/saved_model/constants.h"
#include "tensorflow/cc/saved_model/fingerprinting_x_platform_utils.h"
#include "tensorflow/cc/saved_model/singleprint.h"
#include "tensorflow/core/framework/versions.pb.h"
#include "tensorflow/core/graph/regularization/simple_delete.h"
#include "tensorflow/core/graph/regularization/util.h"
Expand Down Expand Up @@ -259,4 +260,10 @@ absl::StatusOr<FingerprintDef> ReadSavedModelFingerprint(
return fingerprint_proto;
}

absl::StatusOr<std::string> Singleprint(absl::string_view export_dir) {
TF_ASSIGN_OR_RETURN(FingerprintDef fingerprint_def,
ReadSavedModelFingerprint(export_dir));
return Singleprint(fingerprint_def);
}

} // namespace tensorflow::saved_model::fingerprinting
5 changes: 5 additions & 0 deletions tensorflow/cc/saved_model/fingerprinting.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ limitations under the License.
#ifndef TENSORFLOW_CC_SAVED_MODEL_FINGERPRINTING_H_
#define TENSORFLOW_CC_SAVED_MODEL_FINGERPRINTING_H_

#include <string>

#include "absl/status/statusor.h"
#include "absl/strings/string_view.h"
#include "tensorflow/cc/saved_model/singleprint.h" // IWYU pragma: keep. Used for Singleprint().
Expand All @@ -33,6 +35,9 @@ absl::StatusOr<FingerprintDef> CreateFingerprintDef(
absl::StatusOr<FingerprintDef> ReadSavedModelFingerprint(
absl::string_view export_dir);

// Canonical fingerprinting ID for a SavedModel loaded from `export_dir`.
absl::StatusOr<std::string> Singleprint(absl::string_view export_dir);

} // namespace tensorflow::saved_model::fingerprinting

#endif // TENSORFLOW_CC_SAVED_MODEL_FINGERPRINTING_H_
31 changes: 0 additions & 31 deletions tensorflow/cc/saved_model/singleprint.cc
Original file line number Diff line number Diff line change
Expand Up @@ -18,35 +18,10 @@ limitations under the License.
#include <cstdint>
#include <string>

#include "absl/status/status.h"
#include "absl/status/statusor.h"
#include "absl/strings/string_view.h"
#include "tensorflow/cc/saved_model/constants.h"
#include "tensorflow/core/platform/env.h"
#include "tensorflow/core/platform/path.h"
#include "tensorflow/core/protobuf/fingerprint.pb.h"
#include "tsl/platform/statusor.h"

namespace tensorflow::saved_model::fingerprinting {

namespace {

absl::StatusOr<FingerprintDef> ReadSavedModelFingerprint(
absl::string_view export_dir) {
const std::string fingerprint_pb_path =
io::JoinPath(export_dir, kFingerprintFilenamePb);
TF_RETURN_IF_ERROR(Env::Default()->FileExists(fingerprint_pb_path));

FingerprintDef fingerprint_proto;
absl::Status result =
ReadBinaryProto(Env::Default(), fingerprint_pb_path, &fingerprint_proto);
if (!result.ok()) return result;

return fingerprint_proto;
}

} // namespace

std::string Singleprint(uint64_t graph_def_program_hash,
uint64_t signature_def_hash,
uint64_t saved_object_graph_hash,
Expand All @@ -63,10 +38,4 @@ std::string Singleprint(const FingerprintDef& fingerprint) {
fingerprint.saved_object_graph_hash(), fingerprint.checkpoint_hash());
}

absl::StatusOr<std::string> Singleprint(absl::string_view export_dir) {
TF_ASSIGN_OR_RETURN(FingerprintDef fingerprint_def,
ReadSavedModelFingerprint(export_dir));
return Singleprint(fingerprint_def);
}

} // namespace tensorflow::saved_model::fingerprinting
3 changes: 0 additions & 3 deletions tensorflow/cc/saved_model/singleprint.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,6 @@ limitations under the License.
#include <cstdint>
#include <string>

#include "absl/status/statusor.h"
#include "absl/strings/string_view.h"
#include "tensorflow/core/protobuf/fingerprint.pb.h"

namespace tensorflow::saved_model::fingerprinting {
Expand All @@ -31,7 +29,6 @@ std::string Singleprint(uint64_t graph_def_program_hash,
uint64_t saved_object_graph_hash,
uint64_t checkpoint_hash);
std::string Singleprint(const FingerprintDef& fingerprint);
absl::StatusOr<std::string> Singleprint(absl::string_view export_dir);

} // namespace tensorflow::saved_model::fingerprinting

Expand Down
11 changes: 1 addition & 10 deletions tensorflow/lite/kernels/slice.cc
Original file line number Diff line number Diff line change
Expand Up @@ -145,16 +145,7 @@ TfLiteStatus Prepare(TfLiteContext* context, TfLiteNode* node) {
TF_LITE_ENSURE_EQ(context, NumElements(begin), NumElements(size));
// If the shape of output is fully specified then resize even if
// the input shape is not staticly defined.
//
// A fully specified output shape does not imply the slice is in bounds when
// the input extent is only known at run time. Taking this path leaves the
// output static, so Eval() -- which only re-runs ResizeOutputShape() for a
// dynamic output -- never reaches CalculateOutputShapeVector(), the one place
// `begin` and `size` are checked against the input. Fall through when the
// input has an unspecified dimension so the output is marked dynamic and the
// bounds are validated against the actual extent on every invocation.
if (ShapeHasRank(output->dims) && !HasUnspecifiedDimension(output) &&
ShapeHasRank(input->dims) && !HasUnspecifiedDimension(input)) {
if (!HasUnspecifiedDimension(output) && ShapeHasRank(output->dims)) {
return kTfLiteOk;
}
// Postpone allocation of output if any of the indexing tensors is not
Expand Down
Loading
Loading