blob: 60e3c3d9459341dc70aed0b71c34247bcb3fb11c [file] [log] [blame]
load("@tflm_pip_deps//:requirements.bzl", "requirement")
load("@pybind11_bazel//:build_defs.bzl", "pybind_extension")
load("//tensorflow:extra_rules.bzl", "tflm_application_friends")
package(
default_visibility = ["//visibility:public"],
licenses = ["notice"],
)
package_group(
name = "tflm_tools",
packages = ["//tensorflow/lite/micro/tools/..."],
)
package_group(
name = "application_friends",
packages = tflm_application_friends(),
)
py_library(
name = "generate_cc_arrays_lib",
srcs = ["generate_cc_arrays.py"],
deps = [
requirement("numpy"),
requirement("pillow"),
],
)
py_library(
name = "generate_test_for_model",
srcs = ["generate_test_for_model.py"],
srcs_version = "PY3",
deps = [
"//tensorflow/lite/python:schema_py",
],
)
py_binary(
name = "generate_cc_arrays",
srcs = ["generate_cc_arrays.py"],
deps = [
requirement("numpy"),
requirement("pillow"),
],
)
py_binary(
name = "requantize_flatbuffer",
srcs = [
"requantize_flatbuffer.py",
"requantize_flatbuffer_utils.py",
],
srcs_version = "PY3",
deps = [
"//tensorflow/lite/python:schema_py",
"//tensorflow/lite/tools:flatbuffer_utils",
"@absl_py//absl:app",
],
)
py_test(
name = "requantize_flatbuffer_test",
srcs = ["requantize_flatbuffer_test.py"],
main = "requantize_flatbuffer_test.py",
python_version = "PY3",
tags = [
"noasan",
"nomsan", # Python doesn't like these symbols
"noubsan",
],
deps = [
":requantize_flatbuffer",
"//python/tflite_micro:runtime",
requirement("numpy"),
requirement("tensorflow-cpu"),
],
)
pybind_extension(
name = "tflite_flatbuffer_align_wrapper", # :tflite_flatbuffer_align_wrapper.so
srcs = [
"tflite_flatbuffer_align_wrapper.cc",
],
deps = [
"//tensorflow/lite/schema:schema_fbs",
"@flatbuffers",
],
)
py_binary(
name = "tflite_flatbuffer_align",
srcs = [
"tflite_flatbuffer_align.py",
],
data = [
":tflite_flatbuffer_align_wrapper.so",
],
deps = [
"@absl_py//absl:app",
],
)
py_library(
name = "model_transforms_utils",
srcs = ["model_transforms_utils.py"],
data = [
":tflite_flatbuffer_align_wrapper.so",
],
srcs_version = "PY3",
visibility = [
":application_friends",
":tflm_tools",
],
deps = [
"//tensorflow/lite/python:schema_py",
"//tensorflow/lite/python:schema_util",
],
)
py_library(
name = "tflm_model_transforms_lib",
srcs = ["tflm_model_transforms_lib.py"],
data = [
":tflite_flatbuffer_align",
],
srcs_version = "PY3",
visibility = [
":application_friends",
":tflm_tools",
"//:__subpackages__",
],
deps = [
":model_transforms_utils",
"//tensorflow/lite/micro/python/interpreter/src:runtime",
"//tensorflow/lite/tools:flatbuffer_utils",
"@absl_py//absl/logging",
requirement("numpy"),
requirement("tensorflow-cpu"),
],
)
py_binary(
name = "tflm_model_transforms",
srcs = ["tflm_model_transforms.py"],
python_version = "PY3",
srcs_version = "PY3",
deps = [
":tflm_model_transforms_lib",
"@absl_py//absl:app",
"@absl_py//absl/flags",
"@absl_py//absl/logging",
],
)
py_test(
name = "tflm_model_transforms_test",
srcs = ["tflm_model_transforms_test.py"],
data = [
"//tensorflow/lite/micro/models",
],
main = "tflm_model_transforms_test.py",
python_version = "PY3",
tags = [
"noasan",
"nomsan",
"noubsan",
],
deps = [
":tflm_model_transforms_lib",
"//tensorflow/lite/micro/examples/recipes:resource_variables_lib",
"@absl_py//absl/testing:parameterized",
requirement("tensorflow-cpu"),
],
)