blob: 41d86edb9fd429761152b96a8bcf23ad95c85887 [file] [log] [blame]
load("@bazel_skylib//:bzl_library.bzl", "bzl_library")
# Description: Operations defined for Cloud TPUs
load("//tensorflow:pytype.default.bzl", "pytype_strict_library")
load("//tensorflow:strict.default.bzl", "py_strict_library", "py_strict_test")
# Placeholder: load py_proto_library
load("//tensorflow:tensorflow.default.bzl", "tf_py_strict_test", "tf_python_pybind_extension")
load("//tensorflow/core/platform:build_config.bzl", "tf_proto_library")
load("//tensorflow/python/tpu:tpu.bzl", "internal_create_sanitizer_settings", "tpu_py_strict_test")
# Do not add anymore paths here. You do not need to be in the visibility list
# to use TPU symbols. They are accessible from tf.contrib.tpu in TF 1.x and
# tf.tpu and tf.compat.v1.tpu in TF 2.x.
visibility = [
"//learning/brain:__subpackages__",
"//learning/deepmind:__subpackages__",
"//learning/serving:__subpackages__",
"//research/graph:__subpackages__",
"//smartass/brain/configure:__subpackages__",
"//third_party/py/jax_tpu_embedding:__subpackages__",
"//third_party/py/lingvo:__subpackages__",
"//third_party/py/medical_research_foundations:__subpackages__",
"//tensorflow:__subpackages__",
"//waymo/ml/deploy/sync_test/tools:__subpackages__",
]
package(
# copybara:uncomment default_applicable_licenses = ["//tensorflow:license"],
default_visibility = visibility + ["//tensorflow/tools/pip_package:__subpackages__"],
licenses = ["notice"],
)
exports_files(["tpu_test_wrapper.py"])
bzl_library(
name = "tpu_test_wrapper_bzl",
srcs = ["tpu_test_wrapper.bzl"],
)
py_strict_library(
name = "tpu_test_wrapper",
srcs = ["tpu_test_wrapper.py"],
srcs_version = "PY3",
deps = [
"//tensorflow/python/platform:flags",
"//tensorflow/python/util:tf_inspect",
],
)
py_strict_test(
name = "tpu_test_wrapper_test",
srcs = ["tpu_test_wrapper_test.py"],
main = "tpu_test_wrapper_test.py",
python_version = "PY3",
srcs_version = "PY3",
tags = [
"no_oss_py35",
"no_pip",
],
deps = [
":tpu_test_wrapper",
"//tensorflow/python/platform:client_testlib",
"//tensorflow/python/platform:flags",
"@absl_py//absl/testing:flagsaver",
],
)
tf_py_strict_test(
name = "tpu_embedding_v3_cpu_ops_test",
srcs = ["tpu_embedding_v3_cpu_ops_test.py"],
shard_count = 8,
tags = ["no_oss"],
deps = [
# copybara:uncomment "//tensorflow/core/tpu/kernels",
"//tensorflow/python/compat:v2_compat",
"//tensorflow/python/framework:constant_op",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/framework:ops",
"//tensorflow/python/framework:sparse_tensor",
"//tensorflow/python/ops:array_ops",
"//tensorflow/python/ops:bitwise_ops",
"//tensorflow/python/ops:math_ops",
"//tensorflow/python/ops:sparse_ops",
"//tensorflow/python/platform:client_testlib",
"//tensorflow/python/tpu/ops:gen_xla_ops",
"//third_party/py/numpy",
"@absl_py//absl/testing:parameterized",
],
)
alias(
name = "tpu_ops",
actual = "//tensorflow/python/tpu/ops",
)
pytype_strict_library(
name = "async_checkpoint",
srcs = ["async_checkpoint.py"],
srcs_version = "PY3",
deps = [
"//tensorflow/core:protos_all_py",
"//tensorflow/python/client:session",
"//tensorflow/python/framework:meta_graph",
"//tensorflow/python/framework:ops",
"//tensorflow/python/platform:tf_logging",
"//tensorflow/python/saved_model:pywrap_saved_model",
"//tensorflow/python/training",
"//tensorflow/python/training:basic_session_run_hooks",
"//tensorflow/python/training:monitored_session",
"//tensorflow/python/training:saver",
"//tensorflow/python/training:session_run_hook",
"//tensorflow/python/training:summary_io",
"//tensorflow/python/training:training_util",
],
)
tpu_py_strict_test(
name = "async_checkpoint_test",
size = "medium",
srcs = ["async_checkpoint_test.py"],
disable_experimental = True,
disable_mlir_bridge = False,
tags = ["no_oss"],
deps = [
":async_checkpoint",
":tpu_lib",
"//tensorflow/core:protos_all_py",
"//tensorflow/python/compat:v2_compat",
"//tensorflow/python/distribute/cluster_resolver:tpu_cluster_resolver_py",
"//tensorflow/python/framework:constant_op",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/lib/io:file_io",
"//tensorflow/python/ops:math_ops",
"//tensorflow/python/ops:metrics",
"//tensorflow/python/ops:variable_scope",
"//tensorflow/python/ops/losses",
"//tensorflow/python/platform:client_testlib",
"//tensorflow/python/platform:flags",
"//tensorflow/python/platform:tf_logging",
"//tensorflow/python/saved_model:pywrap_saved_model",
"//tensorflow/python/training:basic_session_run_hooks",
"//tensorflow/python/training:training_lib",
"//third_party/py/numpy",
],
)
pytype_strict_library(
name = "device_assignment",
srcs = ["device_assignment.py"],
visibility = [
"//tensorflow:internal",
],
deps = [
":topology",
"//tensorflow/python/platform:tf_logging",
"//tensorflow/python/util:tf_export",
"//third_party/py/numpy",
],
)
pytype_strict_library(
name = "preempted_hook_py",
srcs = ["preempted_hook.py"],
srcs_version = "PY3",
deps = [
"//tensorflow/python/distribute/cluster_resolver:tpu_cluster_resolver_py",
"//tensorflow/python/platform:tf_logging",
"//tensorflow/python/training:session_run_hook",
],
)
py_strict_library(
name = "tpu_replication",
srcs = ["tpu_replication.py"],
deps = [
":device_assignment",
"//tensorflow/core:protos_all_py",
"//tensorflow/python/distribute:device_util",
"//tensorflow/python/distribute:distribute_lib",
"//tensorflow/python/framework:device",
"//tensorflow/python/framework:errors",
"//tensorflow/python/framework:func_graph",
"//tensorflow/python/framework:ops",
"//tensorflow/python/ops:array_ops",
"//tensorflow/python/ops:control_flow_ops",
"//tensorflow/python/ops:variables",
"//tensorflow/python/tpu/ops",
"//tensorflow/python/types:core",
"//tensorflow/python/util:compat",
"//tensorflow/python/util:tf_export",
"@absl_py//absl/logging",
],
)
py_strict_library(
name = "functional",
srcs = ["functional.py"],
srcs_version = "PY3",
visibility = [
"//visibility:public",
],
deps = [
"//tensorflow/python/tpu/ops",
],
)
pytype_strict_library(
name = "topology",
srcs = ["topology.py"],
srcs_version = "PY3",
deps = [
"//tensorflow/core/protobuf/tpu:topology_proto_py",
"//tensorflow/python/util:tf_export",
"//third_party/py/numpy",
],
)
py_strict_library(
name = "tpu",
srcs = [
"__init__.py",
],
srcs_version = "PY3",
deps = ["//tensorflow/python/framework:versions"],
)
py_strict_library(
name = "tpu_noestimator",
srcs = [
"__init__.py",
"api.py",
],
srcs_version = "PY3",
deps = [
":feature_column_v2",
":tpu_embedding_for_serving",
":tpu_embedding_v1",
":tpu_embedding_v2",
":tpu_embedding_v2_utils",
":tpu_embedding_v3",
":tpu_hardware_feature",
":tpu_lib",
":tpu_py",
"//tensorflow/python/framework:versions",
],
)
pytype_strict_library(
name = "tensor_tracer",
srcs = ["tensor_tracer.py"],
deps = [
":tensor_tracer_flags",
":tensor_tracer_report",
":tpu_replication",
"//tensorflow/core:protos_all_py",
"//tensorflow/python/eager:monitoring",
"//tensorflow/python/framework:constant_op",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/framework:func_graph",
"//tensorflow/python/framework:function",
"//tensorflow/python/framework:graph_io",
"//tensorflow/python/framework:ops",
"//tensorflow/python/framework:tensor",
"//tensorflow/python/framework:tensor_util",
"//tensorflow/python/lib/io:file_io",
"//tensorflow/python/ops:array_ops",
"//tensorflow/python/ops:array_ops_stack",
"//tensorflow/python/ops:cond",
"//tensorflow/python/ops:control_flow_case",
"//tensorflow/python/ops:control_flow_ops",
"//tensorflow/python/ops:control_flow_util",
"//tensorflow/python/ops:init_ops",
"//tensorflow/python/ops:linalg_ops",
"//tensorflow/python/ops:logging_ops",
"//tensorflow/python/ops:math_ops",
"//tensorflow/python/ops:math_ops_gen",
"//tensorflow/python/ops:nn_impl",
"//tensorflow/python/ops:state_ops",
"//tensorflow/python/ops:string_ops",
"//tensorflow/python/ops:summary_ops_v2",
"//tensorflow/python/ops:variable_scope",
"//tensorflow/python/platform:analytics",
"//tensorflow/python/platform:gfile",
"//tensorflow/python/platform:remote_utils",
"//tensorflow/python/platform:tf_logging",
"//tensorflow/python/summary:summary_iterator",
"//tensorflow/python/tpu/ops",
"//tensorflow/python/training:training_util",
"//third_party/py/numpy",
],
)
pytype_strict_library(
name = "tensor_tracer_report",
srcs = ["tensor_tracer_report.py"],
deps = [
":tensor_tracer_proto_py",
"//tensorflow/python/platform:gfile",
"//tensorflow/python/platform:tf_logging",
],
)
pytype_strict_library(
name = "tensor_tracer_flags",
srcs = ["tensor_tracer_flags.py"],
deps = [
"//tensorflow/python/ops:linalg_ops",
"//tensorflow/python/ops:math_ops",
"//tensorflow/python/platform:tf_logging",
"@absl_py//absl/flags",
],
)
pytype_strict_library(
name = "tpu_lib",
srcs = [
"__init__.py",
"bfloat16.py",
"tpu_optimizer.py",
"tpu_strategy_util.py",
"training_loop.py",
],
srcs_version = "PY3",
deps = [
":tensor_tracer",
":topology",
":tpu_feed",
":tpu_function",
":tpu_py",
"//tensorflow/core:protos_all_py",
"//tensorflow/python/client:session",
"//tensorflow/python/compiler/xla",
"//tensorflow/python/distribute/cluster_resolver:base_cluster_resolver_py",
"//tensorflow/python/eager:context",
"//tensorflow/python/eager:def_function",
"//tensorflow/python/eager:monitoring",
"//tensorflow/python/framework:device",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/framework:errors",
"//tensorflow/python/framework:ops",
"//tensorflow/python/framework:versions",
"//tensorflow/python/ops:array_ops",
"//tensorflow/python/ops:control_flow_ops",
"//tensorflow/python/ops:math_ops",
"//tensorflow/python/ops:variable_scope",
"//tensorflow/python/ops:while_loop",
"//tensorflow/python/ops/losses",
"//tensorflow/python/platform:tf_logging",
"//tensorflow/python/tpu/ops",
"//tensorflow/python/training:optimizer",
"//tensorflow/python/training:session_run_hook",
"//tensorflow/python/training:training_util",
"//tensorflow/python/types:core",
"//tensorflow/python/util:compat",
"//tensorflow/python/util:tf_contextlib",
"//tensorflow/python/util:tf_export",
],
)
pytype_strict_library(
name = "tpu_py",
srcs = ["tpu.py"],
deps = [
":device_assignment",
":tensor_tracer",
":tpu_feed",
":tpu_function",
":tpu_name_util",
":tpu_replication",
"//tensorflow/compiler/tf2xla/python:xla",
"//tensorflow/core:protos_all_py",
"//tensorflow/core/protobuf/tpu:compilation_result_proto_py",
"//tensorflow/core/protobuf/tpu:dynamic_padding_proto_py",
"//tensorflow/core/protobuf/tpu:tpu_embedding_configuration_proto_py",
"//tensorflow/python:tf2",
"//tensorflow/python/compiler/xla",
"//tensorflow/python/framework:auto_control_deps",
"//tensorflow/python/framework:composite_tensor",
"//tensorflow/python/framework:config",
"//tensorflow/python/framework:constant_op",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/framework:func_graph",
"//tensorflow/python/framework:function",
"//tensorflow/python/framework:ops",
"//tensorflow/python/framework:tensor_shape",
"//tensorflow/python/ops:array_ops",
"//tensorflow/python/ops:array_ops_stack",
"//tensorflow/python/ops:cond",
"//tensorflow/python/ops:control_flow_ops",
"//tensorflow/python/ops:math_ops",
"//tensorflow/python/ops:variable_scope",
"//tensorflow/python/tpu/ops",
"//tensorflow/python/types:core",
"//tensorflow/python/util:compat",
"//tensorflow/python/util:nest",
"//tensorflow/python/util:object_identity",
"//tensorflow/python/util:tf_export",
"//tensorflow/python/util:traceback_utils",
"//tensorflow/python/util:variable_utils",
"//third_party/py/numpy",
"@absl_py//absl/logging",
],
)
pytype_strict_library(
name = "tpu_feed",
srcs = ["tpu_feed.py"],
deps = [
":tpu_name_util",
":tpu_sharding",
"//tensorflow/python/compiler/xla/experimental:xla_sharding",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/framework:ops",
"//tensorflow/python/framework:tensor_shape",
"//tensorflow/python/ops:array_ops",
"//tensorflow/python/tpu/ops",
"//tensorflow/python/util:nest",
"//third_party/py/numpy",
],
)
pytype_strict_library(
name = "tpu_function",
srcs = ["tpu_function.py"],
)
pytype_strict_library(
name = "tpu_sharding",
srcs = ["tpu_sharding.py"],
deps = [
"//tensorflow/python/framework:tensor_shape",
],
)
pytype_strict_library(
name = "tpu_system_metadata",
srcs = ["tpu_system_metadata.py"],
deps = [
":tpu_py",
"//tensorflow/core:protos_all_py",
"//tensorflow/python/client:session",
"//tensorflow/python/distribute:device_util",
"//tensorflow/python/eager:context",
"//tensorflow/python/framework:config",
"//tensorflow/python/framework:device",
"//tensorflow/python/framework:errors",
"//tensorflow/python/framework:ops",
"//tensorflow/python/platform:tf_logging",
"//tensorflow/python/util:tf_export",
],
)
pytype_strict_library(
name = "datasets",
srcs = [
"datasets.py",
],
srcs_version = "PY3",
visibility = visibility,
deps = [
"//tensorflow/python/data/experimental/ops:interleave_ops",
"//tensorflow/python/data/ops:dataset_ops",
"//tensorflow/python/data/ops:iterator_ops",
"//tensorflow/python/data/ops:readers",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/framework:function",
"//tensorflow/python/framework:ops",
"//tensorflow/python/ops:functional_ops",
"//tensorflow/python/types:data",
],
)
tf_py_strict_test(
name = "datasets_test",
size = "medium",
srcs = ["datasets_test.py"],
grpc_enabled = True,
shard_count = 4,
tags = ["no_oss"],
deps = [
":datasets",
"//tensorflow/core:protos_all_py",
"//tensorflow/python/client:session",
"//tensorflow/python/data/ops:dataset_ops",
"//tensorflow/python/data/ops:readers",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/framework:ops",
"//tensorflow/python/framework:tensor_shape",
"//tensorflow/python/lib/io:python_io",
"//tensorflow/python/platform:client_testlib",
"//tensorflow/python/training:server_lib",
"//tensorflow/python/util:compat",
],
)
tf_py_strict_test(
name = "tpu_test",
size = "small",
srcs = ["tpu_test.py"],
tags = [
"no_oss", # TODO(b/131157871): Reenable in OSS when fixed
"no_windows", # TODO: needs investigation on Windows
],
deps = [
":tpu_feed",
":tpu_lib",
":tpu_py",
":tpu_replication",
"//tensorflow/python/eager:def_function",
"//tensorflow/python/framework:constant_op",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/framework:importer",
"//tensorflow/python/framework:ops",
"//tensorflow/python/layers",
"//tensorflow/python/ops:array_ops",
"//tensorflow/python/ops:control_flow_ops",
"//tensorflow/python/ops:control_flow_util",
"//tensorflow/python/ops:init_ops",
"//tensorflow/python/ops:math_ops",
"//tensorflow/python/ops:special_math_ops",
"//tensorflow/python/ops:variable_scope",
"//tensorflow/python/platform:client_testlib",
"//tensorflow/python/tpu/ops",
],
)
tf_py_strict_test(
name = "tpu_sharding_test",
size = "small",
srcs = ["tpu_sharding_test.py"],
deps = [
":tpu_sharding",
"//tensorflow/python/framework:tensor_shape",
"//tensorflow/python/platform:client_testlib",
],
)
tf_py_strict_test(
name = "bfloat16_test",
size = "small",
srcs = ["bfloat16_test.py"],
deps = [
":tpu_lib",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/framework:ops",
"//tensorflow/python/framework:test_lib",
"//tensorflow/python/ops:math_ops",
"//tensorflow/python/ops:variable_scope",
"//tensorflow/python/ops:variables",
"//tensorflow/python/platform:client_testlib",
],
)
tf_py_strict_test(
name = "tpu_infeed_test",
size = "small",
srcs = ["tpu_infeed_test.py"],
deps = [
":tpu_feed",
"//tensorflow/python/framework:constant_op",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/platform:client_testlib",
],
)
tf_py_strict_test(
name = "topology_test",
size = "medium",
srcs = ["topology_test.py"],
deps = [
":topology",
"//tensorflow/python/platform:client_testlib",
],
)
pytype_strict_library(
name = "tpu_strategy_util",
srcs = ["tpu_strategy_util.py"],
visibility = [
"//tensorflow:__subpackages__",
"//third_party/py/tensorflow_numerics/extensions:__pkg__",
],
deps = [
":topology",
":tpu_py",
"//tensorflow/core:protos_all_py",
"//tensorflow/python/client:session",
"//tensorflow/python/distribute/cluster_resolver:base_cluster_resolver_py",
"//tensorflow/python/eager:context",
"//tensorflow/python/eager:def_function",
"//tensorflow/python/eager:monitoring",
"//tensorflow/python/framework:device",
"//tensorflow/python/framework:errors",
"//tensorflow/python/framework:ops",
"//tensorflow/python/platform:tf_logging",
"//tensorflow/python/util:compat",
],
)
pytype_strict_library(
name = "tpu_hardware_feature",
srcs = ["tpu_hardware_feature.py"],
deps = [
"//tensorflow/core/protobuf/tpu:topology_proto_py",
"//tensorflow/python/util:tf_export",
],
)
py_strict_library(
name = "tpu_name_util",
srcs = ["tpu_name_util.py"],
srcs_version = "PY3",
deps = [
"//tensorflow/python/util:tf_export",
],
)
pytype_strict_library(
name = "feature_column",
srcs = ["feature_column.py"],
deps = [
":tpu_function",
":tpu_py",
":tpu_replication",
"//tensorflow/python/feature_column",
"//tensorflow/python/feature_column:feature_column_py",
"//tensorflow/python/framework:ops",
"//tensorflow/python/ops:array_ops",
"//tensorflow/python/ops:init_ops",
"//tensorflow/python/ops:variable_scope",
],
)
pytype_strict_library(
name = "feature_column_v2",
srcs = ["feature_column_v2.py"],
deps = [
":feature_column",
":tpu_py",
":tpu_replication",
"//tensorflow/python/feature_column",
"//tensorflow/python/feature_column:feature_column_py",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/framework:ops",
"//tensorflow/python/ops:array_ops",
"//tensorflow/python/ops:embedding_ops",
"//tensorflow/python/ops:init_ops",
"//tensorflow/python/ops:math_ops",
"//tensorflow/python/ops:sparse_ops",
"//tensorflow/python/ops:variable_scope",
"//tensorflow/python/util:tf_export",
],
)
tf_py_strict_test(
name = "feature_column_test",
srcs = [
"feature_column_test.py",
],
main = "feature_column_test.py",
deps = [
":feature_column",
"//tensorflow/python/client:session",
"//tensorflow/python/feature_column",
"//tensorflow/python/feature_column:feature_column_py",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/framework:ops",
"//tensorflow/python/framework:sparse_tensor",
"//tensorflow/python/framework:test_lib",
"//tensorflow/python/ops:lookup_ops",
"//tensorflow/python/ops:parsing_ops",
"//tensorflow/python/ops:variables",
"//tensorflow/python/platform:client_testlib",
"//third_party/py/numpy",
],
)
tf_py_strict_test(
name = "feature_column_v2_test",
srcs = [
"feature_column_v2_test.py",
],
main = "feature_column_v2_test.py",
tags = ["no_oss"], # Due to the usage of keras component.
deps = [
":feature_column_v2",
":tpu_function",
":tpu_py",
"//tensorflow/python/client:session",
"//tensorflow/python/feature_column:feature_column_py",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/framework:ops",
"//tensorflow/python/framework:sparse_tensor",
"//tensorflow/python/framework:test_lib",
"//tensorflow/python/ops:init_ops",
"//tensorflow/python/ops:lookup_ops",
"//tensorflow/python/ops:parsing_ops",
"//tensorflow/python/ops:variable_scope",
"//tensorflow/python/ops:variables",
"//tensorflow/python/platform:client_testlib",
"@absl_py//absl/testing:parameterized",
],
)
pytype_strict_library(
name = "tpu_embedding_v2_utils",
srcs = ["tpu_embedding_v2_utils.py"],
srcs_version = "PY3",
deps = [
"//tensorflow/core/protobuf/tpu:optimization_parameters_proto_py",
"//tensorflow/core/protobuf/tpu:tpu_embedding_configuration_proto_py",
"//tensorflow/python/distribute:device_util",
"//tensorflow/python/distribute:sharded_variable",
"//tensorflow/python/distribute:tpu_strategy",
"//tensorflow/python/framework:device_spec",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/framework:ops",
"//tensorflow/python/framework:tensor_shape",
"//tensorflow/python/ops:array_ops",
"//tensorflow/python/ops:init_ops_v2",
"//tensorflow/python/ops:math_ops",
"//tensorflow/python/ops:variables",
"//tensorflow/python/tpu/ops",
"//tensorflow/python/types:core",
"//tensorflow/python/util:tf_export",
"@absl_py//absl/logging",
],
)
pytype_strict_library(
name = "tpu_embedding_v2",
srcs = ["tpu_embedding_v2.py"],
srcs_version = "PY3",
deps = [
":tpu_embedding_v2_utils",
":tpu_py",
":tpu_replication",
"//tensorflow/core:protos_all_py",
"//tensorflow/core/protobuf/tpu:tpu_embedding_configuration_proto_py",
"//tensorflow/python/distribute:device_util",
"//tensorflow/python/distribute:distribute_lib",
"//tensorflow/python/distribute:distribute_utils",
"//tensorflow/python/distribute:sharded_variable",
"//tensorflow/python/distribute:tpu_strategy",
"//tensorflow/python/eager:context",
"//tensorflow/python/eager:def_function",
"//tensorflow/python/framework:constant_op",
"//tensorflow/python/framework:device",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/framework:ops",
"//tensorflow/python/framework:sparse_tensor",
"//tensorflow/python/framework:tensor",
"//tensorflow/python/framework:tensor_shape",
"//tensorflow/python/ops:array_ops",
"//tensorflow/python/ops:math_ops",
"//tensorflow/python/ops:sparse_ops",
"//tensorflow/python/ops:variable_scope",
"//tensorflow/python/ops:variables",
"//tensorflow/python/ops/ragged:ragged_tensor",
"//tensorflow/python/saved_model:save_context",
"//tensorflow/python/saved_model/registration",
"//tensorflow/python/tpu/ops",
"//tensorflow/python/trackable:autotrackable",
"//tensorflow/python/trackable:base",
"//tensorflow/python/types:internal",
"//tensorflow/python/util:compat",
"//tensorflow/python/util:nest",
"//tensorflow/python/util:tf_export",
"//tensorflow/python/util:tf_inspect",
"@absl_py//absl/logging",
],
)
pytype_strict_library(
name = "tpu_embedding_base",
srcs = ["tpu_embedding_base.py"],
srcs_version = "PY3",
deps = [
":tpu_embedding_v2_utils",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/ops:variables",
"//tensorflow/python/trackable:autotrackable",
"//tensorflow/python/util:nest",
],
)
pytype_strict_library(
name = "tpu_embedding_v3_utils",
srcs = ["tpu_embedding_v3_utils.py"],
deps = [
"//tensorflow/python/framework:constant_op",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/framework:tensor",
"//tensorflow/python/ops:array_ops",
"//tensorflow/python/ops:control_flow_ops_gen",
"//tensorflow/python/ops:manip_ops",
"//tensorflow/python/ops:variables",
"//tensorflow/python/trackable:base",
],
)
tf_py_strict_test(
name = "tpu_embedding_v3_utils_test",
srcs = ["tpu_embedding_v3_utils_test.py"],
deps = [
":tpu_embedding_v3_utils",
"//tensorflow/python/compat:v2_compat",
"//tensorflow/python/eager:test",
"//tensorflow/python/framework:constant_op",
"//tensorflow/python/ops:array_ops",
"//tensorflow/python/ops:math_ops",
"//tensorflow/python/platform:client_testlib",
"@absl_py//absl/testing:parameterized",
],
)
pytype_strict_library(
name = "tpu_embedding_v3_checkpoint_adapter",
srcs = ["tpu_embedding_v3_checkpoint_adapter.py"],
deps = [
":tpu_embedding_v3_utils",
"//tensorflow/core/tpu/kernels:sparse_core_layout_proto_py",
"//tensorflow/python/checkpoint:checkpoint_adapter",
"//tensorflow/python/framework:constant_op",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/framework:errors",
"//tensorflow/python/framework:tensor",
"//tensorflow/python/ops:array_ops",
"//tensorflow/python/ops:manip_ops",
"//tensorflow/python/ops:variables",
"//tensorflow/python/trackable:base",
"//tensorflow/python/training:py_checkpoint_reader",
"//tensorflow/python/util/protobuf",
"@absl_py//absl/logging",
],
)
tf_py_strict_test(
name = "tpu_embedding_v3_checkpoint_adapter_test",
srcs = ["tpu_embedding_v3_checkpoint_adapter_test.py"],
deps = [
":tpu_embedding_v3_checkpoint_adapter",
"//tensorflow/core/tpu/kernels:sparse_core_layout_proto_py",
"//tensorflow/python/compat:v2_compat",
"//tensorflow/python/framework:constant_op",
"//tensorflow/python/ops:array_ops",
"//tensorflow/python/ops:math_ops",
"//tensorflow/python/platform:client_testlib",
"@absl_py//absl/logging",
],
)
pytype_strict_library(
name = "tpu_embedding_for_serving",
srcs = ["tpu_embedding_for_serving.py"],
srcs_version = "PY3",
deps = [
":tpu_embedding_base",
":tpu_embedding_v2_utils",
":tpu_embedding_v3_utils",
"//tensorflow/core/tpu/kernels:sparse_core_layout_proto_py",
"//tensorflow/python/distribute:distribute_lib",
"//tensorflow/python/distribute:tpu_strategy",
"//tensorflow/python/framework:constant_op",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/framework:ops",
"//tensorflow/python/framework:sparse_tensor",
"//tensorflow/python/framework:tensor",
"//tensorflow/python/ops:array_ops",
"//tensorflow/python/ops:array_ops_stack",
"//tensorflow/python/ops:embedding_ops",
"//tensorflow/python/ops:math_ops",
"//tensorflow/python/ops:sparse_ops",
"//tensorflow/python/ops:variables",
"//tensorflow/python/ops/ragged:ragged_tensor",
"//tensorflow/python/types:core",
"//tensorflow/python/util:nest",
"//tensorflow/python/util:tf_export",
"@absl_py//absl/logging",
],
)
tf_py_strict_test(
name = "tpu_embedding_for_serving_test",
srcs = [
"tpu_embedding_for_serving_test.py",
],
python_version = "PY3",
srcs_version = "PY3",
deps = [
":tpu_embedding_for_serving",
":tpu_embedding_v2_utils",
"//tensorflow/python/compat:v2_compat",
"//tensorflow/python/framework:constant_op",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/framework:sparse_tensor",
"//tensorflow/python/ops:init_ops_v2",
"//tensorflow/python/ops/ragged:ragged_tensor",
"//tensorflow/python/platform:client_testlib",
"//tensorflow/python/util:nest",
"//third_party/py/numpy",
],
)
pytype_strict_library(
name = "tpu_embedding_v1",
srcs = ["tpu_embedding_v1.py"],
srcs_version = "PY3",
deps = [
":tpu_embedding_base",
":tpu_embedding_v2_utils",
":tpu_replication",
"//tensorflow/python/distribute:distribute_lib",
"//tensorflow/python/distribute:tpu_strategy",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/framework:ops",
"//tensorflow/python/framework:sparse_tensor",
"//tensorflow/python/framework:tensor",
"//tensorflow/python/ops:array_ops",
"//tensorflow/python/ops:embedding_ops",
"//tensorflow/python/ops:math_ops",
"//tensorflow/python/ops:sparse_ops",
"//tensorflow/python/ops:variables",
"//tensorflow/python/ops/ragged:ragged_tensor",
"//tensorflow/python/util:nest",
"//tensorflow/python/util:tf_export",
],
)
tf_py_strict_test(
name = "tpu_embedding_v2_utils_test",
srcs = [
"tpu_embedding_v2_utils_test.py",
],
python_version = "PY3",
srcs_version = "PY3",
deps = [
":tpu_embedding_v2_utils",
"//tensorflow/core/protobuf/tpu:tpu_embedding_configuration_proto_py",
"//tensorflow/python/compat:v2_compat",
"//tensorflow/python/platform:client_testlib",
"@absl_py//absl/testing:parameterized",
],
)
tpu_py_strict_test(
name = "tpu_outside_compilation_test",
srcs = [
"tpu_outside_compilation_test.py",
],
disable_experimental = True,
disable_mlir_bridge = False,
python_version = "PY3",
deps = [
":functional",
":tpu_py",
":tpu_replication",
"//tensorflow/core:protos_all_py",
"//tensorflow/python/distribute:tpu_strategy",
"//tensorflow/python/distribute/cluster_resolver:tpu_cluster_resolver_py",
"//tensorflow/python/eager:def_function",
"//tensorflow/python/eager:remote",
"//tensorflow/python/eager:test",
"//tensorflow/python/framework:config",
"//tensorflow/python/framework:constant_op",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/framework:ops",
"//tensorflow/python/framework:tensor",
"//tensorflow/python/lib/io:tf_record",
"//tensorflow/python/ops:array_ops",
"//tensorflow/python/ops:cond",
"//tensorflow/python/ops:gradients_impl",
"//tensorflow/python/ops:image_ops",
"//tensorflow/python/ops:logging_ops",
"//tensorflow/python/ops:math_ops",
"//tensorflow/python/ops:random_ops",
"//tensorflow/python/ops:string_ops",
"//tensorflow/python/ops:summary_ops_v2",
"//tensorflow/python/ops:tensor_array_ops",
"//tensorflow/python/ops:while_loop",
"//tensorflow/python/platform:flags",
"//tensorflow/python/platform:gfile",
"//tensorflow/python/tpu/ops",
"//third_party/py/numpy",
"@absl_py//absl/testing:parameterized",
],
)
# NOTE this target should only be depended on by the tpu_test_wrapper macro.
py_strict_library(
name = "tpu_test_deps",
srcs_version = "PY3",
visibility = ["//visibility:public"],
deps = [
"//tensorflow/python/platform:client_testlib",
"//tensorflow/python/platform:flags",
"//tensorflow/python/util:tf_inspect",
],
)
tf_proto_library(
name = "tensor_tracer_proto",
srcs = ["tensor_tracer.proto"],
cc_api_version = 2,
protodeps = [
"//tensorflow/core:protos_all",
],
visibility = ["//visibility:public"],
)
# copybara:uncomment_begin(google-only)
# py_proto_library(
# name = "tensor_tracer_py_pb2",
# api_version = 2,
# visibility = ["//visibility:public"],
# deps = [":tensor_tracer_proto"],
# )
# copybara:uncomment_end
tf_python_pybind_extension(
name = "_pywrap_sparse_core_layout",
srcs = ["pywrap_sparse_core_layout.cc"],
enable_stub_generation = True,
features = ["-layering_check"],
pytype_srcs = [
"_pywrap_sparse_core_layout.pyi",
],
deps = [
"//tensorflow/core/tpu/kernels:_pywrap_sparse_core_layout_header_only",
"//tensorflow/python/lib/core:pybind11_lib",
"//tensorflow/python/lib/core:pybind11_status",
"//tensorflow/python/lib/core:pybind11_status_headers",
"//third_party/python_runtime:headers", # buildcleaner: keep
"@pybind11",
"@pybind11_abseil//pybind11_abseil:status_casters",
"@pybind11_protobuf//pybind11_protobuf:native_proto_caster",
],
)
tf_python_pybind_extension(
name = "_pywrap_tpu_embedding",
srcs = ["pywrap_tpu_embedding.cc"],
enable_stub_generation = True,
features = ["-layering_check"],
pytype_srcs = [
"_pywrap_tpu_embedding.pyi",
],
deps = [
"//tensorflow/core/tpu/kernels:sparse_core_ops_utils",
"//tensorflow/python/lib/core:pybind11_lib",
"//tensorflow/python/lib/core:pybind11_status",
"//tensorflow/python/lib/core:pybind11_status_headers",
"//third_party/python_runtime:headers", # buildcleaner: keep
"@pybind11",
"@pybind11_abseil//pybind11_abseil:absl_casters",
"@pybind11_protobuf//pybind11_protobuf:native_proto_caster",
],
)
py_strict_library(
name = "tpu_embedding_v3",
srcs = ["tpu_embedding_v3.py"],
deps = [
":_pywrap_sparse_core_layout",
":_pywrap_tpu_embedding",
":tpu_embedding_base",
":tpu_embedding_v2_utils",
":tpu_embedding_v3_checkpoint_adapter",
":tpu_embedding_v3_utils",
":tpu_replication",
"//tensorflow/core:protos_all_py",
"//tensorflow/core/tpu/kernels:sparse_core_layout_proto_py",
"//tensorflow/python/checkpoint:saveable_compat",
"//tensorflow/python/distribute:device_util",
"//tensorflow/python/distribute:distribute_lib",
"//tensorflow/python/distribute:tpu_strategy",
"//tensorflow/python/distribute:tpu_util",
"//tensorflow/python/distribute:tpu_values",
"//tensorflow/python/distribute:values",
"//tensorflow/python/distribute:values_util",
"//tensorflow/python/framework:constant_op",
"//tensorflow/python/framework:device",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/framework:ops",
"//tensorflow/python/framework:sparse_tensor",
"//tensorflow/python/framework:tensor",
"//tensorflow/python/framework:tensor_shape",
"//tensorflow/python/ops:array_ops",
"//tensorflow/python/ops:control_flow_ops",
"//tensorflow/python/ops:math_ops",
"//tensorflow/python/ops:resource_variable_ops_gen",
"//tensorflow/python/ops:variable_scope",
"//tensorflow/python/ops:variables",
"//tensorflow/python/ops/ragged:ragged_tensor",
"//tensorflow/python/tpu/ops:gen_xla_ops",
"//tensorflow/python/trackable:base",
"//tensorflow/python/training/saving:saveable_object",
"//tensorflow/python/util:compat",
"//tensorflow/python/util:nest",
"//tensorflow/python/util:tf_export",
"//tensorflow/python/util:tf_inspect",
"@absl_py//absl/logging",
],
)
tpu_py_strict_test(
name = "tpu_embedding_v3_test",
srcs = ["tpu_embedding_v3_test.py"],
disable_experimental = True,
disable_tfrt = False,
disable_v2 = True,
disable_v3 = True,
# copybara:uncomment disable_v4i = True,
# copybara:uncomment disable_v5 = False,
# copybara:uncomment disable_v5_grm = True,
python_version = "PY3",
shard_count = 4,
srcs_version = "PY3",
# copybara:uncomment use_tpu_plugin_and_capi = True,
deps = [
":tpu_embedding_for_serving",
":tpu_embedding_v2_utils",
":tpu_embedding_v3",
":tpu_replication",
"//tensorflow/python/compat:v2_compat",
"//tensorflow/python/data/ops:dataset_ops",
"//tensorflow/python/distribute:distribute_lib",
"//tensorflow/python/distribute:tpu_strategy",
"//tensorflow/python/distribute/cluster_resolver:tpu_cluster_resolver_py",
"//tensorflow/python/eager:def_function",
"//tensorflow/python/eager:remote",
"//tensorflow/python/framework:config",
"//tensorflow/python/framework:sparse_tensor",
"//tensorflow/python/ops:array_ops",
"//tensorflow/python/ops:init_ops_v2",
"//tensorflow/python/ops:sparse_ops",
"//tensorflow/python/ops:variables",
"//tensorflow/python/platform:client_testlib",
"//tensorflow/python/util:nest",
"//third_party/py/numpy",
"@absl_py//absl/testing:parameterized",
],
)
tpu_py_strict_test(
name = "tpu_embedding_v3_additional_test",
srcs = ["tpu_embedding_v3_additional_test.py"],
args = [
"--tpu=''",
],
disable_experimental = True,
disable_tfrt = False,
disable_v2 = True,
disable_v3 = True,
# copybara:uncomment disable_v4i = True,
# copybara:uncomment disable_v5 = False,
# copybara:uncomment disable_v5_grm = True,
env = {
"TF_XLA_FLAGS": (
"--tf_mlir_enable_mlir_bridge=true " +
"--tf_mlir_enable_convert_control_to_data_outputs_pass=true " +
"--tf_mlir_enable_merge_control_flow_pass=true " +
"--tf_mlir_enable_strict_clusters=true " +
# These tests run lookup without while loops.
"--tf_xla_disable_full_embedding_pipelining=true"
),
},
python_version = "PY3",
# Make it so there are enough shards so each test runs in separate shards.
shard_count = 12,
srcs_version = "PY3",
visibility = ["//visibility:private"],
deps = [
":device_assignment",
":tpu_embedding_for_serving",
":tpu_embedding_v2_utils",
":tpu_embedding_v3",
"//tensorflow/python/checkpoint",
"//tensorflow/python/compat:v2_compat",
"//tensorflow/python/distribute:distribute_lib",
"//tensorflow/python/distribute:tpu_strategy",
"//tensorflow/python/distribute:values",
"//tensorflow/python/distribute/cluster_resolver:tpu_cluster_resolver_py",
"//tensorflow/python/eager:context",
"//tensorflow/python/eager:def_function",
"//tensorflow/python/eager:remote",
"//tensorflow/python/framework:combinations",
"//tensorflow/python/framework:config",
"//tensorflow/python/framework:constant_op",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/framework:sparse_tensor",
"//tensorflow/python/ops:array_ops",
"//tensorflow/python/platform:client_testlib",
"//third_party/py/numpy",
"@absl_py//absl/flags",
"@absl_py//absl/logging",
"@absl_py//absl/testing:parameterized",
],
)
internal_create_sanitizer_settings()