aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/python/BUILD
diff options
context:
space:
mode:
Diffstat (limited to 'tensorflow/python/BUILD')
-rw-r--r--tensorflow/python/BUILD965
1 files changed, 965 insertions, 0 deletions
diff --git a/tensorflow/python/BUILD b/tensorflow/python/BUILD
new file mode 100644
index 0000000000..89eb22daba
--- /dev/null
+++ b/tensorflow/python/BUILD
@@ -0,0 +1,965 @@
+# Description:
+# Python support for TensorFlow.
+
+package(default_visibility = ["//tensorflow:internal"])
+
+licenses(["notice"]) # Apache 2.0
+
+exports_files(["LICENSE"])
+
+load("/tensorflow/tensorflow", "tf_cuda_library")
+load("/tensorflow/tensorflow", "tf_gen_op_wrapper_py")
+load("/tensorflow/tensorflow", "py_tests")
+load("/tensorflow/tensorflow", "cuda_py_tests")
+load("/tensorflow/tensorflow", "tf_py_wrap_cc")
+load("/tensorflow/core/platform/default/build_config", "tf_proto_library_py")
+
+config_setting(
+ name = "macosx",
+ values = {"cpu": "darwin"},
+)
+
+numpy_macosx_include_dir = select({
+ ":macosx": ["-I/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy/core/include"],
+ "//conditions:default": [],
+})
+
+py_library(
+ name = "python",
+ srcs = ["__init__.py"],
+ visibility = ["//tensorflow:__pkg__"],
+ deps = [
+ ":client",
+ ":client_testlib",
+ ":framework",
+ ":framework_test_lib",
+ ":platform",
+ ":platform_test",
+ ":summary",
+ ":training",
+ ],
+)
+
+py_library(
+ name = "platform",
+ srcs = glob(["platform/**/*.py"]),
+)
+
+py_library(
+ name = "platform_test",
+ srcs = [
+ "platform/default/_googletest.py",
+ "platform/googletest.py",
+ ],
+ deps = [":platform"],
+)
+
+py_tests(
+ name = "platform_tests",
+ srcs = glob(["platform/default/*_test.py"]),
+ additional_deps = [
+ ":platform",
+ ":platform_test",
+ ],
+ prefix = "platform",
+)
+
+cc_library(
+ name = "py_record_reader_lib",
+ srcs = [
+ "lib/io/py_record_reader.cc",
+ ],
+ hdrs = [
+ "lib/io/py_record_reader.h",
+ ],
+ deps = [
+ "//tensorflow/core:lib",
+ ],
+)
+
+cc_library(
+ name = "py_record_writer_lib",
+ srcs = [
+ "lib/io/py_record_writer.cc",
+ ],
+ hdrs = [
+ "lib/io/py_record_writer.h",
+ ],
+ deps = [
+ "//tensorflow/core:lib",
+ ],
+)
+
+py_test(
+ name = "pywrap_status_test",
+ size = "small",
+ srcs = ["lib/core/pywrap_status_test.py"],
+ deps = [
+ ":framework_test_lib",
+ ":platform_test",
+ "//tensorflow/core:protos_all_py",
+ ],
+)
+
+cc_library(
+ name = "python_op_gen_main",
+ srcs = [
+ "framework/python_op_gen.cc",
+ "framework/python_op_gen.h",
+ "framework/python_op_gen_main.cc",
+ ],
+ visibility = ["//visibility:public"],
+ deps = [
+ "//tensorflow/core:framework",
+ "//tensorflow/core:protos_cc",
+ ],
+)
+
+py_library(
+ name = "framework",
+ srcs = [
+ # TODO(mrry): Move this to framework.
+ "client/graph_util.py",
+ "framework/device.py",
+ "framework/errors.py",
+ "framework/framework_lib.py",
+ "framework/importer.py",
+ "framework/op_def_registry.py",
+ "framework/ops.py",
+ "framework/random_seed.py",
+ "framework/registry.py",
+ "framework/tensor_shape.py",
+ "framework/types.py",
+ "framework/tensor_util.py",
+ "ops/common_shapes.py",
+ ],
+ deps = [
+ ":platform",
+ "//tensorflow/core:protos_all_py",
+ ],
+)
+
+# subinclude("//third_party/py/cython:build_defs")
+
+py_library(
+ name = "extra_py_tests_deps",
+ deps = ["//tensorflow:tensorflow_py"],
+)
+
+py_library(
+ name = "framework_test_lib",
+ srcs = [
+ "framework/test_util.py",
+ ],
+ deps = [
+ ":framework",
+ ":platform_test",
+ ":pywrap_tensorflow",
+ ":session",
+ ":util",
+ ],
+)
+
+py_library(
+ name = "client_testlib",
+ srcs = [
+ "platform/test.py",
+ ],
+ deps = [
+ ":framework_test_lib",
+ ":platform_test",
+ ],
+)
+
+py_test(
+ name = "framework_errors_test",
+ srcs = ["framework/errors_test.py"],
+ main = "framework/errors_test.py",
+ deps = [
+ ":framework_test_lib",
+ ":platform_test",
+ "//tensorflow:tensorflow_py",
+ "//tensorflow/core:protos_all_py",
+ ],
+)
+
+py_test(
+ name = "framework_importer_test",
+ srcs = ["framework/importer_test.py"],
+ main = "framework/importer_test.py",
+ deps = [
+ ":framework_test_lib",
+ ":ops",
+ ":platform_test",
+ "//tensorflow:tensorflow_py",
+ ],
+)
+
+tf_gen_op_wrapper_py(
+ name = "test_kernel_label_op",
+ out = "framework/test_kernel_label_op.py",
+ deps = [":test_kernel_label_op_kernel"],
+)
+
+cc_library(
+ name = "test_kernel_label_op_kernel",
+ srcs = ["framework/test_kernel_label_op.cc"],
+ linkstatic = 1,
+ deps = ["//tensorflow/core:framework"],
+ alwayslink = 1,
+)
+
+py_test(
+ name = "framework_ops_test",
+ srcs = ["framework/ops_test.py"],
+ main = "framework/ops_test.py",
+ deps = [
+ ":framework_test_lib",
+ ":ops",
+ ":platform_test",
+ ":session",
+ ":test_kernel_label_op",
+ ],
+)
+
+py_test(
+ name = "framework_tensor_shape_test",
+ srcs = ["framework/tensor_shape_test.py"],
+ main = "framework/tensor_shape_test.py",
+ deps = [
+ ":framework_test_lib",
+ ":platform_test",
+ "//tensorflow/core:protos_all_py",
+ ],
+)
+
+py_test(
+ name = "framework_tensor_util_test",
+ srcs = ["framework/tensor_util_test.py"],
+ main = "framework/tensor_util_test.py",
+ deps = [
+ ":framework_test_lib",
+ ":ops",
+ ":platform_test",
+ ],
+)
+
+py_test(
+ name = "framework_test_util_test",
+ srcs = ["framework/test_util_test.py"],
+ main = "framework/test_util_test.py",
+ deps = [
+ ":framework_test_lib",
+ ":ops",
+ ":platform_test",
+ ],
+)
+
+py_test(
+ name = "framework_types_test",
+ srcs = ["framework/types_test.py"],
+ main = "framework/types_test.py",
+ deps = [
+ ":framework_test_lib",
+ ":platform_test",
+ "//tensorflow:tensorflow_py",
+ "//tensorflow/core:protos_all_py",
+ ],
+)
+
+py_test(
+ name = "op_def_library_test",
+ srcs = ["ops/op_def_library_test.py"],
+ main = "ops/op_def_library_test.py",
+ deps = [
+ ":framework_test_lib",
+ ":ops",
+ ],
+)
+
+tf_gen_op_wrapper_py(
+ name = "array_ops",
+ hidden = [
+ "BroadcastGradientArgs",
+ "Concat",
+ "Const",
+ "EditDistance",
+ "Pack",
+ "Placeholder",
+ "RefIdentity",
+ "Split",
+ "Slice",
+ "TileGrad", # Exported through array_grad instead of array_ops.
+ "ZerosLike", # TODO(josh11b): Use this instead of the Python version.
+ "Unpack",
+ ],
+ require_shape_functions = True,
+)
+
+tf_gen_op_wrapper_py(
+ name = "attention_ops",
+ require_shape_functions = True,
+)
+
+tf_gen_op_wrapper_py(
+ name = "candidate_sampling_ops",
+ hidden = [
+ "AllCandidateSampler",
+ "ComputeAccidentalHits",
+ "FixedUnigramCandidateSampler",
+ "LogUniformCandidateSampler",
+ "ThreadUnsafeUnigramCandidateSampler",
+ "UniformCandidateSampler",
+ ],
+ require_shape_functions = True,
+)
+
+tf_gen_op_wrapper_py(
+ name = "control_flow_ops",
+ hidden = [
+ "Switch",
+ "Merge",
+ "Exit",
+ ],
+ require_shape_functions = True,
+ deps = [
+ "//tensorflow/core:control_flow_ops_op_lib",
+ "//tensorflow/core:no_op_op_lib",
+ ],
+)
+
+tf_gen_op_wrapper_py(
+ name = "data_flow_ops",
+ hidden = [
+ "FIFOQueue",
+ "HashTable",
+ "InitializeTable",
+ "LookupTableFind",
+ "LookupTableSize",
+ "Mutex",
+ "MutexAcquire",
+ "MutexRelease",
+ "QueueClose",
+ "QueueDequeue",
+ "QueueDequeueMany",
+ "QueueEnqueue",
+ "QueueEnqueueMany",
+ "QueueSize",
+ "RandomShuffleQueue",
+ ],
+ require_shape_functions = True,
+)
+
+tf_gen_op_wrapper_py(
+ name = "image_ops",
+ hidden = [
+ "ScaleImageGrad",
+ ],
+ require_shape_functions = True,
+)
+
+tf_gen_op_wrapper_py(
+ name = "io_ops",
+ hidden = [
+ "FixedLengthRecordReader",
+ "IdentityReader",
+ "ReaderClose",
+ "ReaderEnqueueWork",
+ "ReaderNumRecordsProduced",
+ "ReaderNumWorkUnitsCompleted",
+ "ReaderRead",
+ "ReaderReset",
+ "ReaderRestoreState",
+ "ReaderSerializeState",
+ "ReaderWorkQueueLength",
+ "Restore",
+ "RestoreSlice",
+ "Save",
+ "SaveSlices",
+ "ShardedFilename",
+ "ShardedFilespec",
+ "TextLineReader",
+ "TFRecordReader",
+ "WholeFileReader",
+ ],
+ require_shape_functions = True,
+)
+
+tf_gen_op_wrapper_py(
+ name = "linalg_ops",
+ require_shape_functions = True,
+)
+
+tf_gen_op_wrapper_py(
+ name = "logging_ops",
+ hidden = [
+ "Assert",
+ "Print",
+ ],
+ require_shape_functions = True,
+)
+
+tf_gen_op_wrapper_py(
+ name = "math_ops",
+ hidden = [
+ "Abs",
+ "All",
+ "Any",
+ "BatchMatMul",
+ "Complex",
+ "Max",
+ "Mean",
+ "Min",
+ "Pow",
+ "Prod",
+ "Range",
+ "SparseMatMul",
+ "Sum",
+ "MatMul",
+ "Sigmoid",
+ "Tanh",
+ ],
+ require_shape_functions = True,
+)
+
+tf_gen_op_wrapper_py(
+ name = "nn_ops",
+ hidden = [
+ "AvgPoolGrad", # "*Grad" accessible through nn_grad instead of nn_ops.
+ "BatchNormWithGlobalNormalizationGrad",
+ "SoftmaxCrossEntropyWithLogits",
+ "LRNGrad",
+ "MaxPoolGrad",
+ "MaxPoolGradWithArgmax",
+ "ReluGrad",
+ "Relu6Grad",
+ "SoftplusGrad",
+ "BiasAdd",
+ "Relu6",
+ "AvgPool",
+ "MaxPool",
+ ],
+ require_shape_functions = True,
+)
+
+tf_gen_op_wrapper_py(
+ name = "parsing_ops",
+ hidden = ["ParseExample"],
+ require_shape_functions = True,
+)
+
+tf_gen_op_wrapper_py(
+ name = "random_ops",
+ hidden = [
+ "RandomUniform",
+ "RandomShuffle",
+ "RandomStandardNormal",
+ "TruncatedNormal",
+ ],
+ require_shape_functions = True,
+)
+
+tf_gen_op_wrapper_py(
+ name = "state_ops",
+ hidden = [
+ "Variable",
+ "TemporaryVariable",
+ "DestroyTemporaryVariable",
+ ],
+ require_shape_functions = True,
+)
+
+tf_gen_op_wrapper_py(
+ name = "sparse_ops",
+ hidden = [
+ "SparseConcat",
+ "SparseSelectLastK",
+ "SparseReorder",
+ ],
+ require_shape_functions = True,
+)
+
+tf_gen_op_wrapper_py(
+ name = "string_ops",
+ require_shape_functions = True,
+)
+
+tf_gen_op_wrapper_py(
+ name = "summary_ops",
+ hidden = [
+ "HistogramAccumulatorSummary",
+ "HistogramSummary",
+ "ImageSummary",
+ "MergeSummary",
+ "ScalarSummary",
+ ],
+ require_shape_functions = True,
+)
+
+tf_gen_op_wrapper_py(
+ name = "user_ops",
+ hidden = [
+ "Fact",
+ ],
+ require_shape_functions = False,
+)
+
+tf_gen_op_wrapper_py(
+ name = "training_ops",
+ out = "training/gen_training_ops.py",
+ require_shape_functions = True,
+)
+
+py_library(
+ name = "ops",
+ srcs = [
+ "ops/array_grad.py",
+ "ops/array_ops.py",
+ "ops/attention_ops.py",
+ "ops/candidate_sampling_ops.py",
+ "ops/clip_ops.py",
+ "ops/constant_op.py",
+ "ops/control_flow_grad.py",
+ "ops/control_flow_ops.py",
+ "ops/data_flow_grad.py",
+ "ops/data_flow_ops.py",
+ "ops/embedding_ops.py",
+ "ops/gen_array_ops.py",
+ "ops/gen_attention_ops.py",
+ "ops/gen_control_flow_ops.py",
+ "ops/gen_data_flow_ops.py",
+ "ops/gen_image_ops.py",
+ "ops/gen_io_ops.py",
+ "ops/gen_linalg_ops.py",
+ "ops/gen_logging_ops.py",
+ "ops/gen_math_ops.py",
+ "ops/gen_nn_ops.py",
+ "ops/gen_random_ops.py",
+ "ops/gen_state_ops.py",
+ "ops/gen_string_ops.py",
+ "ops/gen_summary_ops.py",
+ "ops/gradients.py",
+ "ops/image_ops.py",
+ "ops/init_ops.py",
+ "ops/io_ops.py",
+ "ops/linalg_grad.py",
+ "ops/linalg_ops.py",
+ "ops/logging_ops.py",
+ "ops/math_grad.py",
+ "ops/math_ops.py",
+ "ops/nn.py",
+ "ops/nn_grad.py",
+ "ops/nn_ops.py",
+ "ops/numerics.py",
+ "ops/op_def_library.py",
+ "ops/parsing_ops.py",
+ "ops/random_ops.py",
+ "ops/sparse_grad.py",
+ "ops/sparse_ops.py",
+ "ops/standard_ops.py",
+ "ops/state_grad.py",
+ "ops/state_ops.py",
+ "ops/string_ops.py",
+ "ops/summary_ops.py",
+ "ops/variable_scope.py",
+ "ops/variables.py",
+ "user_ops/user_ops.py",
+ ],
+ deps = [
+ ":array_ops",
+ ":candidate_sampling_ops",
+ ":control_flow_ops",
+ ":data_flow_ops",
+ ":framework",
+ ":io_ops",
+ ":linalg_ops",
+ ":logging_ops",
+ ":math_ops",
+ ":nn_ops",
+ ":parsing_ops",
+ ":random_ops",
+ ":sparse_ops",
+ ":string_ops",
+ ":summary_ops",
+ ":user_ops",
+ ],
+)
+
+py_library(
+ name = "training",
+ srcs = glob(
+ ["training/**/*.py"],
+ exclude = ["**/*test*"],
+ ),
+ deps = [
+ ":client",
+ ":framework",
+ ":lib",
+ ":ops",
+ ":protos_all_py",
+ ":pywrap_tensorflow",
+ ":training_ops",
+ "//tensorflow/core:protos_all_py",
+ ],
+)
+
+py_library(
+ name = "client",
+ srcs = glob(
+ ["client/**/*.py"],
+ exclude = ["**/*test*"],
+ ),
+ deps = [
+ ":framework",
+ ":ops",
+ ":session",
+ ":training_ops",
+ ],
+)
+
+py_library(
+ name = "util",
+ srcs = glob(["util/**/*.py"]),
+ deps = [
+ "//google/protobuf:protobuf_python",
+ ],
+)
+
+tf_proto_library_py(
+ name = "protos_all",
+ srcs = glob(
+ ["**/*.proto"],
+ exclude = ["util/protobuf/compare_test.proto"],
+ ),
+)
+
+tf_proto_library_py(
+ name = "compare_test_proto",
+ testonly = 1,
+ srcs = ["util/protobuf/compare_test.proto"],
+)
+
+py_test(
+ name = "protobuf_compare_test",
+ srcs = ["util/protobuf/compare_test.py"],
+ main = "util/protobuf/compare_test.py",
+ deps = [
+ ":compare_test_proto_py",
+ ":platform_test",
+ ":util",
+ ],
+)
+
+py_test(
+ name = "events_writer_test",
+ size = "small",
+ srcs = [
+ "client/events_writer_test.py",
+ ],
+ deps = [
+ ":framework_test_lib",
+ ":lib",
+ ":platform_test",
+ ],
+)
+
+tf_cuda_library(
+ name = "tf_session_helper",
+ srcs = ["client/tf_session_helper.cc"],
+ hdrs = ["client/tf_session_helper.h"],
+ copts = numpy_macosx_include_dir + ["-I/usr/include/python2.7"],
+ deps = [
+ ":construction_fails_op",
+ ":test_kernel_label_op_kernel",
+ "//tensorflow/core",
+ "//tensorflow/core:kernels",
+ "//tensorflow/core:lib",
+ "//tensorflow/core:local",
+ "//tensorflow/core:protos_cc",
+ ],
+)
+
+tf_py_wrap_cc(
+ name = "client/pywraptensorflow_server_lib",
+ srcs = ["client/tensorflow_server.i"],
+ copts = numpy_macosx_include_dir,
+ swig_includes = [
+ "lib/core/status.i",
+ "lib/core/strings.i",
+ "platform/base.i",
+ ],
+ deps = [
+ "//tensorflow/core",
+ "//tensorflow/core:lib",
+ "//tensorflow/core:protos_cc",
+ ],
+)
+
+tf_py_wrap_cc(
+ name = "pywrap_tensorflow",
+ srcs = ["tensorflow.i"],
+ copts = numpy_macosx_include_dir,
+ swig_includes = [
+ "client/events_writer.i",
+ "client/tf_session.i",
+ "lib/core/status.i",
+ "lib/core/status_helper.i",
+ "lib/core/strings.i",
+ "lib/io/py_record_reader.i",
+ "lib/io/py_record_writer.i",
+ "platform/base.i",
+ "platform/numpy.i",
+ "util/port.i",
+ ],
+ deps = [
+ ":py_record_reader_lib",
+ ":py_record_writer_lib",
+ ":tf_session_helper",
+ ],
+)
+
+py_library(
+ name = "lib",
+ srcs = glob(["lib/**/*.py"]),
+ deps = [
+ ":pywrap_tensorflow",
+ ],
+)
+
+py_library(
+ name = "session",
+ srcs = ["client/session.py"],
+ deps = [
+ ":framework",
+ ":ops",
+ ":pywrap_tensorflow",
+ ],
+)
+
+# Just used by tests.
+tf_cuda_library(
+ name = "construction_fails_op",
+ testonly = 1,
+ srcs = ["client/test_construction_fails_op.cc"],
+ deps = [
+ "//tensorflow/core",
+ "//tensorflow/core:lib",
+ "//tensorflow/core:protos_cc",
+ ],
+ alwayslink = 1,
+)
+
+py_test(
+ name = "session_test",
+ srcs = ["client/session_test.py"],
+ deps = [
+ ":framework",
+ ":framework_test_lib",
+ ":session",
+ ],
+)
+
+py_test(
+ name = "graph_util_test",
+ srcs = ["client/graph_util_test.py"],
+ deps = [
+ ":framework",
+ ":framework_test_lib",
+ "//tensorflow:tensorflow_py",
+ ],
+)
+
+py_library(
+ name = "kernel_tests/gradient_checker",
+ srcs = ["kernel_tests/gradient_checker.py"],
+)
+
+cpu_only_kernel_test_list = glob([
+ "kernel_tests/attention_ops_test.py",
+ "kernel_tests/barrier_ops_test.py",
+ "kernel_tests/bcast_ops_test.py",
+ "kernel_tests/candidate_sampler_ops_test.py",
+ "kernel_tests/cholesky_op_test.py",
+ "kernel_tests/clip_ops_test.py",
+ "kernel_tests/decode_csv_op_test.py",
+ "kernel_tests/decode_raw_op_test.py",
+ "kernel_tests/determinant_op_test.py",
+ "kernel_tests/diag_op_test.py",
+ "kernel_tests/edit_distance_op_test.py",
+ "kernel_tests/fifo_queue_test.py",
+ "kernel_tests/identity_op_py_test.py",
+ "kernel_tests/in_topk_op_test.py",
+ "kernel_tests/io_ops_test.py",
+ "kernel_tests/listdiff_op_test.py",
+ "kernel_tests/logging_ops_test.py",
+ "kernel_tests/lookup_table_op_test.py",
+ "kernel_tests/lrn_op_py_test.py",
+ "kernel_tests/matrix_inverse_op_test.py",
+ "kernel_tests/mutex_ops_test.py",
+ "kernel_tests/parsing_ops_test.py",
+ "kernel_tests/queue_ops_test.py",
+ "kernel_tests/random_shuffle_queue_test.py",
+ "kernel_tests/save_restore_ops_test.py",
+ "kernel_tests/segment_reduction_ops_test.py",
+ "kernel_tests/sparse_concat_op_test.py",
+ "kernel_tests/sparse_reorder_op_test.py",
+ "kernel_tests/sparse_to_dense_op_test.py",
+ "kernel_tests/sparsemask_op_test.py",
+ "kernel_tests/summary_ops_test.py",
+ "kernel_tests/topk_op_test.py",
+ "kernel_tests/unique_op_test.py",
+ "kernel_tests/variable_scope_test.py",
+ "kernel_tests/variables_test.py",
+ "kernel_tests/where_op_test.py",
+])
+
+py_tests(
+ name = "cpu_only_kernel_tests",
+ srcs = cpu_only_kernel_test_list,
+)
+
+py_tests(
+ name = "reader_ops_test",
+ srcs = ["kernel_tests/reader_ops_test.py"],
+ additional_deps = [
+ ":lib",
+ ],
+)
+
+cuda_py_tests(
+ name = "op_tests",
+ srcs = glob(
+ ["ops/*_test.py"],
+ exclude = [
+ "ops/image_ops_test.py",
+ "ops/op_def_library_test.py",
+ ],
+ ),
+)
+
+cuda_py_tests(
+ name = "kernel_tests",
+ srcs = glob(
+ ["kernel_tests/*_test.py"],
+ exclude = [
+ "**/reader_ops_test.py",
+ # Sharded below
+ "**/cwise_ops_test.py",
+ "**/conv_ops_test.py",
+ "**/linalg_grad_test.py",
+ "**/pooling_ops_test.py",
+ ] + cpu_only_kernel_test_list,
+ ),
+)
+
+cuda_py_tests(
+ name = "kernel_tests_with_sharding",
+ srcs = [
+ "kernel_tests/conv_ops_test.py",
+ "kernel_tests/cwise_ops_test.py",
+ "kernel_tests/linalg_grad_test.py",
+ "kernel_tests/pooling_ops_test.py",
+ ],
+ shard_count = 2,
+)
+
+cuda_py_tests(
+ name = "image_ops_test",
+ srcs = [
+ "ops/image_ops_test.py",
+ ],
+ data = [
+ "//tensorflow/core:image_testdata",
+ ],
+ shard_count = 5,
+)
+
+cuda_py_tests(
+ name = "training_tests",
+ srcs = glob(
+ ["training/*_test.py"],
+ exclude = ["training/input_test.py"],
+ ),
+ additional_deps = [
+ ":training",
+ ],
+)
+
+py_tests(
+ name = "training_tests",
+ srcs = glob(
+ ["training/input_test.py"],
+ ),
+ additional_deps = [
+ ":training",
+ ],
+)
+
+py_library(
+ name = "summary",
+ srcs = glob(
+ ["summary/**/*.py"],
+ exclude = ["**/*test*"],
+ ),
+ deps = [
+ ":client",
+ ":framework",
+ ":pywrap_tensorflow",
+ "//tensorflow/core:protos_all_py",
+ ],
+)
+
+py_tests(
+ name = "summary_tests",
+ srcs = glob(["summary/**/*_test.py"]),
+ additional_deps = [
+ ":summary",
+ ":training",
+ ],
+)
+
+py_library(
+ name = "docs",
+ srcs = [
+ "framework/docs.py",
+ ],
+ deps = [
+ ":platform",
+ ],
+)
+
+py_binary(
+ name = "gen_docs_combined",
+ srcs = [
+ "framework/gen_docs_combined.py",
+ ],
+ main = "framework/gen_docs_combined.py",
+ deps = [
+ ":docs",
+ ":platform",
+ "//tensorflow:tensorflow_py",
+ ],
+)
+
+sh_test(
+ name = "gen_docs_test",
+ size = "small",
+ srcs = [
+ "framework/gen_docs_test.sh",
+ ],
+ data = [
+ ":gen_docs_combined",
+ ],
+)
+
+filegroup(
+ name = "all_files",
+ srcs = glob(
+ ["**/*"],
+ exclude = [
+ "**/METADATA",
+ "**/OWNERS",
+ ],
+ ),
+ visibility = ["//tensorflow:__subpackages__"],
+)