From 23c1dee18c7fce19a6f86d025c88e103a578b475 Mon Sep 17 00:00:00 2001 From: Samuel Audet Date: Tue, 27 Apr 2021 15:44:32 +0900 Subject: [PATCH 01/10] Upgrade for TensorFlow 2.5.0 --- tensorflow-core/tensorflow-core-api/.bazelrc | 34 +++++++- tensorflow-core/tensorflow-core-api/WORKSPACE | 33 ++++---- .../external/tensorflow-proto.patch | 83 ++++++++----------- .../external/tensorflow-visibility.patch | 34 ++++---- .../internal/c_api/presets/tensorflow.java | 4 + 5 files changed, 105 insertions(+), 83 deletions(-) diff --git a/tensorflow-core/tensorflow-core-api/.bazelrc b/tensorflow-core/tensorflow-core-api/.bazelrc index 461b2996401..d15d83ee9a2 100644 --- a/tensorflow-core/tensorflow-core-api/.bazelrc +++ b/tensorflow-core/tensorflow-core-api/.bazelrc @@ -151,8 +151,8 @@ build --define open_source_build=true test --define open_source_build=true # For workaround https://github.com/bazelbuild/bazel/issues/8772 with Bazel >= 0.29.1 -build --java_toolchain=@org_tensorflow//third_party/toolchains/java:tf_java_toolchain -build --host_java_toolchain=@org_tensorflow//third_party/toolchains/java:tf_java_toolchain +build --java_toolchain=@tf_toolchains//toolchains/java:tf_java_toolchain +build --host_java_toolchain=@tf_toolchains//toolchains/java:tf_java_toolchain # Please note that MKL on MacOS or windows is still not supported. # If you would like to use a local MKL instead of downloading, please set the @@ -616,3 +616,33 @@ build:release_gpu_linux_cuda_10_1 --config=release_gpu_linux build:release_gpu_linux_cuda_10_1 --action_env CUDA_TOOLKIT_PATH="/usr/local/cuda-10.1" build:release_gpu_linux_cuda_10_1 --action_env=TF_CUDA_VERSION="10" build:release_gpu_linux_cuda_10_1 --action_env=TF_CUDNN_VERSION="7" + +# Address sanitizer +# CC=clang bazel build --config asan +build:asan --strip=never +build:asan --copt -fsanitize=address +build:asan --copt -DADDRESS_SANITIZER +build:asan --copt -g +build:asan --copt -O3 +build:asan --copt -fno-omit-frame-pointer +build:asan --linkopt -fsanitize=address + +# Memory sanitizer +# CC=clang bazel build --config msan +build:msan --strip=never +build:msan --copt -fsanitize=memory +build:msan --copt -DADDRESS_SANITIZER +build:msan --copt -g +build:msan --copt -O3 +build:msan --copt -fno-omit-frame-pointer +build:msan --linkopt -fsanitize=memory + +# Undefined Behavior Sanitizer +# CC=clang bazel build --config ubsan +build:ubsan --strip=never +build:ubsan --copt -fsanitize=undefined +build:ubsan --copt -g +build:ubsan --copt -O3 +build:ubsan --copt -fno-omit-frame-pointer +build:ubsan --linkopt -fsanitize=undefined +build:ubsan --linkopt -lubsan diff --git a/tensorflow-core/tensorflow-core-api/WORKSPACE b/tensorflow-core/tensorflow-core-api/WORKSPACE index bd5ce478f66..bd00a3ffc1f 100644 --- a/tensorflow-core/tensorflow-core-api/WORKSPACE +++ b/tensorflow-core/tensorflow-core-api/WORKSPACE @@ -17,28 +17,31 @@ http_archive( patch_args = ["-p1"], patch_cmds = ["grep -rl 'java_package' tensorflow/core | xargs sed -i.bak 's/^\(.* java_package = \"org\.tensorflow\.\)\(.*\"\)/\\1proto.\\2'/"], urls = [ - "https://github.com/tensorflow/tensorflow/archive/v2.4.1.tar.gz", + "https://github.com/tensorflow/tensorflow/archive/refs/tags/v2.5.0-rc1.tar.gz", ], - sha256 = "f681331f8fc0800883761c7709d13cda11942d4ad5ff9f44ad855e9dc78387e0", - strip_prefix = "tensorflow-2.4.1" + sha256 = "354e58a2883210575ae7deacc9ab4a7ce00a3c60315151c2efbb734255e73713", + strip_prefix = "tensorflow-2.5.0-rc1" ) # START: Upstream TensorFlow dependencies # TensorFlow build depends on these dependencies. # Needs to be in-sync with TensorFlow sources. -http_archive( - name = "io_bazel_rules_closure", - sha256 = "5b00383d08dd71f28503736db0500b6fb4dda47489ff5fc6bed42557c07c6ba9", - strip_prefix = "rules_closure-308b05b2419edb5c8ee0471b67a40403df940149", - urls = [ - "https://storage.googleapis.com/mirror.tensorflow.org/github.com/bazelbuild/rules_closure/archive/308b05b2419edb5c8ee0471b67a40403df940149.tar.gz", - "https://github.com/bazelbuild/rules_closure/archive/308b05b2419edb5c8ee0471b67a40403df940149.tar.gz", # 2019-06-13 - ], -) -# END: Upstream TensorFlow dependencies +load("@org_tensorflow//tensorflow:workspace3.bzl", "tf_workspace3") + +tf_workspace3() -load("@org_tensorflow//tensorflow:workspace.bzl", "tf_workspace") -tf_workspace() +load("@org_tensorflow//tensorflow:workspace2.bzl", "tf_workspace2") + +tf_workspace2() + +load("@org_tensorflow//tensorflow:workspace1.bzl", "tf_workspace1") + +tf_workspace1() + +load("@org_tensorflow//tensorflow:workspace0.bzl", "tf_workspace0") + +tf_workspace0() +# END: Upstream TensorFlow dependencies load("@com_github_grpc_grpc//bazel:grpc_deps.bzl", "grpc_deps") grpc_deps() diff --git a/tensorflow-core/tensorflow-core-api/external/tensorflow-proto.patch b/tensorflow-core/tensorflow-core-api/external/tensorflow-proto.patch index 3dac55ccee7..9a4c3c467e1 100644 --- a/tensorflow-core/tensorflow-core-api/external/tensorflow-proto.patch +++ b/tensorflow-core/tensorflow-core-api/external/tensorflow-proto.patch @@ -1,6 +1,6 @@ -diff -ruN tensorflow-2.4.1/tensorflow/core/protobuf/bfc_memory_map.proto tensorflow-2.4.1-proto/tensorflow/core/protobuf/bfc_memory_map.proto ---- tensorflow-2.4.1/tensorflow/core/protobuf/bfc_memory_map.proto 2021-01-21 09:25:54.000000000 +0900 -+++ tensorflow-2.4.1-proto/tensorflow/core/protobuf/bfc_memory_map.proto 2021-02-08 09:43:41.885495355 +0900 +diff -ruN tensorflow-2.5.0-rc1/tensorflow/core/protobuf/bfc_memory_map.proto tensorflow-2.5.0-rc1-proto/tensorflow/core/protobuf/bfc_memory_map.proto +--- tensorflow-2.5.0-rc1/tensorflow/core/protobuf/bfc_memory_map.proto 2021-04-13 01:43:40.000000000 +0900 ++++ tensorflow-2.5.0-rc1-proto/tensorflow/core/protobuf/bfc_memory_map.proto 2021-04-27 10:18:43.910313526 +0900 @@ -3,6 +3,9 @@ package tensorflow; @@ -11,9 +11,9 @@ diff -ruN tensorflow-2.4.1/tensorflow/core/protobuf/bfc_memory_map.proto tensorf // Some of the data from AllocatorStats message MemAllocatorStats { -diff -ruN tensorflow-2.4.1/tensorflow/core/protobuf/data/experimental/snapshot.proto tensorflow-2.4.1-proto/tensorflow/core/protobuf/data/experimental/snapshot.proto ---- tensorflow-2.4.1/tensorflow/core/protobuf/data/experimental/snapshot.proto 2021-01-21 09:25:54.000000000 +0900 -+++ tensorflow-2.4.1-proto/tensorflow/core/protobuf/data/experimental/snapshot.proto 2021-02-08 09:40:24.584065472 +0900 +diff -ruN tensorflow-2.5.0-rc1/tensorflow/core/protobuf/snapshot.proto tensorflow-2.5.0-rc1-proto/tensorflow/core/protobuf/snapshot.proto +--- tensorflow-2.5.0-rc1/tensorflow/core/protobuf/snapshot.proto 2021-04-13 01:43:40.000000000 +0900 ++++ tensorflow-2.5.0-rc1-proto/tensorflow/core/protobuf/snapshot.proto 2021-04-27 10:19:52.002448627 +0900 @@ -6,6 +6,10 @@ import "tensorflow/core/framework/tensor_shape.proto"; import "tensorflow/core/framework/types.proto"; @@ -25,9 +25,9 @@ diff -ruN tensorflow-2.4.1/tensorflow/core/protobuf/data/experimental/snapshot.p // Each SnapshotRecord represents one batch of pre-processed input data. A batch // consists of a list of tensors that we encode as TensorProtos. This message // doesn't store the structure of the batch. -diff -ruN tensorflow-2.4.1/tensorflow/core/protobuf/device_properties.proto tensorflow-2.4.1-proto/tensorflow/core/protobuf/device_properties.proto ---- tensorflow-2.4.1/tensorflow/core/protobuf/device_properties.proto 2021-01-21 09:25:54.000000000 +0900 -+++ tensorflow-2.4.1-proto/tensorflow/core/protobuf/device_properties.proto 2021-02-08 09:41:23.317918806 +0900 +diff -ruN tensorflow-2.5.0-rc1/tensorflow/core/protobuf/device_properties.proto tensorflow-2.5.0-rc1-proto/tensorflow/core/protobuf/device_properties.proto +--- tensorflow-2.5.0-rc1/tensorflow/core/protobuf/device_properties.proto 2021-04-13 01:43:40.000000000 +0900 ++++ tensorflow-2.5.0-rc1-proto/tensorflow/core/protobuf/device_properties.proto 2021-04-27 10:19:52.002448627 +0900 @@ -19,6 +19,8 @@ option cc_enable_arenas = true; @@ -37,9 +37,9 @@ diff -ruN tensorflow-2.4.1/tensorflow/core/protobuf/device_properties.proto tens option go_package = "github.com/tensorflow/tensorflow/tensorflow/go/core/protobuf/for_core_protos_go_proto"; message DeviceProperties { -diff -ruN tensorflow-2.4.1/tensorflow/core/protobuf/saved_object_graph.proto tensorflow-2.4.1-proto/tensorflow/core/protobuf/saved_object_graph.proto ---- tensorflow-2.4.1/tensorflow/core/protobuf/saved_object_graph.proto 2021-01-21 09:25:54.000000000 +0900 -+++ tensorflow-2.4.1-proto/tensorflow/core/protobuf/saved_object_graph.proto 2021-02-08 09:41:50.066852012 +0900 +diff -ruN tensorflow-2.5.0-rc1/tensorflow/core/protobuf/saved_object_graph.proto tensorflow-2.5.0-rc1-proto/tensorflow/core/protobuf/saved_object_graph.proto +--- tensorflow-2.5.0-rc1/tensorflow/core/protobuf/saved_object_graph.proto 2021-04-13 01:43:40.000000000 +0900 ++++ tensorflow-2.5.0-rc1-proto/tensorflow/core/protobuf/saved_object_graph.proto 2021-04-27 10:19:52.003448629 +0900 @@ -11,6 +11,9 @@ option cc_enable_arenas = true; @@ -50,9 +50,9 @@ diff -ruN tensorflow-2.4.1/tensorflow/core/protobuf/saved_object_graph.proto ten // A SavedObjectGraph is part of object-based SavedModels in TF 2.0. It // describes the directed graph of Python objects (or equivalent in other -diff -ruN tensorflow-2.4.1/tensorflow/core/protobuf/struct.proto tensorflow-2.4.1-proto/tensorflow/core/protobuf/struct.proto ---- tensorflow-2.4.1/tensorflow/core/protobuf/struct.proto 2021-01-21 09:25:54.000000000 +0900 -+++ tensorflow-2.4.1-proto/tensorflow/core/protobuf/struct.proto 2021-02-08 09:42:06.645810614 +0900 +diff -ruN tensorflow-2.5.0-rc1/tensorflow/core/protobuf/struct.proto tensorflow-2.5.0-rc1-proto/tensorflow/core/protobuf/struct.proto +--- tensorflow-2.5.0-rc1/tensorflow/core/protobuf/struct.proto 2021-04-13 01:43:40.000000000 +0900 ++++ tensorflow-2.5.0-rc1-proto/tensorflow/core/protobuf/struct.proto 2021-04-27 10:19:52.003448629 +0900 @@ -7,6 +7,9 @@ import "tensorflow/core/framework/types.proto"; @@ -63,9 +63,9 @@ diff -ruN tensorflow-2.4.1/tensorflow/core/protobuf/struct.proto tensorflow-2.4. // `StructuredValue` represents a dynamically typed value representing various // data structures that are inspired by Python data structures typically used in -diff -ruN tensorflow-2.4.1/tensorflow/core/protobuf/trackable_object_graph.proto tensorflow-2.4.1-proto/tensorflow/core/protobuf/trackable_object_graph.proto ---- tensorflow-2.4.1/tensorflow/core/protobuf/trackable_object_graph.proto 2021-01-21 09:25:54.000000000 +0900 -+++ tensorflow-2.4.1-proto/tensorflow/core/protobuf/trackable_object_graph.proto 2021-02-08 09:42:24.581760720 +0900 +diff -ruN tensorflow-2.5.0-rc1/tensorflow/core/protobuf/trackable_object_graph.proto tensorflow-2.5.0-rc1-proto/tensorflow/core/protobuf/trackable_object_graph.proto +--- tensorflow-2.5.0-rc1/tensorflow/core/protobuf/trackable_object_graph.proto 2021-04-13 01:43:40.000000000 +0900 ++++ tensorflow-2.5.0-rc1-proto/tensorflow/core/protobuf/trackable_object_graph.proto 2021-04-27 10:19:52.003448629 +0900 @@ -4,6 +4,9 @@ option cc_enable_arenas = true; @@ -76,29 +76,18 @@ diff -ruN tensorflow-2.4.1/tensorflow/core/protobuf/trackable_object_graph.proto // A TensorBundle addition which saves extra information about the objects which // own variables, allowing for more robust checkpoint loading into modified -diff -ruN tensorflow-2.4.1/tensorflow/core/protobuf/transport_options.proto tensorflow-2.4.1-proto/tensorflow/core/protobuf/transport_options.proto ---- tensorflow-2.4.1/tensorflow/core/protobuf/transport_options.proto 2021-01-21 09:25:54.000000000 +0900 -+++ tensorflow-2.4.1-proto/tensorflow/core/protobuf/transport_options.proto 2021-02-08 09:42:56.660650580 +0900 -@@ -3,6 +3,7 @@ - package tensorflow; - - option go_package = "github.com/tensorflow/tensorflow/tensorflow/go/core/protobuf/for_core_protos_go_proto"; -+option java_package = "org.tensorflow.distruntime"; - - // Extra data needed on a non-RDMA RecvBufResponse. - message RecvBufRespExtra { -diff -ruN tensorflow-2.4.1/tensorflow/core/lib/core/error_codes.proto tensorflow-2.4.1-proto/tensorflow/core/lib/core/error_codes.proto ---- tensorflow-2.4.1/tensorflow/core/lib/core/error_codes.proto 2021-01-21 09:25:54.000000000 +0900 -+++ tensorflow-2.4.1-proto/tensorflow/core/lib/core/error_codes.proto 2021-02-08 09:40:24.590065457 +0900 +diff -ruN tensorflow-2.5.0-rc1/tensorflow/core/lib/core/error_codes.proto tensorflow-2.5.0-rc1-proto/tensorflow/core/lib/core/error_codes.proto +--- tensorflow-2.5.0-rc1/tensorflow/core/lib/core/error_codes.proto 2021-04-13 01:43:40.000000000 +0900 ++++ tensorflow-2.5.0-rc1-proto/tensorflow/core/lib/core/error_codes.proto 2021-04-27 10:19:52.003448629 +0900 @@ -1,3 +1,5 @@ syntax = "proto3"; +option java_package = "org.tensorflow.framework"; + import public "tensorflow/core/protobuf/error_codes.proto"; -diff -ruN tensorflow-2.4.1/tensorflow/core/profiler/protobuf/xplane.proto tensorflow-2.4.1-proto/tensorflow/core/profiler/protobuf/xplane.proto ---- tensorflow-2.4.1/tensorflow/core/profiler/protobuf/xplane.proto 2021-01-21 09:25:54.000000000 +0900 -+++ tensorflow-2.4.1-proto/tensorflow/core/profiler/protobuf/xplane.proto 2021-02-08 09:40:24.591065455 +0900 +diff -ruN tensorflow-2.5.0-rc1/tensorflow/core/profiler/protobuf/xplane.proto tensorflow-2.5.0-rc1-proto/tensorflow/core/profiler/protobuf/xplane.proto +--- tensorflow-2.5.0-rc1/tensorflow/core/profiler/protobuf/xplane.proto 2021-04-13 01:43:40.000000000 +0900 ++++ tensorflow-2.5.0-rc1-proto/tensorflow/core/profiler/protobuf/xplane.proto 2021-04-27 10:19:52.004448631 +0900 @@ -3,6 +3,9 @@ package tensorflow.profiler; @@ -109,9 +98,9 @@ diff -ruN tensorflow-2.4.1/tensorflow/core/profiler/protobuf/xplane.proto tensor // A container of parallel XPlanes, generated by one or more profiling sources. // Next ID: 5 -diff -ruN tensorflow-2.4.1/tensorflow/core/util/memmapped_file_system.proto tensorflow-2.4.1-proto/tensorflow/core/util/memmapped_file_system.proto ---- tensorflow-2.4.1/tensorflow/core/util/memmapped_file_system.proto 2021-01-21 09:25:54.000000000 +0900 -+++ tensorflow-2.4.1-proto/tensorflow/core/util/memmapped_file_system.proto 2021-02-08 09:40:24.592065452 +0900 +diff -ruN tensorflow-2.5.0-rc1/tensorflow/core/util/memmapped_file_system.proto tensorflow-2.5.0-rc1-proto/tensorflow/core/util/memmapped_file_system.proto +--- tensorflow-2.5.0-rc1/tensorflow/core/util/memmapped_file_system.proto 2021-04-13 01:43:40.000000000 +0900 ++++ tensorflow-2.5.0-rc1-proto/tensorflow/core/util/memmapped_file_system.proto 2021-04-27 10:19:52.004448631 +0900 @@ -17,6 +17,9 @@ package tensorflow; @@ -122,9 +111,9 @@ diff -ruN tensorflow-2.4.1/tensorflow/core/util/memmapped_file_system.proto tens // A message that describes one region of memmapped file. message MemmappedFileSystemDirectoryElement { -diff -ruN tensorflow-2.4.1/tensorflow/core/profiler/profiler_options.proto tensorflow-2.4.1-proto/tensorflow/core/profiler/profiler_options.proto ---- tensorflow-2.4.1/tensorflow/core/profiler/profiler_options.proto 2021-01-21 09:25:54.000000000 +0900 -+++ tensorflow-2.4.1-proto/tensorflow/core/profiler/profiler_options.proto 2021-02-08 09:40:24.593065450 +0900 +diff -ruN tensorflow-2.5.0-rc1/tensorflow/core/profiler/profiler_options.proto tensorflow-2.5.0-rc1-proto/tensorflow/core/profiler/profiler_options.proto +--- tensorflow-2.5.0-rc1/tensorflow/core/profiler/profiler_options.proto 2021-04-13 01:43:40.000000000 +0900 ++++ tensorflow-2.5.0-rc1-proto/tensorflow/core/profiler/profiler_options.proto 2021-04-27 10:19:52.004448631 +0900 @@ -1,6 +1,9 @@ syntax = "proto3"; @@ -135,16 +124,14 @@ diff -ruN tensorflow-2.4.1/tensorflow/core/profiler/profiler_options.proto tenso // Next ID: 11 message ProfileOptions { - -diff --git a/tensorflow/core/protobuf/data/experimental/service_config.proto b/tensorflow/core/protobuf/data/experimental/service_config.proto -index 3dcd2cd48d..ae2cfdd94f 100644 ---- a/tensorflow/core/protobuf/data/experimental/service_config.proto -+++ b/tensorflow/core/protobuf/data/experimental/service_config.proto +diff -ruN tensorflow-2.5.0-rc1/tensorflow/core/protobuf/service_config.proto tensorflow-2.5.0-rc1-proto/tensorflow/core/protobuf/service_config.proto +--- tensorflow-2.5.0-rc1/tensorflow/core/protobuf/service_config.proto 2021-04-13 01:43:40.000000000 +0900 ++++ tensorflow-2.5.0-rc1-proto/tensorflow/core/protobuf/service_config.proto 2021-04-27 10:20:13.501491398 +0900 @@ -1,6 +1,7 @@ syntax = "proto3"; - + package tensorflow.data.experimental; +option java_package = "org.tensorflow.data.experimental"; - + // Configuration for a tf.data service DispatchServer. message DispatcherConfig { diff --git a/tensorflow-core/tensorflow-core-api/external/tensorflow-visibility.patch b/tensorflow-core/tensorflow-core-api/external/tensorflow-visibility.patch index 03fda9811c3..acfab123fd5 100644 --- a/tensorflow-core/tensorflow-core-api/external/tensorflow-visibility.patch +++ b/tensorflow-core/tensorflow-core-api/external/tensorflow-visibility.patch @@ -1,8 +1,7 @@ -diff --git a/tensorflow/BUILD b/tensorflow/BUILD -index 55406a5686..35d1547dfb 100644 ---- a/tensorflow/BUILD -+++ b/tensorflow/BUILD -@@ -33,7 +33,7 @@ load( +diff -ruN tensorflow-2.5.0-rc1/tensorflow/BUILD tensorflow-2.5.0-rc1-visibility/tensorflow/BUILD +--- tensorflow-2.5.0-rc1/tensorflow/BUILD 2021-04-13 01:43:40.000000000 +0900 ++++ tensorflow-2.5.0-rc1-visibility/tensorflow/BUILD 2021-04-27 10:26:14.196211286 +0900 +@@ -38,7 +38,7 @@ load("@bazel_skylib//:bzl_library.bzl", "bzl_library") package( @@ -11,27 +10,26 @@ index 55406a5686..35d1547dfb 100644 licenses = ["notice"], # Apache 2.0 ) -diff --ruN a/tensorflow/core/api_def/BUILD b/tensorflow/core/api_def/BUILD ---- a/tensorflow/core/api_def/BUILD 2020-03-26 18:19:19.000000000 -0400 -+++ b/tensorflow/core/api_def/BUILD 2020-04-01 22:50:37.000000000 -0400 -@@ -28,7 +28,7 @@ package( - filegroup( +diff -ruN tensorflow-2.5.0-rc1/tensorflow/core/api_def/BUILD tensorflow-2.5.0-rc1-visibility/tensorflow/core/api_def/BUILD +--- tensorflow-2.5.0-rc1/tensorflow/core/api_def/BUILD 2021-04-13 01:43:40.000000000 +0900 ++++ tensorflow-2.5.0-rc1-visibility/tensorflow/core/api_def/BUILD 2021-04-27 10:29:38.712785268 +0900 +@@ -29,7 +29,7 @@ + alias( name = "base_api_def", - srcs = glob(["base_api/*"]), + actual = "//tensorflow/core/api_def/base_api:base_api_def", - visibility = ["//tensorflow:internal"], + visibility = ["//visibility:public"], ) - filegroup( -diff -ruN a/tensorflow/tools/api/lib/BUILD b/tensorflow/tools/api/lib/BUILD ---- a/tensorflow/tools/api/lib/BUILD 2020-03-26 18:19:19.000000000 -0400 -+++ b/tensorflow/tools/api/lib/BUILD 2020-04-01 22:50:37.000000000 -0400 -@@ -13,6 +13,7 @@ + alias( +diff -ruN tensorflow-2.5.0-rc1/tensorflow/tools/api/lib/BUILD tensorflow-2.5.0-rc1-visibility/tensorflow/tools/api/lib/BUILD +--- tensorflow-2.5.0-rc1/tensorflow/tools/api/lib/BUILD 2021-04-13 01:43:40.000000000 +0900 ++++ tensorflow-2.5.0-rc1-visibility/tensorflow/tools/api/lib/BUILD 2021-04-27 10:26:14.196211286 +0900 +@@ -16,6 +16,7 @@ tf_proto_library( name = "api_objects_proto", srcs = ["api_objects.proto"], + visibility = ["//visibility:public"], ) - + py_library( - \ No newline at end of file diff --git a/tensorflow-core/tensorflow-core-api/src/main/java/org/tensorflow/internal/c_api/presets/tensorflow.java b/tensorflow-core/tensorflow-core-api/src/main/java/org/tensorflow/internal/c_api/presets/tensorflow.java index 66dead59967..9c456124701 100644 --- a/tensorflow-core/tensorflow-core-api/src/main/java/org/tensorflow/internal/c_api/presets/tensorflow.java +++ b/tensorflow-core/tensorflow-core-api/src/main/java/org/tensorflow/internal/c_api/presets/tensorflow.java @@ -379,6 +379,10 @@ public void map(InfoMap infoMap) { new Info("TFE_TensorHandle") .pointerTypes("TFE_TensorHandle") .base("org.tensorflow.internal.c_api.AbstractTFE_TensorHandle")) + .put( + new Info("SP_Stream") + .cast() + .pointerTypes("Pointer")) .put( new Info( "TF_ShapeInferenceContextDimValueKnown", From 1c89c0355cff1649344f4697e6bc37f3e4e75f91 Mon Sep 17 00:00:00 2001 From: Samuel Audet Date: Tue, 27 Apr 2021 15:45:04 +0900 Subject: [PATCH 02/10] Regenerate files for TensorFlow 2.5.0 --- .../org/tensorflow/op/DataOps.java | 3 - .../org/tensorflow/op/ImageOps.java | 4 +- .../annotations/org/tensorflow/op/IoOps.java | 13 +- .../org/tensorflow/op/LinalgOps.java | 16 +- .../org/tensorflow/op/MathOps.java | 2 +- .../annotations/org/tensorflow/op/NnOps.java | 26 +- .../annotations/org/tensorflow/op/Ops.java | 314 +- .../annotations/org/tensorflow/op/XlaOps.java | 15 +- .../internal/c_api/global/tensorflow.java | 362 +- .../tensorflow/op/collective/GatherV2.java | 32 +- .../tensorflow/op/collective/ReduceV2.java | 33 +- .../op/core/CollectiveBcastRecvV2.java | 157 + .../op/core/CollectiveBcastSendV2.java | 153 + .../op/core/DataServiceDatasetV2.java | 176 + .../tensorflow/op/core/FinalizeDataset.java | 129 + ...restTreeSerialize.java => GetOptions.java} | 38 +- .../op/core/InitializeTableFromTextFile.java | 26 + .../org/tensorflow/op/core/InplaceAdd.java | 3 +- ...EmbeddingFrequencyEstimatorParameters.java | 161 + ...encyEstimatorParametersGradAccumDebug.java | 164 + .../tensorflow/op/core/OptionsDataset.java | 93 + .../op/core/ParallelBatchDataset.java | 138 + .../op/core/RemoteFusedGraphExecute.java | 99 - ...EmbeddingFrequencyEstimatorParameters.java | 181 + ...encyEstimatorParametersGradAccumDebug.java | 194 + ...stCreateTreeVariable.java => RiscAbs.java} | 50 +- .../java/org/tensorflow/op/core/RiscAdd.java | 84 + .../op/core/RiscBinaryArithmetic.java | 84 + .../op/core/RiscBinaryComparison.java | 83 + .../org/tensorflow/op/core/RiscBitcast.java | 83 + .../org/tensorflow/op/core/RiscBroadcast.java | 83 + .../java/org/tensorflow/op/core/RiscCast.java | 83 + .../java/org/tensorflow/op/core/RiscCeil.java | 79 + .../org/tensorflow/op/core/RiscCholesky.java | 79 + .../org/tensorflow/op/core/RiscConcat.java | 84 + .../java/org/tensorflow/op/core/RiscConv.java | 180 + .../java/org/tensorflow/op/core/RiscCos.java | 79 + .../java/org/tensorflow/op/core/RiscDiv.java | 81 + .../java/org/tensorflow/op/core/RiscDot.java | 147 + .../java/org/tensorflow/op/core/RiscExp.java | 79 + ...orestTreeDeserialize.java => RiscFft.java} | 48 +- .../org/tensorflow/op/core/RiscFloor.java | 79 + .../org/tensorflow/op/core/RiscGather.java | 124 + .../java/org/tensorflow/op/core/RiscImag.java | 99 + ...IsInitializedOp.java => RiscIsFinite.java} | 41 +- .../java/org/tensorflow/op/core/RiscLog.java | 79 + .../tensorflow/op/core/RiscLogicalAnd.java | 78 + .../tensorflow/op/core/RiscLogicalNot.java | 76 + .../org/tensorflow/op/core/RiscLogicalOr.java | 78 + .../java/org/tensorflow/op/core/RiscMax.java | 83 + .../java/org/tensorflow/op/core/RiscMin.java | 81 + .../java/org/tensorflow/op/core/RiscMul.java | 81 + .../java/org/tensorflow/op/core/RiscNeg.java | 79 + .../java/org/tensorflow/op/core/RiscPad.java | 84 + .../java/org/tensorflow/op/core/RiscPool.java | 134 + .../java/org/tensorflow/op/core/RiscPow.java | 81 + .../tensorflow/op/core/RiscRandomUniform.java | 117 + .../java/org/tensorflow/op/core/RiscReal.java | 99 + .../org/tensorflow/op/core/RiscReduce.java | 84 + .../java/org/tensorflow/op/core/RiscRem.java | 81 + .../org/tensorflow/op/core/RiscReshape.java | 82 + .../org/tensorflow/op/core/RiscReverse.java | 82 + .../org/tensorflow/op/core/RiscScatter.java | 85 + .../org/tensorflow/op/core/RiscShape.java | 98 + .../java/org/tensorflow/op/core/RiscSign.java | 79 + .../org/tensorflow/op/core/RiscSlice.java | 85 + .../java/org/tensorflow/op/core/RiscSort.java | 84 + .../org/tensorflow/op/core/RiscSqueeze.java | 146 + .../java/org/tensorflow/op/core/RiscSub.java | 81 + .../org/tensorflow/op/core/RiscTranspose.java | 83 + .../op/core/RiscTriangularSolve.java | 147 + .../org/tensorflow/op/core/RiscUnary.java | 81 + .../gen/java/org/tensorflow/op/core/Rpc.java | 228 - ...eeSize.java => StatelessRandomGetAlg.java} | 38 +- .../op/core/StatelessRandomGetKeyCounter.java | 86 + .../org/tensorflow/op/core/StopGradient.java | 34 +- .../op/core/TPUReshardVariables.java | 69 + .../org/tensorflow/op/core/TensorArray.java | 4 +- .../op/core/TensorForestTreePredict.java | 82 - .../TensorForestTreeResourceHandleOp.java | 141 - .../org/tensorflow/op/core/TopKUnique.java | 4 +- .../tensorflow/op/core/TopKWithUnique.java | 11 +- .../java/org/tensorflow/op/core/TryRpc.java | 252 - .../tensorflow/op/core/UniqueWithCounts.java | 24 +- .../org/tensorflow/op/core/XlaConvV2.java | 108 + .../java/org/tensorflow/op/core/XlaDotV2.java | 94 + .../op/core/XlaSetDynamicDimensionSize.java | 91 + .../data/experimental/DataServiceDataset.java | 32 +- .../op/debugging/CheckNumerics.java | 6 +- .../op/image/CombinedNonMaxSuppression.java | 4 +- .../tensorflow/op/image/ExtractGlimpse.java | 4 +- .../op/image/ImageProjectiveTransformV3.java | 4 +- .../tensorflow/op/io/DecodeJsonExample.java | 13 +- .../org/tensorflow/op/linalg/BandPart.java | 16 +- .../java/org/tensorflow/op/math/Softplus.java | 2 +- .../gen/java/org/tensorflow/op/nn/Elu.java | 22 +- .../gen/java/org/tensorflow/op/nn/Relu.java | 4 +- .../op/ragged/RaggedTensorToTensor.java | 2 +- .../EnqueueTPUEmbeddingRaggedTensorBatch.java | 51 + .../EnqueueTPUEmbeddingSparseTensorBatch.java | 51 + .../gen/java/org/tensorflow/op/xla/Pad.java | 10 +- .../java/org/tensorflow/op/xla/Sharding.java | 42 +- .../data/experimental/ServiceConfig.java | 295 +- .../experimental/SnapshotMetadataRecord.java | 2 +- .../SnapshotMetadataRecordOrBuilder.java | 2 +- .../data/experimental/SnapshotProtos.java | 39 +- .../data/experimental/SnapshotRecord.java | 2 +- .../experimental/SnapshotRecordOrBuilder.java | 2 +- .../experimental/SnapshotTensorMetadata.java | 2 +- .../SnapshotTensorMetadataOrBuilder.java | 2 +- .../data/experimental/TensorMetadata.java | 2 +- .../experimental/TensorMetadataOrBuilder.java | 2 +- .../tensorflow/proto/example/BytesList.java | 2 + .../proto/framework/ConfigProto.java | 133 + .../proto/framework/ConfigProtos.java | 101 +- .../tensorflow/proto/framework/DataClass.java | 6 +- .../proto/framework/FunctionSpec.java | 104 +- .../framework/FunctionSpecOrBuilder.java | 8 +- .../tensorflow/proto/framework/GraphDef.java | 12 - .../proto/framework/GraphDefOrBuilder.java | 3 - .../org/tensorflow/proto/framework/OpDef.java | 482 + .../proto/framework/OpDefProtos.java | 57 +- .../proto/framework/RewriterConfig.java | 207 + .../framework/RewriterConfigOrBuilder.java | 31 + .../proto/framework/RewriterConfigProtos.java | 81 +- .../proto/framework/SavedObject.java | 46 +- .../framework/SavedObjectGraphProtos.java | 26 +- .../proto/framework/SavedObjectOrBuilder.java | 10 +- .../proto/framework/SavedUserObject.java | 21 + .../framework/SavedUserObjectOrBuilder.java | 6 + .../proto/framework/SignatureDef.java | 12 +- .../proto/framework/SpecializedType.java | 17 + .../proto/framework/StructProtos.java | 14 +- .../proto/framework/TypeSpecProto.java | 17 - .../proto/framework/TypesProtos.java | 12 +- .../proto/profiler/XEventMetadata.java | 204 +- .../profiler/XEventMetadataOrBuilder.java | 25 + .../proto/profiler/XPlaneProtos.java | 17 +- .../java/org/tensorflow/proto/util/Event.java | 108 +- .../tensorflow/proto/util/EventOrBuilder.java | 27 +- .../tensorflow/proto/util/EventProtos.java | 70 +- .../org/tensorflow/proto/util/LogMessage.java | 6 +- .../proto/util/LogMessageOrBuilder.java | 2 +- .../java/tensorflow/ExtensionTypeVariant.java | 678 ++ .../java/tensorflow/OpPerformanceData.java | 9036 +++++++++++++++++ .../gen/java/tensorflow/TransportOptions.java | 635 ++ .../java/tensorflow/data/DatasetOptions.java | 7184 +++++++++++++ .../gen/java/tensorflow/data/model/Model.java | 5998 +++++++++++ .../src/gen/resources/ops.pb | Bin 1462296 -> 1481089 bytes 149 files changed, 32428 insertions(+), 1578 deletions(-) create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/CollectiveBcastRecvV2.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/CollectiveBcastSendV2.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/DataServiceDatasetV2.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/FinalizeDataset.java rename tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/{TensorForestTreeSerialize.java => GetOptions.java} (56%) create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/LoadTPUEmbeddingFrequencyEstimatorParameters.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/LoadTPUEmbeddingFrequencyEstimatorParametersGradAccumDebug.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/OptionsDataset.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/ParallelBatchDataset.java delete mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/RemoteFusedGraphExecute.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/RetrieveTPUEmbeddingFrequencyEstimatorParameters.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/RetrieveTPUEmbeddingFrequencyEstimatorParametersGradAccumDebug.java rename tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/{TensorForestCreateTreeVariable.java => RiscAbs.java} (52%) create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/RiscAdd.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/RiscBinaryArithmetic.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/RiscBinaryComparison.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/RiscBitcast.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/RiscBroadcast.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/RiscCast.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/RiscCeil.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/RiscCholesky.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/RiscConcat.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/RiscConv.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/RiscCos.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/RiscDiv.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/RiscDot.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/RiscExp.java rename tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/{TensorForestTreeDeserialize.java => RiscFft.java} (54%) create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/RiscFloor.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/RiscGather.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/RiscImag.java rename tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/{TensorForestTreeIsInitializedOp.java => RiscIsFinite.java} (53%) create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/RiscLog.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/RiscLogicalAnd.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/RiscLogicalNot.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/RiscLogicalOr.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/RiscMax.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/RiscMin.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/RiscMul.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/RiscNeg.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/RiscPad.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/RiscPool.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/RiscPow.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/RiscRandomUniform.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/RiscReal.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/RiscReduce.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/RiscRem.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/RiscReshape.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/RiscReverse.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/RiscScatter.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/RiscShape.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/RiscSign.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/RiscSlice.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/RiscSort.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/RiscSqueeze.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/RiscSub.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/RiscTranspose.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/RiscTriangularSolve.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/RiscUnary.java delete mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/Rpc.java rename tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/{TensorForestTreeSize.java => StatelessRandomGetAlg.java} (57%) create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/StatelessRandomGetKeyCounter.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/TPUReshardVariables.java delete mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/TensorForestTreePredict.java delete mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/TensorForestTreeResourceHandleOp.java delete mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/TryRpc.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/XlaConvV2.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/XlaDotV2.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/op/core/XlaSetDynamicDimensionSize.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/tensorflow/ExtensionTypeVariant.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/tensorflow/OpPerformanceData.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/tensorflow/TransportOptions.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/tensorflow/data/DatasetOptions.java create mode 100644 tensorflow-core/tensorflow-core-api/src/gen/java/tensorflow/data/model/Model.java diff --git a/tensorflow-core/tensorflow-core-api/src/gen/annotations/org/tensorflow/op/DataOps.java b/tensorflow-core/tensorflow-core-api/src/gen/annotations/org/tensorflow/op/DataOps.java index 523b1596398..4197dac5fee 100644 --- a/tensorflow-core/tensorflow-core-api/src/gen/annotations/org/tensorflow/op/DataOps.java +++ b/tensorflow-core/tensorflow-core-api/src/gen/annotations/org/tensorflow/op/DataOps.java @@ -55,8 +55,6 @@ * @see {@link Ops} */ public final class DataOps { - public final DataExperimentalOps experimental; - private final Scope scope; private final Ops ops; @@ -64,7 +62,6 @@ public final class DataOps { DataOps(Ops ops) { this.scope = ops.scope(); this.ops = ops; - experimental = new DataExperimentalOps(ops); } /** diff --git a/tensorflow-core/tensorflow-core-api/src/gen/annotations/org/tensorflow/op/ImageOps.java b/tensorflow-core/tensorflow-core-api/src/gen/annotations/org/tensorflow/op/ImageOps.java index 0ddfec44759..94bfe32ace0 100644 --- a/tensorflow-core/tensorflow-core-api/src/gen/annotations/org/tensorflow/op/ImageOps.java +++ b/tensorflow-core/tensorflow-core-api/src/gen/annotations/org/tensorflow/op/ImageOps.java @@ -155,7 +155,9 @@ public AdjustSaturation adjustSaturation(Operand image * representing a single score corresponding to each box (each row of boxes). * @param maxOutputSizePerClass A scalar integer tensor representing the maximum number of * boxes to be selected by non max suppression per class - * @param maxTotalSize A scalar representing maximum number of boxes retained over all classes. + * @param maxTotalSize An int32 scalar representing the maximum number of boxes retained over all + * classes. Note that setting this value to a large number may result in OOM error + * depending on the system workload. * @param iouThreshold A 0-D float tensor representing the threshold for deciding whether * boxes overlap too much with respect to IOU. * @param scoreThreshold A 0-D float tensor representing the threshold for deciding when to remove diff --git a/tensorflow-core/tensorflow-core-api/src/gen/annotations/org/tensorflow/op/IoOps.java b/tensorflow-core/tensorflow-core-api/src/gen/annotations/org/tensorflow/op/IoOps.java index 188270728d9..889c234eff1 100644 --- a/tensorflow-core/tensorflow-core-api/src/gen/annotations/org/tensorflow/op/IoOps.java +++ b/tensorflow-core/tensorflow-core-api/src/gen/annotations/org/tensorflow/op/IoOps.java @@ -138,12 +138,13 @@ public DecodeCsv decodeCsv(Operand records, Iterable> record /** * Convert JSON-encoded Example records to binary protocol buffer strings. - * This op translates a tensor containing Example records, encoded using - * the standard JSON - * mapping , - * into a tensor containing the same records encoded as binary protocol - * buffers. The resulting tensor can then be fed to any of the other - * Example-parsing ops. + * Note: This is not a general purpose JSON parsing op. + *

This op converts JSON-serialized + * {@code tf.train.Example} (created with {@code json_format.MessageToJson}, following the + * standard JSON mapping ) + * to a binary-serialized {@code tf.train.Example} (equivalent to + * {@code Example.SerializeToString()}) suitable for conversion to tensors with + * {@code tf.io.parse_example}. * * @param jsonExamples Each string is a JSON object serialized according to the JSON * mapping of the Example proto. diff --git a/tensorflow-core/tensorflow-core-api/src/gen/annotations/org/tensorflow/op/LinalgOps.java b/tensorflow-core/tensorflow-core-api/src/gen/annotations/org/tensorflow/op/LinalgOps.java index 2180a8b95f1..192973c6a32 100644 --- a/tensorflow-core/tensorflow-core-api/src/gen/annotations/org/tensorflow/op/LinalgOps.java +++ b/tensorflow-core/tensorflow-core-api/src/gen/annotations/org/tensorflow/op/LinalgOps.java @@ -95,25 +95,25 @@ public final class LinalgOps { *

For example: *

    *  # if 'input' is [[ 0,  1,  2, 3]
-   *                   [-1,  0,  1, 2]
-   *                   [-2, -1,  0, 1]
-   *                   [-3, -2, -1, 0]],
+   *  #                [-1,  0,  1, 2]
+   *  #                [-2, -1,  0, 1]
+   *  #                [-3, -2, -1, 0]],
    *
-   *  tf.matrix_band_part(input, 1, -1) ==> [[ 0,  1,  2, 3]
+   *  tf.linalg.band_part(input, 1, -1) ==> [[ 0,  1,  2, 3]
    *                                         [-1,  0,  1, 2]
    *                                         [ 0, -1,  0, 1]
    *                                         [ 0,  0, -1, 0]],
    *
-   *  tf.matrix_band_part(input, 2, 1) ==> [[ 0,  1,  0, 0]
+   *  tf.linalg.band_part(input, 2, 1) ==> [[ 0,  1,  0, 0]
    *                                        [-1,  0,  1, 0]
    *                                        [-2, -1,  0, 1]
    *                                        [ 0, -2, -1, 0]]
    *  
*

Useful special cases: *

-   *   tf.matrix_band_part(input, 0, -1) ==> Upper triangular part.
-   *   tf.matrix_band_part(input, -1, 0) ==> Lower triangular part.
-   *   tf.matrix_band_part(input, 0, 0) ==> Diagonal.
+   *   tf.linalg.band_part(input, 0, -1) ==> Upper triangular part.
+   *   tf.linalg.band_part(input, -1, 0) ==> Lower triangular part.
+   *   tf.linalg.band_part(input, 0, 0) ==> Diagonal.
    *  
* * @param data type for {@code band} output diff --git a/tensorflow-core/tensorflow-core-api/src/gen/annotations/org/tensorflow/op/MathOps.java b/tensorflow-core/tensorflow-core-api/src/gen/annotations/org/tensorflow/op/MathOps.java index cc90d2e1b0f..9c796755cb4 100644 --- a/tensorflow-core/tensorflow-core-api/src/gen/annotations/org/tensorflow/op/MathOps.java +++ b/tensorflow-core/tensorflow-core-api/src/gen/annotations/org/tensorflow/op/MathOps.java @@ -1960,7 +1960,7 @@ public Sinh sinh(Operand x) { } /** - * Computes softplus: {@code log(exp(features) + 1)}. + * The Softplus operation * * @param data type for {@code activations} output * @param features the features value diff --git a/tensorflow-core/tensorflow-core-api/src/gen/annotations/org/tensorflow/op/NnOps.java b/tensorflow-core/tensorflow-core-api/src/gen/annotations/org/tensorflow/op/NnOps.java index acab988384a..8b25a15522f 100644 --- a/tensorflow-core/tensorflow-core-api/src/gen/annotations/org/tensorflow/op/NnOps.java +++ b/tensorflow-core/tensorflow-core-api/src/gen/annotations/org/tensorflow/op/NnOps.java @@ -954,8 +954,26 @@ public Dilation2dBackpropInput dilation2dBackpropInput(Op } /** - * Computes exponential linear: {@code exp(features) - 1} if < 0, {@code features} otherwise. - * See Fast and Accurate Deep Network Learning by Exponential Linear Units (ELUs) + * Computes the exponential linear function. + * The ELU function is defined as: + *
    + *
  • $ e ^ x - 1 $ if $ x < 0 $
  • + *
  • $ x $ if $ x >= 0 $
  • + *
+ *

Examples: + *

+ *
+ *
+ *

tf.nn.elu(1.0) + * <tf.Tensor: shape=(), dtype=float32, numpy=1.0> + * tf.nn.elu(0.0) + * <tf.Tensor: shape=(), dtype=float32, numpy=0.0> + * tf.nn.elu(-1000.0) + * <tf.Tensor: shape=(), dtype=float32, numpy=-1.0> + *

+ *
+ *
+ *

See Fast and Accurate Deep Network Learning by Exponential Linear Units (ELUs) * * * @param data type for {@code activations} output @@ -1753,8 +1771,8 @@ public QuantizedReluX quantizedReluX(Operand *

*
- *

tf.nn.relu([-2., 0., -0., 3.]).numpy() - * array([ 0., 0., -0., 3.], dtype=float32) + *

tf.nn.relu([-2., 0., 3.]).numpy() + * array([0., 0., 3.], dtype=float32) *

*
* diff --git a/tensorflow-core/tensorflow-core-api/src/gen/annotations/org/tensorflow/op/Ops.java b/tensorflow-core/tensorflow-core-api/src/gen/annotations/org/tensorflow/op/Ops.java index c68b6ee8ff7..a4a7f5d6dbc 100644 --- a/tensorflow-core/tensorflow-core-api/src/gen/annotations/org/tensorflow/op/Ops.java +++ b/tensorflow-core/tensorflow-core-api/src/gen/annotations/org/tensorflow/op/Ops.java @@ -166,7 +166,6 @@ import org.tensorflow.op.core.RefNextIteration; import org.tensorflow.op.core.RefSelect; import org.tensorflow.op.core.RefSwitch; -import org.tensorflow.op.core.RemoteFusedGraphExecute; import org.tensorflow.op.core.Reshape; import org.tensorflow.op.core.ResourceCountUpTo; import org.tensorflow.op.core.ResourceGather; @@ -187,7 +186,6 @@ import org.tensorflow.op.core.Reverse; import org.tensorflow.op.core.ReverseSequence; import org.tensorflow.op.core.Roll; -import org.tensorflow.op.core.Rpc; import org.tensorflow.op.core.ScatterAdd; import org.tensorflow.op.core.ScatterDiv; import org.tensorflow.op.core.ScatterMax; @@ -271,7 +269,6 @@ import org.tensorflow.op.core.Timestamp; import org.tensorflow.op.core.TopKUnique; import org.tensorflow.op.core.TopKWithUnique; -import org.tensorflow.op.core.TryRpc; import org.tensorflow.op.core.Unbatch; import org.tensorflow.op.core.UnbatchGrad; import org.tensorflow.op.core.Unique; @@ -284,6 +281,9 @@ import org.tensorflow.op.core.Variable; import org.tensorflow.op.core.VariableShape; import org.tensorflow.op.core.Where; +import org.tensorflow.op.core.XlaConvV2; +import org.tensorflow.op.core.XlaDotV2; +import org.tensorflow.op.core.XlaSetDynamicDimensionSize; import org.tensorflow.op.core.XlaSpmdFullToShardShape; import org.tensorflow.op.core.XlaSpmdShardToFullShape; import org.tensorflow.op.core.Zeros; @@ -2953,9 +2953,8 @@ public InitializeTableFromTextFile initializeTableFromTextFile( } /** - *
-   *  Adds v into specified rows of x.
-   *
+   * Adds v into specified rows of x.
+   *  
    *  Computes y = x; y[i, :] += v; return y.
    *  
* @@ -4159,27 +4158,6 @@ public RefSwitch refSwitch(Operand data, Operand return RefSwitch.create(scope, data, pred); } - /** - * Execute a sub graph on a remote processor. - * The graph specifications(such as graph itself, input tensors and output names) - * are stored as a serialized protocol buffer of RemoteFusedGraphExecuteInfo - * as serialized_remote_fused_graph_execute_info. - * The specifications will be passed to a dedicated registered - * remote fused graph executor. The executor will send the graph specifications - * to a remote processor and execute that graph. The execution results - * will be passed to consumer nodes as outputs of this node. - * - * @param inputs Arbitrary number of tensors with arbitrary data types - * @param Toutputs the value of the Toutputs property - * @param serializedRemoteFusedGraphExecuteInfo Serialized protocol buffer - * of RemoteFusedGraphExecuteInfo which contains graph specifications. - * @return a new instance of RemoteFusedGraphExecute - */ - public RemoteFusedGraphExecute remoteFusedGraphExecute(Iterable> inputs, - List> Toutputs, String serializedRemoteFusedGraphExecuteInfo) { - return RemoteFusedGraphExecute.create(scope, inputs, Toutputs, serializedRemoteFusedGraphExecuteInfo); - } - /** * Reshapes a tensor. * Given {@code tensor}, this operation returns a tensor that has the same values @@ -4857,64 +4835,6 @@ public Roll roll(Operand input, Operand - *
  • {@code address} (the host+port or BNS address of the request)
  • - *
  • {@code method} (the RPC method name for the request)
  • - *
  • {@code request} (the serialized proto string, or vector of strings, - * of the RPC request argument).
  • - * - *

    For example, if you have an RPC service running on port localhost:2345, - * and its interface is configured with the following proto declaration: - *

    -   *  service MyService {
    -   *    rpc MyMethod(MyRequestProto) returns (MyResponseProto) {
    -   *    }
    -   *  };
    -   *  
    - *

    then call this op with arguments: - *

    -   *  address = "localhost:2345"
    -   *  method = "MyService/MyMethod"
    -   *  
    - *

    The {@code request} tensor is a string tensor representing serialized {@code MyRequestProto} - * strings; and the output string tensor {@code response} will have the same shape - * and contain (upon successful completion) corresponding serialized - * {@code MyResponseProto} strings. - *

    For example, to send a single, empty, {@code MyRequestProto}, call - * this op with {@code request = ""}. To send 5 parallel empty requests, - * call this op with {@code request = ["", "", "", "", ""]}. - *

    More generally, one can create a batch of {@code MyRequestProto} serialized protos - * from regular batched tensors using the {@code encode_proto} op, and convert - * the response {@code MyResponseProto} serialized protos to batched tensors - * using the {@code decode_proto} op. - *

    NOTE Working with serialized proto strings is faster than instantiating - * actual proto objects in memory, so no performance degradation is expected - * compared to writing custom kernels for this workflow. - *

    If the connection fails or the remote worker returns an error - * status, the op reraises this exception locally. - *

    See the {@code TryRpc} op if you prefer to handle RPC failures manually in the graph. - * - * @param address {@code 0-D} or {@code 1-D}. The address (i.e. host_name:port) of the RPC server. - * If this tensor has more than 1 element, then multiple parallel rpc requests - * are sent. This argument broadcasts with {@code method} and {@code request}. - * @param method {@code 0-D} or {@code 1-D}. The method address on the RPC server. - * If this tensor has more than 1 element, then multiple parallel rpc requests - * are sent. This argument broadcasts with {@code address} and {@code request}. - * @param request {@code 0-D} or {@code 1-D}. Serialized proto strings: the rpc request argument. - * If this tensor has more than 1 element, then multiple parallel rpc requests - * are sent. This argument broadcasts with {@code address} and {@code method}. - * @param options carries optional attribute values - * @return a new instance of Rpc - */ - public Rpc rpc(Operand address, Operand method, Operand request, - Rpc.Options... options) { - return Rpc.create(scope, address, method, request, options); - } - /** * Adds sparse updates to a variable reference. * This operation computes @@ -5930,7 +5850,39 @@ public StageSize stageSize(List> dtypes, StageSize.Option * in the graph it inputs are masked from the gradient generator. They are not * taken into account for computing gradients. *

    This is useful any time you want to compute a value with TensorFlow but need - * to pretend that the value was a constant. Some examples include: + * to pretend that the value was a constant. For example, the softmax function + * for a vector x can be written as + *

    +   *
    +   *    def softmax(x):
    +   *      numerator = tf.exp(x)
    +   *      denominator = tf.reduce_sum(numerator)
    +   *      return numerator / denominator
    +   *  
    + *

    This however is susceptible to overflow if the values in x are large. An + * alternative more stable way is to subtract the maximum of x from each of the + * values. + *

    +   *
    +   *    def stable_softmax(x):
    +   *      z = x - tf.reduce_max(x)
    +   *      numerator = tf.exp(z)
    +   *      denominator = tf.reduce_sum(numerator)
    +   *      return numerator / denominator
    +   *  
    + *

    However, when we backprop through the softmax to x, we dont want to backprop + * through the {@code tf.reduce_max(x)} (if the max values are not unique then the + * gradient could flow to the wrong input) calculation and treat that as a + * constant. Therefore, we should write this out as + *

    +   *
    +   *    def stable_softmax(x):
    +   *      z = x - tf.stop_gradient(tf.reduce_max(x))
    +   *      numerator = tf.exp(z)
    +   *      denominator = tf.reduce_sum(numerator)
    +   *      return numerator / denominator
    +   *  
    + *

    Some other examples include: *