| load("@pybind11_bazel//:build_defs.bzl", "pybind_extension") |
| load("@tflm_pip_deps//:requirements.bzl", "requirement") |
| load( |
| "//tensorflow/lite/micro:build_def.bzl", |
| "micro_copts", |
| ) |
| load( |
| "//tensorflow:extra_rules.bzl", |
| "tflm_python_op_resolver_friends", |
| ) |
| |
| package( |
| features = ["-layering_check"], |
| licenses = ["notice"], |
| ) |
| |
| package_group( |
| name = "op_resolver_friends", |
| packages = tflm_python_op_resolver_friends(), |
| ) |
| |
| cc_library( |
| name = "python_ops_resolver", |
| srcs = [ |
| "python_ops_resolver.cc", |
| ], |
| hdrs = [ |
| "python_ops_resolver.h", |
| ], |
| copts = micro_copts(), |
| visibility = [ |
| ":op_resolver_friends", |
| "//tensorflow/lite/micro/integration_tests:__subpackages__", |
| "//tensorflow/lite/micro/python/interpreter/src:__subpackages__", |
| ], |
| deps = [ |
| "//tensorflow/lite/micro:micro_compatibility", |
| "//tensorflow/lite/micro:op_resolvers", |
| "//tensorflow/lite/micro/kernels:micro_ops", |
| ], |
| ) |
| |
| pybind_extension( |
| name = "_runtime", |
| # target = _runtime.so because pybind_extension() appends suffix |
| srcs = [ |
| "_runtime.cc", |
| "interpreter_wrapper.cc", |
| "interpreter_wrapper.h", |
| "numpy_utils.cc", |
| "numpy_utils.h", |
| "pybind11_lib.h", |
| "python_utils.cc", |
| "python_utils.h", |
| "shared_library.h", |
| ], |
| deps = [ |
| ":python_ops_resolver", |
| "//tensorflow/lite/micro:micro_framework", |
| "//tensorflow/lite/micro:op_resolvers", |
| "//tensorflow/lite/micro:recording_allocators", |
| "@numpy_cc_deps//:cc_headers", |
| ], |
| ) |
| |
| py_library( |
| name = "runtime", |
| srcs = [ |
| "runtime.py", |
| ], |
| data = [ |
| ":_runtime.so", |
| ], |
| srcs_version = "PY3", |
| visibility = ["//visibility:public"], |
| deps = [ |
| requirement("numpy"), |
| "//tensorflow/lite/tools:flatbuffer_utils", |
| ], |
| ) |
| |
| py_test( |
| name = "runtime_test", |
| srcs = ["runtime_test.py"], |
| python_version = "PY3", |
| tags = [ |
| "noasan", |
| "nomsan", # Python doesn't like these symbols in _runtime.so |
| "noubsan", |
| ], |
| deps = [ |
| requirement("numpy"), |
| requirement("tensorflow-cpu"), |
| ":runtime", |
| "//tensorflow/lite/micro/testing:generate_test_models_lib", |
| ], |
| ) |