From 9ae842861348ccd3cca4f4c379995ef08739d64e Mon Sep 17 00:00:00 2001 From: j1nx Date: Fri, 27 May 2022 14:20:08 +0200 Subject: [PATCH] Implementation of native tensorflow-lite & tflite-runtime --- buildroot-external/Config.in | 1 + .../configs/rpi3_64-gui_defconfig | 4 +- .../configs/rpi4_64-gui_defconfig | 4 +- .../package/tensorflow-lite/Config.in | 10 ++ .../tensorflow-lite/tensorflow-lite.hash | 2 + .../tensorflow-lite/tensorflow-lite.mk | 167 ++++++++++++++++++ .../PKG-INFO | 30 ++++ .../SOURCES.txt | 11 ++ .../dependency_links.txt | 1 + .../requires.txt | 1 + .../top_level.txt | 1 + .../tflite_runtime/MANIFEST.in | 1 + .../tflite_runtime/__init__.py | 2 + ...or-cmake-so-curl-can-download-from-h.patch | 25 +++ 14 files changed, 258 insertions(+), 2 deletions(-) create mode 100644 buildroot-external/package/tensorflow-lite/Config.in create mode 100644 buildroot-external/package/tensorflow-lite/tensorflow-lite.hash create mode 100644 buildroot-external/package/tensorflow-lite/tensorflow-lite.mk create mode 100644 buildroot-external/package/tensorflow-lite/tflite_runtime-2.9.1-py3.10.egg-info/PKG-INFO create mode 100644 buildroot-external/package/tensorflow-lite/tflite_runtime-2.9.1-py3.10.egg-info/SOURCES.txt create mode 100644 buildroot-external/package/tensorflow-lite/tflite_runtime-2.9.1-py3.10.egg-info/dependency_links.txt create mode 100644 buildroot-external/package/tensorflow-lite/tflite_runtime-2.9.1-py3.10.egg-info/requires.txt create mode 100644 buildroot-external/package/tensorflow-lite/tflite_runtime-2.9.1-py3.10.egg-info/top_level.txt create mode 100755 buildroot-external/package/tensorflow-lite/tflite_runtime/MANIFEST.in create mode 100755 buildroot-external/package/tensorflow-lite/tflite_runtime/__init__.py create mode 100644 buildroot-patches/0017-Enable-OpenSSL-for-cmake-so-curl-can-download-from-h.patch diff --git a/buildroot-external/Config.in b/buildroot-external/Config.in index 44e07b21..744db9b8 100644 --- a/buildroot-external/Config.in +++ b/buildroot-external/Config.in @@ -94,6 +94,7 @@ endmenu source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/rpi-eeprom/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/snapcast/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/spotifyd/Config.in" + source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/tensorflow-lite/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/userland-tools/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/virtual-touch/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/vocalfusion/Config.in" diff --git a/buildroot-external/configs/rpi3_64-gui_defconfig b/buildroot-external/configs/rpi3_64-gui_defconfig index aea5bd91..a5cb3279 100644 --- a/buildroot-external/configs/rpi3_64-gui_defconfig +++ b/buildroot-external/configs/rpi3_64-gui_defconfig @@ -644,6 +644,7 @@ BR2_PACKAGE_RESPEAKER=y BR2_PACKAGE_SNAPCAST=y BR2_PACKAGE_SNAPCAST_SERVER=y BR2_PACKAGE_SPOTIFYD=y +BR2_PACKAGE_TENSORFLOW_LITE=y BR2_PACKAGE_USERLAND_TOOLS=y BR2_PACKAGE_VOCALFUSION=y BR2_PACKAGE_WIRINGPI2=y @@ -690,6 +691,7 @@ BR2_PACKAGE_PYTHON_PEP8=y BR2_PACKAGE_PYTHON_PETACT=y BR2_PACKAGE_PYTHON_PHONEME_GUESSER=y BR2_PACKAGE_PYTHON_POCKETSPHINX=y +BR2_PACKAGE_PYTHON_PRECISE_LITE_RUNNER=y BR2_PACKAGE_PYTHON_PRECISE_RUNNER=y BR2_PACKAGE_PYTHON_PULSECTL=y BR2_PACKAGE_PYTHON_PYCHROMECAST=y @@ -766,6 +768,7 @@ BR2_PACKAGE_PYTHON_OVOS_VLC_PLUGIN=y BR2_PACKAGE_PYTHON_OVOS_WORKSHOP=y BR2_PACKAGE_PYTHON_OVOS_WW_PLUGIN_POCKETSPHINX=y BR2_PACKAGE_PYTHON_OVOS_WW_PLUGIN_PRECISE=y +BR2_PACKAGE_PYTHON_OVOS_WW_PLUGIN_PRECISE_LITE=y BR2_PACKAGE_MYCROFT_SKILL_ALARM=y BR2_PACKAGE_MYCROFT_SKILL_AUDIO_RECORD=y BR2_PACKAGE_MYCROFT_SKILL_CAMERA=y @@ -787,7 +790,6 @@ BR2_PACKAGE_MYCROFT_SKILL_OVOS_SETUP=y BR2_PACKAGE_MYCROFT_SKILL_OVOS_STOP=y BR2_PACKAGE_MYCROFT_SKILL_OVOS_TIMER=y BR2_PACKAGE_MYCROFT_SKILL_OVOS_VOLUME=y -BR2_PACKAGE_MYCROFT_SKILL_PARROT=y BR2_PACKAGE_MYCROFT_SKILL_PERSONAL=y BR2_PACKAGE_MYCROFT_SKILL_REMINDER=y BR2_PACKAGE_MYCROFT_SKILL_SINGING=y diff --git a/buildroot-external/configs/rpi4_64-gui_defconfig b/buildroot-external/configs/rpi4_64-gui_defconfig index 953e2087..c9ecb959 100644 --- a/buildroot-external/configs/rpi4_64-gui_defconfig +++ b/buildroot-external/configs/rpi4_64-gui_defconfig @@ -645,6 +645,7 @@ BR2_PACKAGE_RESPEAKER=y BR2_PACKAGE_SNAPCAST=y BR2_PACKAGE_SNAPCAST_SERVER=y BR2_PACKAGE_SPOTIFYD=y +BR2_PACKAGE_TENSORFLOW_LITE=y BR2_PACKAGE_USERLAND_TOOLS=y BR2_PACKAGE_VOCALFUSION=y BR2_PACKAGE_WIFI_CONNECT=y @@ -692,6 +693,7 @@ BR2_PACKAGE_PYTHON_PEP8=y BR2_PACKAGE_PYTHON_PETACT=y BR2_PACKAGE_PYTHON_PHONEME_GUESSER=y BR2_PACKAGE_PYTHON_POCKETSPHINX=y +BR2_PACKAGE_PYTHON_PRECISE_LITE_RUNNER=y BR2_PACKAGE_PYTHON_PRECISE_RUNNER=y BR2_PACKAGE_PYTHON_PULSECTL=y BR2_PACKAGE_PYTHON_PYCHROMECAST=y @@ -768,6 +770,7 @@ BR2_PACKAGE_PYTHON_OVOS_VLC_PLUGIN=y BR2_PACKAGE_PYTHON_OVOS_WORKSHOP=y BR2_PACKAGE_PYTHON_OVOS_WW_PLUGIN_POCKETSPHINX=y BR2_PACKAGE_PYTHON_OVOS_WW_PLUGIN_PRECISE=y +BR2_PACKAGE_PYTHON_OVOS_WW_PLUGIN_PRECISE_LITE=y BR2_PACKAGE_MYCROFT_SKILL_ALARM=y BR2_PACKAGE_MYCROFT_SKILL_AUDIO_RECORD=y BR2_PACKAGE_MYCROFT_SKILL_CAMERA=y @@ -789,7 +792,6 @@ BR2_PACKAGE_MYCROFT_SKILL_OVOS_SETUP=y BR2_PACKAGE_MYCROFT_SKILL_OVOS_STOP=y BR2_PACKAGE_MYCROFT_SKILL_OVOS_TIMER=y BR2_PACKAGE_MYCROFT_SKILL_OVOS_VOLUME=y -BR2_PACKAGE_MYCROFT_SKILL_PARROT=y BR2_PACKAGE_MYCROFT_SKILL_PERSONAL=y BR2_PACKAGE_MYCROFT_SKILL_REMINDER=y BR2_PACKAGE_MYCROFT_SKILL_SINGING=y diff --git a/buildroot-external/package/tensorflow-lite/Config.in b/buildroot-external/package/tensorflow-lite/Config.in new file mode 100644 index 00000000..9b7abe95 --- /dev/null +++ b/buildroot-external/package/tensorflow-lite/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_TENSORFLOW_LITE + bool "tensorflow-lite" + help + TensorFlow Lite is the official solution for running + machine learning models on mobile and embedded devices. + It enables on-device machine learning inference with + low latency and a small binary size on Android, iOS, + and other operating systems. + + https://www.tensorflow.org/lite/ diff --git a/buildroot-external/package/tensorflow-lite/tensorflow-lite.hash b/buildroot-external/package/tensorflow-lite/tensorflow-lite.hash new file mode 100644 index 00000000..b96643f9 --- /dev/null +++ b/buildroot-external/package/tensorflow-lite/tensorflow-lite.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 6eaf86ead73e23988fe192da1db68f4d3828bcdd0f3a9dc195935e339c95dbdc tensorflow-lite-v2.9.1.tar.gz diff --git a/buildroot-external/package/tensorflow-lite/tensorflow-lite.mk b/buildroot-external/package/tensorflow-lite/tensorflow-lite.mk new file mode 100644 index 00000000..5e149fcd --- /dev/null +++ b/buildroot-external/package/tensorflow-lite/tensorflow-lite.mk @@ -0,0 +1,167 @@ +################################################################################ +# +# tensorflow-lite +# +################################################################################ + +TENSORFLOW_LITE_VERSION = v2.9.1 +TENSORFLOW_LITE_SITE = $(call github,tensorflow,tensorflow,$(TENSORFLOW_LITE_VERSION)) +TENSORFLOW_LITE_SUBDIR = tensorflow/lite +TENSORFLOW_LITE_LICENSE = Apache License 2.0 + +TENSORFLOW_LITE_INSTALL_STAGING = YES + +TENSORFLOW_LITE_DEPENDENCIES = host-pkgconf +TENSORFLOW_LITE_SUPPORTS_IN_SOURCE_BUILD = NO + +TENSORFLOW_LITE_CONF_OPTS += -DCMAKE_C_FLAGS="-I$(STAGING_DIR)/usr/include/python$(PYTHON3_VERSION_MAJOR) \ + -I$(STAGING_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/numpy/core/include \ + -I$(STAGING_DIR)/usr/include/pybind11" \ + -DCMAKE_CXX_FLAGS="-I$(STAGING_DIR)/usr/include/python$(PYTHON3_VERSION_MAJOR) \ + -I$(STAGING_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/numpy/core/include \ + -I$(STAGING_DIR)/usr/include/pybind11" + +TENSORFLOW_LITE_MAKE_OPTS += _pywrap_tensorflow_interpreter_wrapper + +TENSORFLOW_LITE_POST_INSTALL_TARGET_HOOKS = TENSORFLOW_LITE_INSTALL_TFLITE_RUNTIME + +define TENSORFLOW_LITE_INSTALL_TFLITE_RUNTIME +# Install all tflite-runtime files manually +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/_deps/abseil-cpp-build/absl/types/libabsl_bad_optional_access.so \ +$(TARGET_DIR)/usr/lib/ +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/_deps/abseil-cpp-build/absl/types/libabsl_bad_variant_access.so \ +$(TARGET_DIR)/usr/lib/ +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/_deps/abseil-cpp-build/absl/base/libabsl_base.so \ +$(TARGET_DIR)/usr/lib/ +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/_deps/abseil-cpp-build/absl/base/libabsl_log_severity.so \ +$(TARGET_DIR)/usr/lib/ +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/_deps/abseil-cpp-build/absl/base/libabsl_malloc_internal.so \ +$(TARGET_DIR)/usr/lib/ +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/_deps/abseil-cpp-build/absl/base/libabsl_raw_logging_internal.so \ +$(TARGET_DIR)/usr/lib/ +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/_deps/abseil-cpp-build/absl/base/libabsl_spinlock_wait.so \ +$(TARGET_DIR)/usr/lib/ +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/_deps/abseil-cpp-build/absl/base/libabsl_throw_delegate.so \ +$(TARGET_DIR)/usr/lib/ +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/_deps/abseil-cpp-build/absl/hash/libabsl_city.so \ +$(TARGET_DIR)/usr/lib/ +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/_deps/abseil-cpp-build/absl/hash/libabsl_hash.so \ +$(TARGET_DIR)/usr/lib/ +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/_deps/abseil-cpp-build/absl/hash/libabsl_low_level_hash.so \ +$(TARGET_DIR)/usr/lib/ +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/_deps/abseil-cpp-build/absl/time/libabsl_civil_time.so \ +$(TARGET_DIR)/usr/lib/ +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/_deps/abseil-cpp-build/absl/time/libabsl_time.so \ +$(TARGET_DIR)/usr/lib/ +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/_deps/abseil-cpp-build/absl/time/libabsl_time_zone.so \ +$(TARGET_DIR)/usr/lib/ +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/_deps/abseil-cpp-build/absl/strings/libabsl_cord_internal.so \ +$(TARGET_DIR)/usr/lib/ +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/_deps/abseil-cpp-build/absl/strings/libabsl_cord.so \ +$(TARGET_DIR)/usr/lib/ +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/_deps/abseil-cpp-build/absl/strings/libabsl_cordz_functions.so \ +$(TARGET_DIR)/usr/lib/ +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/_deps/abseil-cpp-build/absl/strings/libabsl_cordz_handle.so \ +$(TARGET_DIR)/usr/lib/ +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/_deps/abseil-cpp-build/absl/strings/libabsl_cordz_info.so \ +$(TARGET_DIR)/usr/lib/ +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/_deps/abseil-cpp-build/absl/strings/libabsl_str_format_internal.so \ +$(TARGET_DIR)/usr/lib/ +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/_deps/abseil-cpp-build/absl/strings/libabsl_strings_internal.so \ +$(TARGET_DIR)/usr/lib/ +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/_deps/abseil-cpp-build/absl/strings/libabsl_strings.so \ +$(TARGET_DIR)/usr/lib/ +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/_deps/abseil-cpp-build/absl/debugging/libabsl_debugging_internal.so \ +$(TARGET_DIR)/usr/lib/ +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/_deps/abseil-cpp-build/absl/debugging/libabsl_demangle_internal.so \ +$(TARGET_DIR)/usr/lib/ +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/_deps/abseil-cpp-build/absl/debugging/libabsl_stacktrace.so \ +$(TARGET_DIR)/usr/lib/ +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/_deps/abseil-cpp-build/absl/debugging/libabsl_symbolize.so \ +$(TARGET_DIR)/usr/lib/ +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/_deps/abseil-cpp-build/absl/profiling/libabsl_exponential_biased.so \ +$(TARGET_DIR)/usr/lib/ +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/_deps/abseil-cpp-build/absl/flags/libabsl_flags_commandlineflag_internal.so \ +$(TARGET_DIR)/usr/lib/ +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/_deps/abseil-cpp-build/absl/flags/libabsl_flags_commandlineflag.so \ +$(TARGET_DIR)/usr/lib/ +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/_deps/abseil-cpp-build/absl/flags/libabsl_flags_config.so \ +$(TARGET_DIR)/usr/lib/ +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/_deps/abseil-cpp-build/absl/flags/libabsl_flags_internal.so \ +$(TARGET_DIR)/usr/lib/ +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/_deps/abseil-cpp-build/absl/flags/libabsl_flags_marshalling.so \ +$(TARGET_DIR)/usr/lib/ +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/_deps/abseil-cpp-build/absl/flags/libabsl_flags_private_handle_accessor.so \ +$(TARGET_DIR)/usr/lib/ +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/_deps/abseil-cpp-build/absl/flags/libabsl_flags_program_name.so \ +$(TARGET_DIR)/usr/lib/ +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/_deps/abseil-cpp-build/absl/flags/libabsl_flags_reflection.so \ +$(TARGET_DIR)/usr/lib/ +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/_deps/abseil-cpp-build/absl/flags/libabsl_flags.so \ +$(TARGET_DIR)/usr/lib/ +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/_deps/abseil-cpp-build/absl/synchronization/libabsl_graphcycles_internal.so \ +$(TARGET_DIR)/usr/lib/ +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/_deps/abseil-cpp-build/absl/synchronization/libabsl_synchronization.so \ +$(TARGET_DIR)/usr/lib/ +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/_deps/abseil-cpp-build/absl/container/libabsl_hashtablez_sampler.so \ +$(TARGET_DIR)/usr/lib/ +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/_deps/abseil-cpp-build/absl/container/libabsl_raw_hash_set.so \ +$(TARGET_DIR)/usr/lib/ +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/_deps/abseil-cpp-build/absl/numeric/libabsl_int128.so \ +$(TARGET_DIR)/usr/lib/ +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/_deps/abseil-cpp-build/absl/status/libabsl_status.so \ +$(TARGET_DIR)/usr/lib/ +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/_deps/cpuinfo-build/libcpuinfo.so \ +$(TARGET_DIR)/usr/lib/ +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/_deps/farmhash-build/libfarmhash.so \ +$(TARGET_DIR)/usr/lib/ +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/_deps/fft2d-build/libfft2d_fftsg2d.so \ +$(TARGET_DIR)/usr/lib/ +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/_deps/fft2d-build/libfft2d_fftsg.so \ +$(TARGET_DIR)/usr/lib/ +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/_deps/xnnpack-build/libXNNPACK.so \ +$(TARGET_DIR)/usr/lib/ +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/pthreadpool/libpthreadpool.so \ +$(TARGET_DIR)/usr/lib/ +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/libtensorflow-lite.so \ +$(TARGET_DIR)/usr/lib/ + +mkdir -p $(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/tflite_runtime +mkdir -p $(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/tflite_runtime-2.9.1-py3.10.egg-info + +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/buildroot-build/_pywrap_tensorflow_interpreter_wrapper.so \ +$(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/tflite_runtime/ + +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/python/interpreter.py \ +$(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/tflite_runtime/ + +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/python/metrics/metrics_interface.py \ +$(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/tflite_runtime/ + +$(INSTALL) -D -m 755 $(@D)/$(TENSORFLOW_LITE_SUBDIR)/python/metrics/metrics_portable.py \ +$(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/tflite_runtime/ + +$(INSTALL) -D -m 755 $(BR2_EXTERNAL_OPENVOICEOS_PATH)/package/tensorflow-lite/tflite_runtime/__init__.py \ +$(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/tflite_runtime/ + +$(INSTALL) -D -m 755 $(BR2_EXTERNAL_OPENVOICEOS_PATH)/package/tensorflow-lite/tflite_runtime/MANIFEST.in \ +$(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/tflite_runtime/ + +$(INSTALL) -D -m 644 $(BR2_EXTERNAL_OPENVOICEOS_PATH)/package/tensorflow-lite/tflite_runtime-2.9.1-py3.10.egg-info/dependency_links.txt \ +$(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/tflite_runtime-2.9.1-py3.10.egg-info/ + +$(INSTALL) -D -m 644 $(BR2_EXTERNAL_OPENVOICEOS_PATH)/package/tensorflow-lite/tflite_runtime-2.9.1-py3.10.egg-info/PKG-INFO \ +$(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/tflite_runtime-2.9.1-py3.10.egg-info/ + +$(INSTALL) -D -m 644 $(BR2_EXTERNAL_OPENVOICEOS_PATH)/package/tensorflow-lite/tflite_runtime-2.9.1-py3.10.egg-info/requires.txt \ +$(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/tflite_runtime-2.9.1-py3.10.egg-info/ + +$(INSTALL) -D -m 644 $(BR2_EXTERNAL_OPENVOICEOS_PATH)/package/tensorflow-lite/tflite_runtime-2.9.1-py3.10.egg-info/SOURCES.txt \ +$(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/tflite_runtime-2.9.1-py3.10.egg-info/ + +$(INSTALL) -D -m 644 $(BR2_EXTERNAL_OPENVOICEOS_PATH)/package/tensorflow-lite/tflite_runtime-2.9.1-py3.10.egg-info/top_level.txt \ +$(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/tflite_runtime-2.9.1-py3.10.egg-info/ + +endef + +$(eval $(cmake-package)) diff --git a/buildroot-external/package/tensorflow-lite/tflite_runtime-2.9.1-py3.10.egg-info/PKG-INFO b/buildroot-external/package/tensorflow-lite/tflite_runtime-2.9.1-py3.10.egg-info/PKG-INFO new file mode 100644 index 00000000..20e78b6b --- /dev/null +++ b/buildroot-external/package/tensorflow-lite/tflite_runtime-2.9.1-py3.10.egg-info/PKG-INFO @@ -0,0 +1,30 @@ +Metadata-Version: 2.1 +Name: tflite-runtime +Version: 2.9.1 +Summary: TensorFlow Lite is for mobile and embedded devices. +Home-page: https://www.tensorflow.org/lite/ +Author: Google, LLC +Author-email: packages@tensorflow.org +License: Apache 2.0 +Keywords: tflite tensorflow tensor machine learning +Platform: OpenVoiceOS +Classifier: Development Status :: 5 - Production/Stable +Classifier: Intended Audience :: Developers +Classifier: Intended Audience :: Education +Classifier: Intended Audience :: Science/Research +Classifier: License :: OSI Approved :: Apache Software License +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: 3.8 +Classifier: Programming Language :: Python :: 3.9 +Classifier: Programming Language :: Python :: 3.10 +Classifier: Topic :: Scientific/Engineering +Classifier: Topic :: Scientific/Engineering :: Mathematics +Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence +Classifier: Topic :: Software Development +Classifier: Topic :: Software Development :: Libraries +Classifier: Topic :: Software Development :: Libraries :: Python Modules + +TensorFlow Lite is the official solution for running machine learning models on mobile and embedded devices. It enables on-device machine learning inference with low latency and a small binary size on Android, iOS, and other +operating +systems. diff --git a/buildroot-external/package/tensorflow-lite/tflite_runtime-2.9.1-py3.10.egg-info/SOURCES.txt b/buildroot-external/package/tensorflow-lite/tflite_runtime-2.9.1-py3.10.egg-info/SOURCES.txt new file mode 100644 index 00000000..02d3758c --- /dev/null +++ b/buildroot-external/package/tensorflow-lite/tflite_runtime-2.9.1-py3.10.egg-info/SOURCES.txt @@ -0,0 +1,11 @@ +__init__.py +_pywrap_tensorflow_interpreter_wrapper.so +interpreter.py +MANIFEST.in +metrics_interface.py +metrics_portable.py +tflite_runtime.egg-info/PKG-INFO +tflite_runtime.egg-info/SOURCES.txt +tflite_runtime.egg-info/dependency_links.txt +tflite_runtime.egg-info/requires.txt +tflite_runtime.egg-info/top_level.txt diff --git a/buildroot-external/package/tensorflow-lite/tflite_runtime-2.9.1-py3.10.egg-info/dependency_links.txt b/buildroot-external/package/tensorflow-lite/tflite_runtime-2.9.1-py3.10.egg-info/dependency_links.txt new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/buildroot-external/package/tensorflow-lite/tflite_runtime-2.9.1-py3.10.egg-info/dependency_links.txt @@ -0,0 +1 @@ + diff --git a/buildroot-external/package/tensorflow-lite/tflite_runtime-2.9.1-py3.10.egg-info/requires.txt b/buildroot-external/package/tensorflow-lite/tflite_runtime-2.9.1-py3.10.egg-info/requires.txt new file mode 100644 index 00000000..385649ac --- /dev/null +++ b/buildroot-external/package/tensorflow-lite/tflite_runtime-2.9.1-py3.10.egg-info/requires.txt @@ -0,0 +1 @@ +numpy>=1.19.2 diff --git a/buildroot-external/package/tensorflow-lite/tflite_runtime-2.9.1-py3.10.egg-info/top_level.txt b/buildroot-external/package/tensorflow-lite/tflite_runtime-2.9.1-py3.10.egg-info/top_level.txt new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/buildroot-external/package/tensorflow-lite/tflite_runtime-2.9.1-py3.10.egg-info/top_level.txt @@ -0,0 +1 @@ + diff --git a/buildroot-external/package/tensorflow-lite/tflite_runtime/MANIFEST.in b/buildroot-external/package/tensorflow-lite/tflite_runtime/MANIFEST.in new file mode 100755 index 00000000..bb574e63 --- /dev/null +++ b/buildroot-external/package/tensorflow-lite/tflite_runtime/MANIFEST.in @@ -0,0 +1 @@ +recursive-include * *.py diff --git a/buildroot-external/package/tensorflow-lite/tflite_runtime/__init__.py b/buildroot-external/package/tensorflow-lite/tflite_runtime/__init__.py new file mode 100755 index 00000000..c48dda52 --- /dev/null +++ b/buildroot-external/package/tensorflow-lite/tflite_runtime/__init__.py @@ -0,0 +1,2 @@ +__version__ = '2.9.1' +__git_version__ = 'd8ce9f9c301d021a69953134185ab728c1c248d3' diff --git a/buildroot-patches/0017-Enable-OpenSSL-for-cmake-so-curl-can-download-from-h.patch b/buildroot-patches/0017-Enable-OpenSSL-for-cmake-so-curl-can-download-from-h.patch new file mode 100644 index 00000000..20b6a5af --- /dev/null +++ b/buildroot-patches/0017-Enable-OpenSSL-for-cmake-so-curl-can-download-from-h.patch @@ -0,0 +1,25 @@ +From 4b302ae33c35627bff2d3a4e045b1e2a9f81356c Mon Sep 17 00:00:00 2001 +From: j1nx +Date: Fri, 27 May 2022 11:19:18 +0200 +Subject: [PATCH 1/1] Enable OpenSSL for cmake so curl can download from https + +--- + package/cmake/cmake.mk | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/package/cmake/cmake.mk b/package/cmake/cmake.mk +index b1b214982e..7271d1e90a 100644 +--- a/package/cmake/cmake.mk ++++ b/package/cmake/cmake.mk +@@ -49,7 +49,7 @@ define HOST_CMAKE_CONFIGURE_CMDS + -DCMAKE_C_FLAGS="$(HOST_CMAKE_CFLAGS)" \ + -DCMAKE_CXX_FLAGS="$(HOST_CMAKE_CXXFLAGS)" \ + -DCMAKE_EXE_LINKER_FLAGS="$(HOST_LDFLAGS)" \ +- -DCMAKE_USE_OPENSSL:BOOL=OFF \ ++ -DCMAKE_USE_OPENSSL:BOOL=ON \ + -DBUILD_CursesDialog=OFF \ + ) + endef +-- +2.34.1 +