blob: b56f7bae64909c445239bfaa385e2f8b1ae79d2e [file] [log] [blame]
load("//tensorflow:tensorflow.bzl", "pytype_strict_library")
load("@flatbuffers//:build_defs.bzl", "flatbuffer_py_library")
load("//tensorflow:tensorflow.bzl", "get_compatible_with_portable", "if_portable")
load("//tensorflow/lite:special_rules.bzl", "internal_visibility_allowlist")
package(
default_visibility = [
"//tensorflow:internal",
"//third_party/tflite_micro:__subpackages__",
],
licenses = ["notice"],
)
exports_files(["tflite_convert.py"])
flatbuffer_py_library(
name = "schema_py",
srcs = ["//tensorflow/lite/schema:schema.fbs"],
)
py_library(
name = "interpreter",
srcs = [
"interpreter.py",
],
compatible_with = get_compatible_with_portable(),
srcs_version = "PY3",
visibility = ["//visibility:public"],
deps = [
":metrics",
"//tensorflow/lite/python/interpreter_wrapper:_pywrap_tensorflow_interpreter_wrapper",
"//tensorflow/python:util",
"//tensorflow/python/util:tf_export",
"//third_party/py/numpy",
],
)
py_test(
name = "interpreter_test",
srcs = ["interpreter_test.py"],
data = [
"//tensorflow/lite:testdata/sparse_tensor.bin",
"//tensorflow/lite/python/testdata:interpreter_test_data",
"//tensorflow/lite/python/testdata:test_delegate.so",
],
python_version = "PY3",
srcs_version = "PY3",
deps = [
":interpreter",
"//tensorflow/lite/python/testdata:_pywrap_test_registerer",
"//tensorflow/python:client_testlib",
"//tensorflow/python:framework_test_lib",
"//tensorflow/python:platform",
"//third_party/py/numpy",
"@six_archive//:six",
],
)
py_binary(
name = "tflite_convert",
srcs = ["tflite_convert.py"],
python_version = "PY3",
srcs_version = "PY3",
visibility = ["//visibility:public"],
deps = [
":tflite_convert_main_lib",
"//tensorflow:tensorflow_py",
"@absl_py//absl:app",
"@six_archive//:six",
],
)
py_library(
name = "tflite_convert_main_lib",
srcs = ["tflite_convert.py"],
srcs_version = "PY3",
visibility = ["//visibility:public"],
deps = [
":tflite_convert_lib",
"//tensorflow:tensorflow_py",
"@absl_py//absl:app",
"@six_archive//:six",
],
)
py_library(
name = "tflite_convert_lib",
srcs = ["tflite_convert.py"],
srcs_version = "PY3",
visibility = ["//visibility:public"],
deps = [
":lite",
"//tensorflow/lite/toco/logging:gen_html",
"//tensorflow/lite/toco/logging:toco_conversion_log_proto_py",
"//tensorflow/python:util",
"@absl_py//absl:app",
"@six_archive//:six",
],
)
py_library(
name = "test_util",
srcs = ["test_util.py"],
srcs_version = "PY3",
deps = [
":lite",
":schema_util",
"//tensorflow/lite/tools:visualize",
"//tensorflow/python:framework",
],
)
py_test(
name = "test_util_test",
srcs = ["test_util_test.py"],
data = [
"//tensorflow/lite:testdata/add.bin",
"//tensorflow/lite:testdata/softplus_flex.bin",
],
python_version = "PY3",
deps = [
":test_util",
],
)
py_test(
name = "tflite_convert_test",
srcs = ["tflite_convert_test.py"],
data = [
":tflite_convert.par",
"@tflite_mobilenet_ssd_quant_protobuf//:tflite_graph.pb",
],
python_version = "PY3",
# Increased thread count for reducing timeout failures.
shard_count = 10,
srcs_version = "PY3",
tags = [
"no_oss",
"no_pip",
"no_windows",
"noasan", # b/144707533
"notsan", # b/160824139
],
deps = [
":convert",
":test_util",
":tflite_convert",
"//tensorflow:tensorflow_py",
"//tensorflow/python:array_ops",
"//tensorflow/python:client_testlib",
"//tensorflow/python:constant_op",
"//tensorflow/python:dtypes",
"//tensorflow/python:framework",
"//tensorflow/python:framework_ops",
"//tensorflow/python:framework_test_lib",
"//tensorflow/python:platform",
"//tensorflow/python:random_ops",
"//tensorflow/python:session",
"//tensorflow/python:tf2",
"//tensorflow/python/eager:def_function",
"//tensorflow/python/saved_model",
"//tensorflow/python/saved_model:save",
"//tensorflow/python/training:training_util",
"//tensorflow/python/training/tracking",
"//third_party/py/numpy",
],
)
py_library(
name = "lite",
srcs = ["lite.py"],
srcs_version = "PY3",
visibility = ["//visibility:public"],
deps = [
":convert",
":convert_saved_model",
":interpreter",
":lite_constants",
":metrics",
":op_hint",
":util",
"//tensorflow/lite/experimental/microfrontend:audio_microfrontend_py",
"//tensorflow/lite/experimental/tensorboard:ops_util",
"//tensorflow/lite/python/optimize:calibrator",
"//tensorflow/python:graph_util",
"//tensorflow/python/saved_model:constants",
"//tensorflow/python/saved_model:loader",
"@six_archive//:six",
],
)
py_test(
name = "lite_test",
srcs = ["lite_test.py"],
data = [
"//tensorflow/lite/python/testdata:control_flow_v1.pbtxt",
"@tflite_mobilenet_ssd_quant_protobuf//:tflite_graph.pb",
],
python_version = "PY3",
shard_count = 4,
srcs_version = "PY3",
tags = [
"no_windows",
],
deps = [
":lite",
"//tensorflow:tensorflow_py",
"//tensorflow/python:client_testlib",
"//tensorflow/python:framework_test_lib",
"@six_archive//:six",
],
)
py_test(
name = "lite_v2_test",
srcs = ["lite_v2_test.py"],
data = [
"//tensorflow/lite/python/testdata:test_delegate.so",
"//tensorflow/lite/python/testdata/control_flow_v1_saved_model:saved_model.pb",
],
python_version = "PY3",
shard_count = 12,
srcs_version = "PY3",
tags = [
"no_windows",
],
deps = [
":lite",
":lite_v2_test_util",
":test_util",
"//tensorflow:tensorflow_py",
"//tensorflow/lite/python/testdata:_pywrap_test_registerer",
"//tensorflow/lite/python/testdata:double_op",
"//tensorflow/python:client_testlib",
"//tensorflow/python:framework_test_lib",
"@six_archive//:six",
],
)
py_library(
name = "lite_v2_test_util",
testonly = 1,
srcs = ["lite_v2_test_util.py"],
srcs_version = "PY3",
tags = [
"no_windows",
],
deps = [
":lite",
"//tensorflow/python:client_testlib",
"//tensorflow/python:framework_test_lib",
"@six_archive//:six",
],
)
py_test(
name = "lite_flex_test",
srcs = ["lite_flex_test.py"],
python_version = "PY3",
srcs_version = "PY3",
deps = [
":lite",
":test_util",
"//tensorflow/lite/python/testdata:double_op",
"//tensorflow/python:client_testlib",
"//tensorflow/python:framework_test_lib",
],
)
py_library(
name = "util",
srcs = ["util.py"],
srcs_version = "PY3",
visibility = internal_visibility_allowlist(),
deps = [
":op_hint",
":schema_py",
":schema_util",
"//tensorflow/lite/python:tflite_keras_util",
"//tensorflow/lite/toco:toco_flags_proto_py",
"//tensorflow/python:convert_to_constants",
"//tensorflow/python:dtypes",
"//tensorflow/python:error_interpolation",
"//tensorflow/python:graph_util",
"//tensorflow/python:tf_optimizer",
"//tensorflow/python/eager:function",
"//tensorflow/python/training:saver",
"@absl_py//absl/logging",
"@flatbuffers//:runtime_py",
"@six_archive//:six",
],
)
py_test(
name = "util_test",
srcs = ["util_test.py"],
python_version = "PY3",
srcs_version = "PY3",
tags = [
"no_windows",
],
deps = [
":util",
"//tensorflow:tensorflow_py",
"//tensorflow/python:array_ops",
"//tensorflow/python:client_testlib",
"//tensorflow/python:control_flow_ops",
"//tensorflow/python:convert_to_constants",
"//tensorflow/python:dtypes",
"//tensorflow/python:framework_ops",
"//tensorflow/python:framework_test_lib",
"//tensorflow/python:math_ops",
"//tensorflow/python:session",
"//third_party/py/numpy",
"@absl_py//absl/testing:parameterized",
"@six_archive//:six",
],
)
py_library(
name = "tflite_keras_util",
srcs = [
"tflite_keras_util.py",
],
srcs_version = "PY3",
deps = [
"//tensorflow/python:util",
"//tensorflow/python/eager:def_function",
],
)
py_library(
name = "wrap_toco",
srcs = [
"wrap_toco.py",
],
srcs_version = "PY3",
deps = [
"//tensorflow/python:_pywrap_toco_api",
"//tensorflow/python:pywrap_tensorflow",
"//tensorflow/python:util",
],
)
py_library(
name = "lite_constants",
srcs = ["lite_constants.py"],
srcs_version = "PY3",
deps = [
"//tensorflow/lite/toco:toco_flags_proto_py",
"//tensorflow/python:dtypes",
],
)
py_library(
name = "convert",
srcs = ["convert.py"],
srcs_version = "PY3",
visibility = ["//visibility:public"],
deps = [
":lite_constants",
":util",
":wrap_toco",
"//tensorflow/lite/toco:model_flags_proto_py",
"//tensorflow/lite/toco:toco_flags_proto_py",
"//tensorflow/lite/toco/python:toco_from_protos",
"//tensorflow/python:dtypes",
"//tensorflow/python:platform",
"//tensorflow/python:tensor_shape",
"//tensorflow/python/util",
"//tensorflow/python/util:tf_export",
"@six_archive//:six",
],
)
py_library(
name = "op_hint",
srcs = ["op_hint.py"],
srcs_version = "PY3",
visibility = ["//visibility:public"],
deps = [
"//tensorflow/core:protos_all_py",
"//tensorflow/python:graph_util",
"//tensorflow/python:platform",
"//tensorflow/python:util",
],
)
py_test(
name = "convert_test",
srcs = ["convert_test.py"],
python_version = "PY3",
srcs_version = "PY3",
deps = [
":convert",
":interpreter",
":op_hint",
"//tensorflow/python:array_ops",
"//tensorflow/python:client_testlib",
"//tensorflow/python:dtypes",
"//tensorflow/python:platform_test",
"//tensorflow/python:session",
],
)
py_library(
name = "convert_saved_model",
srcs = ["convert_saved_model.py"],
srcs_version = "PY3",
visibility = [
"//tensorflow/lite:__subpackages__",
],
deps = [
":util",
"//tensorflow/python:graph_util",
"//tensorflow/python:platform",
"//tensorflow/python/saved_model",
],
)
py_test(
name = "convert_saved_model_test",
srcs = ["convert_saved_model_test.py"],
python_version = "PY3",
srcs_version = "PY3",
tags = [
"no_windows",
],
visibility = ["//visibility:public"],
deps = [
":convert_saved_model",
"//tensorflow/python:client_testlib",
"//tensorflow/python:layers",
"//tensorflow/python:nn",
"//tensorflow/python:platform_test",
"//tensorflow/python:session",
"//tensorflow/python/ops/losses",
"//tensorflow/python/saved_model",
],
)
py_binary(
name = "convert_file_to_c_source",
srcs = ["convert_file_to_c_source.py"],
python_version = "PY3",
srcs_version = "PY3",
visibility = ["//visibility:public"],
deps = [
":util",
"@absl_py//absl:app",
"@absl_py//absl/flags",
],
)
sh_test(
name = "convert_file_to_c_source_test",
srcs = ["convert_file_to_c_source_test.sh"],
data = [":convert_file_to_c_source"],
)
py_library(
name = "schema_util",
srcs = ["schema_util.py"],
srcs_version = "PY3",
visibility = ["//tensorflow/lite/schema:utils_friends"],
deps = [
"//tensorflow/python:util",
],
)
pytype_strict_library(
name = "metrics_interface",
srcs = ["metrics_interface.py"],
compatible_with = get_compatible_with_portable(),
srcs_version = "PY3",
visibility = ["//visibility:private"],
)
pytype_strict_library(
name = "metrics_nonportable",
srcs = ["metrics_nonportable.py"],
srcs_version = "PY3",
visibility = ["//visibility:private"],
deps = [
":metrics_interface",
"//tensorflow/python/eager:monitoring",
],
)
py_test(
name = "metrics_nonportable_test",
srcs = ["metrics_nonportable_test.py"],
python_version = "PY3",
visibility = ["//visibility:public"],
deps = [
":lite",
":metrics_nonportable",
"//tensorflow:tensorflow_py",
"//tensorflow/python:client_testlib",
"//tensorflow/python:framework_test_lib",
],
)
pytype_strict_library(
name = "metrics_portable",
srcs = ["metrics_portable.py"],
compatible_with = get_compatible_with_portable(),
srcs_version = "PY3",
visibility = ["//visibility:private"],
deps = [
":metrics_interface",
],
)
py_test(
name = "metrics_portable_test",
srcs = ["metrics_portable_test.py"],
python_version = "PY3",
visibility = ["//visibility:public"],
deps = [
":metrics_portable",
"//tensorflow/python:client_testlib",
"//tensorflow/python:framework_test_lib",
],
)
pytype_strict_library(
name = "metrics",
compatible_with = get_compatible_with_portable(),
srcs_version = "PY3",
visibility = ["//tensorflow/lite:__subpackages__"],
deps = if_portable(
if_false = [":metrics_nonportable"],
if_true = [":metrics_portable"],
),
)