| # Description: |
| # Python support for TensorFlow. |
| |
| package(default_visibility = ["//tensorflow:internal"]) |
| |
| licenses(["notice"]) # Apache 2.0 |
| |
| exports_files(["LICENSE"]) |
| |
| load("//tensorflow:tensorflow.bzl", "tf_cuda_library") |
| load("//tensorflow:tensorflow.bzl", "tf_gen_op_wrapper_py") |
| load("//tensorflow:tensorflow.bzl", "py_tests") |
| load("//tensorflow:tensorflow.bzl", "tf_py_wrap_cc") |
| load("//tensorflow:tensorflow.bzl", "cuda_py_test") |
| load("//tensorflow:tensorflow.bzl", "cuda_py_tests") |
| load("//tensorflow/core:platform/default/build_config.bzl", "tf_proto_library") |
| load("//tensorflow/core:platform/default/build_config.bzl", "tf_proto_library_py") |
| load("//tensorflow/core:platform/default/build_config.bzl", "tf_additional_lib_deps") |
| |
| py_library( |
| name = "python", |
| srcs = [ |
| "__init__.py", |
| ], |
| srcs_version = "PY2AND3", |
| visibility = ["//tensorflow:__pkg__"], |
| deps = [ |
| ":client", |
| ":client_testlib", |
| ":framework", |
| ":framework_test_lib", |
| ":kernel_tests/gradient_checker", |
| ":platform", |
| ":platform_test", |
| ":summary", |
| ":training", |
| "//tensorflow/contrib:contrib_py", |
| ], |
| ) |
| |
| py_library( |
| name = "platform", |
| srcs = glob(["platform/*.py"]), |
| srcs_version = "PY2AND3", |
| deps = ["//tensorflow/core:protos_all_py"], |
| ) |
| |
| py_library( |
| name = "platform_test", |
| srcs = [ |
| "platform/googletest.py", |
| ], |
| srcs_version = "PY2AND3", |
| deps = [ |
| ":platform", |
| ":timeline", |
| ], |
| ) |
| |
| py_tests( |
| name = "platform_tests", |
| size = "small", |
| srcs = glob(["platform/*_test.py"]), |
| additional_deps = [ |
| ":platform", |
| ":platform_test", |
| ], |
| ) |
| |
| cc_library( |
| name = "numpy_lib", |
| srcs = ["lib/core/numpy.cc"], |
| hdrs = [ |
| "lib/core/numpy.h", |
| ], |
| deps = [ |
| "//tensorflow/core:framework", |
| "//tensorflow/core:lib", |
| "//third_party/py/numpy:headers", |
| "//util/python:python_headers", |
| ], |
| ) |
| |
| cc_library( |
| name = "py_func_lib", |
| srcs = ["lib/core/py_func.cc"], |
| hdrs = [ |
| "lib/core/py_func.h", |
| ], |
| deps = [ |
| ":numpy_lib", |
| "//tensorflow/core:framework", |
| "//tensorflow/core:lib", |
| "//tensorflow/core:script_ops_op_lib", |
| "//third_party/py/numpy:headers", |
| "//util/python:python_headers", |
| ], |
| ) |
| |
| 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", |
| ], |
| ) |
| |
| cc_binary( |
| name = "framework/test_file_system.so", |
| srcs = ["framework/test_file_system.cc"], |
| linkopts = select({ |
| "//conditions:default": [ |
| "-lm", |
| ], |
| "//tensorflow:darwin": [], |
| }), |
| linkshared = 1, |
| deps = [ |
| "//google/protobuf", |
| "//tensorflow/core:framework_headers_lib", |
| ], |
| ) |
| |
| py_test( |
| name = "file_system_test", |
| size = "small", |
| srcs = ["framework/file_system_test.py"], |
| data = [":framework/test_file_system.so"], |
| main = "framework/file_system_test.py", |
| srcs_version = "PY2AND3", |
| deps = [ |
| ":framework_test_lib", |
| "//tensorflow:tensorflow_py", |
| ], |
| ) |
| |
| cc_library( |
| name = "python_op_gen", |
| srcs = [ |
| "framework/python_op_gen.cc", |
| "framework/python_op_gen.h", |
| ], |
| visibility = ["//visibility:public"], |
| deps = [ |
| "//tensorflow/core:framework", |
| "//tensorflow/core:protos_cc", |
| ], |
| alwayslink = 1, |
| ) |
| |
| cc_library( |
| name = "python_op_gen_main", |
| srcs = [ |
| "framework/python_op_gen_main.cc", |
| ], |
| visibility = ["//visibility:public"], |
| deps = [ |
| ":python_op_gen", |
| ], |
| ) |
| |
| # What is needed for tf_gen_op_wrapper_py. |
| py_library( |
| name = "framework_for_generated_wrappers", |
| srcs = [ |
| "framework/device.py", |
| "framework/dtypes.py", |
| "framework/function.py", |
| "framework/op_def_registry.py", |
| "framework/ops.py", |
| "framework/registry.py", |
| "framework/tensor_shape.py", |
| "framework/versions.py", |
| # TODO(josh11b): Move this to the framework directory |
| "ops/op_def_library.py", |
| "ops/constant_op.py", |
| ], |
| srcs_version = "PY2AND3", |
| visibility = ["//visibility:public"], |
| deps = [ |
| ":platform", |
| ":util", |
| "//tensorflow/core:protos_all_py", |
| ], |
| ) |
| |
| py_library( |
| name = "framework", |
| srcs = [ |
| # TODO(mrry): Move this to the framework directory. |
| "client/graph_util.py", |
| "framework/errors.py", |
| "framework/framework_lib.py", |
| "framework/importer.py", |
| "framework/random_seed.py", |
| "framework/tensor_util.py", |
| "framework/load_library.py", |
| # TODO(josh11b): Move this to the framework directory |
| "ops/common_shapes.py", |
| ], |
| srcs_version = "PY2AND3", |
| deps = [ |
| ":framework_for_generated_wrappers", |
| ":pywrap_tensorflow", |
| ], |
| ) |
| |
| # load("//third_party/py/cython:build_defs.bzl", "pyx_library") |
| |
| py_library( |
| name = "extra_py_tests_deps", |
| srcs_version = "PY2AND3", |
| deps = ["//tensorflow:tensorflow_py"], |
| ) |
| |
| py_library( |
| name = "framework_test_lib", |
| srcs = [ |
| "framework/test_util.py", |
| ], |
| srcs_version = "PY2AND3", |
| deps = [ |
| ":framework", |
| ":platform_test", |
| ":pywrap_tensorflow", |
| ":session", |
| ":util", |
| ], |
| ) |
| |
| py_library( |
| name = "client_testlib", |
| srcs = [ |
| "platform/test.py", |
| ], |
| srcs_version = "PY2AND3", |
| deps = [ |
| ":framework_test_lib", |
| ":platform_test", |
| ], |
| ) |
| |
| py_test( |
| name = "framework_errors_test", |
| size = "small", |
| srcs = ["framework/errors_test.py"], |
| main = "framework/errors_test.py", |
| srcs_version = "PY2AND3", |
| deps = [ |
| ":framework_test_lib", |
| ":platform_test", |
| "//tensorflow:tensorflow_py", |
| "//tensorflow/core:protos_all_py", |
| ], |
| ) |
| |
| py_test( |
| name = "contrib_test", |
| size = "small", |
| srcs = ["framework/contrib_test.py"], |
| main = "framework/contrib_test.py", |
| srcs_version = "PY2AND3", |
| deps = [ |
| ":framework_test_lib", |
| "//tensorflow:tensorflow_py", |
| ], |
| ) |
| |
| py_test( |
| name = "proto_test", |
| size = "small", |
| srcs = ["framework/proto_test.py"], |
| main = "framework/proto_test.py", |
| srcs_version = "PY2AND3", |
| deps = [ |
| ":framework_test_lib", |
| "//tensorflow:tensorflow_py", |
| ], |
| ) |
| |
| tf_gen_op_wrapper_py( |
| name = "functional_ops", |
| out = "ops/gen_functional_ops.py", |
| hidden = [ |
| "SymbolicGradient", |
| ], |
| ) |
| |
| py_library( |
| name = "functional_ops_lib", |
| srcs = ["ops/functional_ops.py"], |
| srcs_version = "PY2AND3", |
| deps = [ |
| ":functional_ops", |
| ], |
| ) |
| |
| cuda_py_tests( |
| name = "framework_function_test", |
| size = "medium", |
| srcs = ["framework/function_test.py"], |
| additional_deps = [ |
| ":functional_ops_lib", |
| ], |
| ) |
| |
| py_test( |
| name = "framework_versions_test", |
| size = "small", |
| srcs = ["framework/versions_test.py"], |
| main = "framework/versions_test.py", |
| srcs_version = "PY2AND3", |
| deps = [ |
| ":framework_test_lib", |
| ":platform_test", |
| "//tensorflow:tensorflow_py", |
| ], |
| ) |
| |
| py_test( |
| name = "framework_importer_test", |
| size = "small", |
| srcs = ["framework/importer_test.py"], |
| main = "framework/importer_test.py", |
| srcs_version = "PY2AND3", |
| deps = [ |
| ":framework_test_lib", |
| ":ops", |
| ":platform_test", |
| "//tensorflow:tensorflow_py", |
| ], |
| ) |
| |
| tf_gen_op_wrapper_py( |
| name = "test_ops", |
| out = "framework/test_ops.py", |
| deps = [":test_ops_kernels"], |
| ) |
| |
| cc_library( |
| name = "test_ops_kernels", |
| srcs = ["framework/test_ops.cc"], |
| linkstatic = 1, |
| deps = ["//tensorflow/core:framework"], |
| alwayslink = 1, |
| ) |
| |
| py_test( |
| name = "framework_ops_test", |
| size = "small", |
| srcs = ["framework/ops_test.py"], |
| main = "framework/ops_test.py", |
| srcs_version = "PY2AND3", |
| deps = [ |
| ":framework_test_lib", |
| ":ops", |
| ":platform_test", |
| ":session", |
| ":test_ops", |
| "//tensorflow/core:protos_all_py", |
| ], |
| ) |
| |
| py_test( |
| name = "framework_tensor_shape_test", |
| size = "small", |
| srcs = ["framework/tensor_shape_test.py"], |
| main = "framework/tensor_shape_test.py", |
| srcs_version = "PY2AND3", |
| deps = [ |
| ":framework_test_lib", |
| ":platform_test", |
| "//tensorflow/core:protos_all_py", |
| ], |
| ) |
| |
| py_test( |
| name = "framework_device_test", |
| size = "small", |
| srcs = ["framework/device_test.py"], |
| main = "framework/device_test.py", |
| srcs_version = "PY2AND3", |
| deps = [ |
| ":framework_test_lib", |
| ":platform_test", |
| "//tensorflow/core:protos_all_py", |
| ], |
| ) |
| |
| py_test( |
| name = "framework_tensor_shape_div_test", |
| size = "small", |
| srcs = ["framework/tensor_shape_div_test.py"], |
| main = "framework/tensor_shape_div_test.py", |
| srcs_version = "PY2AND3", |
| deps = [ |
| ":framework_test_lib", |
| ":platform_test", |
| "//tensorflow/core:protos_all_py", |
| ], |
| ) |
| |
| py_test( |
| name = "framework_tensor_util_test", |
| size = "small", |
| srcs = ["framework/tensor_util_test.py"], |
| main = "framework/tensor_util_test.py", |
| srcs_version = "PY2AND3", |
| deps = [ |
| ":framework_test_lib", |
| ":ops", |
| ":platform_test", |
| "//tensorflow:tensorflow_py", |
| ], |
| ) |
| |
| py_test( |
| name = "framework_test_util_test", |
| size = "small", |
| srcs = ["framework/test_util_test.py"], |
| main = "framework/test_util_test.py", |
| srcs_version = "PY2AND3", |
| deps = [ |
| ":framework_test_lib", |
| ":ops", |
| ":platform_test", |
| "//tensorflow:tensorflow_py", |
| ], |
| ) |
| |
| py_test( |
| name = "framework_dtypes_test", |
| size = "small", |
| srcs = ["framework/dtypes_test.py"], |
| main = "framework/dtypes_test.py", |
| srcs_version = "PY2AND3", |
| deps = [ |
| ":framework_test_lib", |
| ":platform_test", |
| "//tensorflow:tensorflow_py", |
| "//tensorflow/core:protos_all_py", |
| ], |
| ) |
| |
| py_test( |
| name = "op_def_library_test", |
| size = "small", |
| srcs = ["ops/op_def_library_test.py"], |
| main = "ops/op_def_library_test.py", |
| srcs_version = "PY2AND3", |
| deps = [ |
| ":framework_test_lib", |
| ":ops", |
| ], |
| ) |
| |
| tf_gen_op_wrapper_py( |
| name = "array_ops", |
| hidden = [ |
| "BroadcastGradientArgs", |
| "ConcatOffset", |
| "Concat", |
| "Const", |
| "EditDistance", |
| "MirrorPad", |
| "MirrorPadGrad", |
| "OneHot", |
| "Pack", |
| "Pad", |
| "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 = "candidate_sampling_ops", |
| hidden = [ |
| "AllCandidateSampler", |
| "ComputeAccidentalHits", |
| "FixedUnigramCandidateSampler", |
| "LearnedUnigramCandidateSampler", |
| "LogUniformCandidateSampler", |
| "ThreadUnsafeUnigramCandidateSampler", |
| "UniformCandidateSampler", |
| ], |
| require_shape_functions = True, |
| ) |
| |
| tf_gen_op_wrapper_py( |
| name = "control_flow_ops", |
| hidden = [ |
| "Switch", |
| "Merge", |
| "RefMerge", |
| "Exit", |
| "RefExit", |
| ], |
| require_shape_functions = True, |
| deps = [ |
| "//tensorflow/core:control_flow_ops_op_lib", |
| "//tensorflow/core:no_op_op_lib", |
| ], |
| ) |
| |
| tf_gen_op_wrapper_py( |
| name = "ctc_ops", |
| hidden = [ |
| "CTCLoss", |
| "CTCGreedyDecoder", |
| "CTCBeamSearchDecoder", |
| ], |
| require_shape_functions = True, |
| ) |
| |
| tf_gen_op_wrapper_py( |
| name = "data_flow_ops", |
| hidden = [ |
| "FIFOQueue", |
| "HashTable", |
| "InitializeTable", |
| "LookupTableFind", |
| "LookupTableSize", |
| "Mutex", |
| "MutexAcquire", |
| "MutexRelease", |
| "PaddingFIFOQueue", |
| "QueueClose", |
| "QueueDequeue", |
| "QueueDequeueMany", |
| "QueueDequeueUpTo", |
| "QueueEnqueue", |
| "QueueEnqueueMany", |
| "QueueSize", |
| "RandomShuffleQueue", |
| "Stack", |
| "StackPop", |
| "StackPush", |
| "StackClose", |
| "TensorArray", |
| "TensorArrayClose", |
| "TensorArrayConcat", |
| "TensorArrayGrad", |
| "TensorArrayRead", |
| "TensorArrayPack", |
| "TensorArraySize", |
| "TensorArraySplit", |
| "TensorArrayUnpack", |
| "TensorArrayWrite", |
| "GetSessionHandle", |
| "GetSessionTensor", |
| "DeleteSessionTensor", |
| ], |
| require_shape_functions = True, |
| ) |
| |
| tf_gen_op_wrapper_py( |
| name = "image_ops", |
| hidden = [ |
| "RandomCrop", |
| "ResizeBilinearGrad", |
| "ResizeNearestNeighborGrad", |
| "AdjustContrastv2", |
| "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", |
| "AudioSummary", |
| "HistogramAccumulatorSummary", |
| "HistogramSummary", |
| "ImageSummary", |
| "MergeSummary", |
| "Print", |
| "ScalarSummary", |
| ], |
| 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. |
| "BatchNormWithGlobalNormalization", |
| "BatchNormWithGlobalNormalizationGrad", |
| "SoftmaxCrossEntropyWithLogits", |
| "SparseSoftmaxCrossEntropyWithLogits", |
| "LRNGrad", |
| "MaxPoolGrad", |
| "MaxPoolGradWithArgmax", |
| "ReluGrad", |
| "Relu6Grad", |
| "EluGrad", |
| "SoftplusGrad", |
| "SoftsignGrad", |
| "TopK", |
| "TopKV2", |
| "BiasAdd", |
| "BiasAddV1", |
| "Relu6", |
| "AvgPool", |
| "MaxPool", |
| ], |
| require_shape_functions = True, |
| ) |
| |
| tf_gen_op_wrapper_py( |
| name = "parsing_ops", |
| hidden = [ |
| "ParseExample", |
| "ParseSingleSequenceExample", |
| ], |
| require_shape_functions = True, |
| ) |
| |
| tf_gen_op_wrapper_py( |
| name = "random_ops", |
| hidden = [ |
| "RandomUniform", |
| "RandomUniformInt", |
| "RandomShuffle", |
| "RandomStandardNormal", |
| "TruncatedNormal", |
| ], |
| require_shape_functions = True, |
| ) |
| |
| tf_gen_op_wrapper_py( |
| name = "script_ops", |
| hidden = [ |
| "PyFunc", |
| ], |
| 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 = [ |
| "DeserializeManySparse", |
| "SerializeManySparse", |
| "SerializeSparse", |
| "SparseAdd", |
| "SparseAddGrad", |
| "SparseConcat", |
| "SparseSplit", |
| "SparseSelectLastK", |
| "SparseReorder", |
| "SparseToDense", |
| "SparseTensorDenseAdd", |
| "SparseTensorDenseMatMul", |
| ], |
| require_shape_functions = True, |
| ) |
| |
| tf_gen_op_wrapper_py( |
| name = "string_ops", |
| 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/candidate_sampling_ops.py", |
| "ops/check_ops.py", |
| "ops/clip_ops.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_control_flow_ops.py", |
| "ops/gen_ctc_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/gradients.py", |
| "ops/histogram_ops.py", |
| "ops/image_grad.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/parsing_ops.py", |
| "ops/partitioned_variables.py", |
| "ops/random_ops.py", |
| "ops/rnn.py", |
| "ops/rnn_cell.py", |
| "ops/script_ops.py", |
| "ops/seq2seq.py", |
| "ops/session_ops.py", |
| "ops/sparse_grad.py", |
| "ops/sparse_ops.py", |
| "ops/special_math_ops.py", |
| "ops/standard_ops.py", |
| "ops/state_grad.py", |
| "ops/state_ops.py", |
| "ops/string_ops.py", |
| "ops/template.py", |
| "ops/tensor_array_grad.py", |
| "ops/tensor_array_ops.py", |
| "ops/variable_scope.py", |
| "ops/variables.py", |
| "user_ops/user_ops.py", |
| ], |
| srcs_version = "PY2AND3", |
| deps = [ |
| ":array_ops", |
| ":candidate_sampling_ops", |
| ":control_flow_ops", |
| ":data_flow_ops", |
| ":framework", |
| ":functional_ops_lib", |
| ":io_ops", |
| ":linalg_ops", |
| ":logging_ops", |
| ":math_ops", |
| ":nn_ops", |
| ":parsing_ops", |
| ":random_ops", |
| ":script_ops", |
| ":sparse_ops", |
| ":string_ops", |
| ":user_ops", |
| ], |
| ) |
| |
| py_library( |
| name = "training", |
| srcs = glob( |
| ["training/**/*.py"], |
| exclude = ["**/*test*"], |
| ), |
| srcs_version = "PY2AND3", |
| deps = [ |
| ":client", |
| ":framework", |
| ":lib", |
| ":ops", |
| ":protos_all_py", |
| ":pywrap_tensorflow", |
| ":training_ops", |
| ], |
| ) |
| |
| py_library( |
| name = "client", |
| srcs = glob( |
| ["client/**/*.py"], |
| exclude = ["**/*test*"], |
| ), |
| srcs_version = "PY2AND3", |
| deps = [ |
| ":framework", |
| ":ops", |
| ":session", |
| ":training_ops", |
| ], |
| ) |
| |
| py_library( |
| name = "util", |
| srcs = glob(["util/**/*.py"]), |
| srcs_version = "PY2AND3", |
| deps = ["//google/protobuf:protobuf_python"], |
| ) |
| |
| tf_proto_library( |
| name = "protos_all", |
| srcs = glob( |
| ["**/*.proto"], |
| exclude = [ |
| "util/protobuf/compare_test.proto", |
| ], |
| ), |
| go_api_version = 2, |
| ) |
| |
| tf_proto_library_py( |
| name = "compare_test_proto", |
| testonly = 1, |
| srcs = ["util/protobuf/compare_test.proto"], |
| ) |
| |
| py_test( |
| name = "protobuf_compare_test", |
| size = "small", |
| srcs = ["util/protobuf/compare_test.py"], |
| main = "util/protobuf/compare_test.py", |
| srcs_version = "PY2AND3", |
| deps = [ |
| ":compare_test_proto_py", |
| ":platform_test", |
| ":util", |
| ], |
| ) |
| |
| py_test( |
| name = "events_writer_test", |
| size = "small", |
| srcs = [ |
| "client/events_writer_test.py", |
| ], |
| srcs_version = "PY2AND3", |
| deps = [ |
| ":framework_test_lib", |
| ":lib", |
| ":platform_test", |
| ], |
| ) |
| |
| py_library( |
| name = "device_lib", |
| srcs = ["client/device_lib.py"], |
| srcs_version = "PY2AND3", |
| deps = [ |
| ":pywrap_tensorflow", |
| ], |
| ) |
| |
| cuda_py_tests( |
| name = "device_lib_test", |
| size = "small", |
| srcs = [ |
| "client/device_lib_test.py", |
| ], |
| additional_deps = [ |
| ":device_lib", |
| ], |
| ) |
| |
| tf_cuda_library( |
| name = "tf_session_helper", |
| srcs = ["client/tf_session_helper.cc"], |
| hdrs = ["client/tf_session_helper.h"], |
| deps = [ |
| ":construction_fails_op", |
| ":numpy_lib", |
| ":test_ops_kernels", |
| "//tensorflow/core", |
| "//tensorflow/core:all_kernels", |
| "//tensorflow/core:direct_session", |
| "//tensorflow/core:lib", |
| "//tensorflow/core:protos_cc", |
| "//third_party/py/numpy:headers", |
| "//util/python:python_headers", |
| ], |
| ) |
| |
| tf_py_wrap_cc( |
| name = "pywrap_tensorflow", |
| srcs = ["tensorflow.i"], |
| swig_includes = [ |
| "client/device_lib.i", |
| "client/events_writer.i", |
| "client/tf_session.i", |
| "framework/python_op_gen.i", |
| "lib/core/py_func.i", |
| "lib/core/strings.i", |
| "lib/io/py_record_reader.i", |
| "lib/io/py_record_writer.i", |
| "platform/base.i", |
| "platform/numpy.i", |
| "training/saver_io.i", |
| "training/server_lib.i", |
| "util/port.i", |
| "util/py_checkpoint_reader.i", |
| ], |
| deps = [ |
| ":numpy_lib", |
| ":py_func_lib", |
| ":py_record_reader_lib", |
| ":py_record_writer_lib", |
| ":python_op_gen", |
| ":tf_session_helper", |
| "//tensorflow/core/distributed_runtime/rpc:grpc_server_lib", |
| "//tensorflow/core/distributed_runtime/rpc:grpc_session", |
| "//tensorflow/core:lib", |
| "//tensorflow/core/distributed_runtime:server_lib", |
| "//util/python:python_headers", |
| ] + tf_additional_lib_deps(), |
| ) |
| |
| py_library( |
| name = "lib", |
| srcs = glob(["lib/**/*.py"]), |
| srcs_version = "PY2AND3", |
| deps = [ |
| ":pywrap_tensorflow", |
| ], |
| ) |
| |
| py_library( |
| name = "session", |
| srcs = ["client/session.py"], |
| srcs_version = "PY2AND3", |
| deps = [ |
| ":framework", |
| ":ops", |
| ":pywrap_tensorflow", |
| ], |
| ) |
| |
| py_test( |
| name = "server_lib_test", |
| size = "small", |
| srcs = ["training/server_lib_test.py"], |
| srcs_version = "PY2AND3", |
| deps = [ |
| ":extra_py_tests_deps", |
| ":framework", |
| ":framework_test_lib", |
| ":session", |
| ], |
| ) |
| |
| py_library( |
| name = "timeline", |
| srcs = ["client/timeline.py"], |
| srcs_version = "PY2AND3", |
| deps = [ |
| ":platform", |
| ], |
| ) |
| |
| # 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", |
| size = "small", |
| srcs = ["client/session_test.py"], |
| srcs_version = "PY2AND3", |
| deps = [ |
| ":framework", |
| ":framework_test_lib", |
| ":session", |
| ], |
| ) |
| |
| py_test( |
| name = "timeline_test", |
| size = "small", |
| srcs = ["client/timeline_test.py"], |
| srcs_version = "PY2AND3", |
| deps = [ |
| ":timeline", |
| "//tensorflow:tensorflow_py", |
| ], |
| ) |
| |
| py_test( |
| name = "graph_util_test", |
| size = "small", |
| srcs = ["client/graph_util_test.py"], |
| srcs_version = "PY2AND3", |
| deps = [ |
| ":framework", |
| ":framework_test_lib", |
| "//tensorflow:tensorflow_py", |
| ], |
| ) |
| |
| py_library( |
| name = "kernel_tests/gradient_checker", |
| srcs = ["kernel_tests/gradient_checker.py"], |
| srcs_version = "PY2AND3", |
| ) |
| |
| medium_kernel_test_list = glob([ |
| "kernel_tests/concat_op_test.py", |
| "kernel_tests/division_future_test.py", |
| "kernel_tests/fft_ops_test.py", |
| "kernel_tests/rnn_test.py", |
| "kernel_tests/scatter_ops_test.py", |
| "kernel_tests/seq2seq_test.py", |
| "kernel_tests/slice_op_test.py", |
| "kernel_tests/sparse_ops_test.py", |
| "kernel_tests/sparse_matmul_op_test.py", |
| "kernel_tests/sparse_tensor_dense_matmul_op_test.py", |
| ]) |
| |
| sharded_kernel_test_list = glob([ |
| "kernel_tests/batch_matrix_band_part_op_test.py", |
| "kernel_tests/cwise_ops_test.py", |
| "kernel_tests/embedding_ops_test.py", |
| "kernel_tests/linalg_grad_test.py", |
| "kernel_tests/conv_ops_3d_test.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/benchmark_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/matrix_solve_op_test.py", |
| "kernel_tests/matrix_triangular_solve_op_test.py", |
| "kernel_tests/matrix_solve_ls_op_test.py", |
| "kernel_tests/multinomial_op_test.py", |
| "kernel_tests/mutex_ops_test.py", |
| "kernel_tests/parsing_ops_test.py", |
| "kernel_tests/partitioned_variables_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/self_adjoint_eig_op_test.py", |
| "kernel_tests/sparse_add_op_test.py", |
| "kernel_tests/sparse_concat_op_test.py", |
| "kernel_tests/sparse_split_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/template_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", |
| size = "small", |
| srcs = cpu_only_kernel_test_list, |
| ) |
| |
| py_tests( |
| name = "reader_ops_test", |
| size = "small", |
| srcs = ["kernel_tests/reader_ops_test.py"], |
| additional_deps = [ |
| ":lib", |
| ], |
| ) |
| |
| cuda_py_tests( |
| name = "op_tests", |
| size = "small", |
| srcs = glob( |
| ["ops/*_test.py"], |
| exclude = [ |
| "ops/image_ops_test.py", |
| "ops/nn_batchnorm_test.py", |
| "ops/nn_conv_test.py", |
| "ops/nn_test.py", |
| "ops/nn_xent_test.py", |
| "ops/op_def_library_test.py", |
| ], |
| ), |
| ) |
| |
| cuda_py_tests( |
| name = "medium_op_tests", |
| size = "medium", |
| srcs = [ |
| "ops/nn_batchnorm_test.py", |
| "ops/nn_conv_test.py", |
| "ops/nn_test.py", |
| "ops/nn_xent_test.py", |
| ], |
| ) |
| |
| cuda_py_tests( |
| name = "kernel_tests", |
| size = "small", |
| srcs = glob( |
| ["kernel_tests/*_test.py"], |
| exclude = [ |
| "**/reader_ops_test.py", |
| ] + cpu_only_kernel_test_list + medium_kernel_test_list + sharded_kernel_test_list, |
| ), |
| ) |
| |
| cuda_py_tests( |
| name = "medium_kernel_tests", |
| size = "medium", |
| srcs = medium_kernel_test_list, |
| ) |
| |
| cuda_py_tests( |
| name = "kernel_tests_with_sharding", |
| size = "medium", |
| srcs = sharded_kernel_test_list, |
| shard_count = 50, |
| ) |
| |
| cuda_py_tests( |
| name = "image_ops_test", |
| size = "small", |
| srcs = [ |
| "ops/image_ops_test.py", |
| ], |
| data = [ |
| "//tensorflow/core:image_testdata", |
| ], |
| shard_count = 5, |
| ) |
| |
| cuda_py_tests( |
| name = "training_tests", |
| size = "small", |
| srcs = glob( |
| ["training/*_test.py"], |
| exclude = [ |
| "training/input_test.py", |
| "training/server_lib_test.py", |
| "training/session_manager_test.py", |
| "training/supervisor_test.py", |
| ], |
| ), |
| additional_deps = [ |
| ":training", |
| ], |
| ) |
| |
| cuda_py_test( |
| name = "session_manager_test", |
| size = "medium", # TODO(irving): Can this be made small? |
| srcs = ["training/session_manager_test.py"], |
| additional_deps = [ |
| ":training", |
| ], |
| main = "training/session_manager_test.py", |
| ) |
| |
| py_test( |
| name = "supervisor_test", |
| size = "small", |
| srcs = ["training/supervisor_test.py"], |
| srcs_version = "PY2AND3", |
| deps = [ |
| ":extra_py_tests_deps", |
| ":training", |
| ], |
| ) |
| |
| py_tests( |
| name = "training_tests", |
| size = "small", |
| srcs = glob( |
| ["training/input_test.py"], |
| ), |
| additional_deps = [ |
| ":training", |
| ], |
| ) |
| |
| py_library( |
| name = "summary", |
| srcs = glob( |
| ["summary/**/*.py"], |
| exclude = ["**/*test*"], |
| ), |
| srcs_version = "PY2AND3", |
| deps = [ |
| ":client", |
| ":framework", |
| ":protos_all_py", |
| ":pywrap_tensorflow", |
| ":util", |
| ], |
| ) |
| |
| py_tests( |
| name = "summary_tests", |
| size = "small", |
| srcs = glob(["summary/**/*_test.py"]), |
| additional_deps = [ |
| ":summary", |
| ":training", |
| ], |
| ) |
| |
| py_library( |
| name = "docs", |
| srcs = [ |
| "framework/docs.py", |
| ], |
| srcs_version = "PY2AND3", |
| deps = [ |
| ":platform", |
| ], |
| ) |
| |
| py_binary( |
| name = "gen_docs_combined", |
| srcs = [ |
| "framework/gen_docs_combined.py", |
| ], |
| main = "framework/gen_docs_combined.py", |
| srcs_version = "PY2AND3", |
| deps = [ |
| ":docs", |
| "//tensorflow:tensorflow_py", |
| ], |
| ) |
| |
| filegroup( |
| name = "all_files", |
| srcs = glob( |
| ["**/*"], |
| exclude = [ |
| "**/METADATA", |
| "**/OWNERS", |
| ], |
| ), |
| visibility = ["//tensorflow:__subpackages__"], |
| ) |
| |
| cuda_py_test( |
| name = "batch_norm_benchmark", |
| srcs = [ |
| "ops/batch_norm_benchmark.py", |
| ], |
| main = "ops/batch_norm_benchmark.py", |
| ) |