All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/3] Add tensorflow-lite
@ 2019-08-22 20:31 Hongmei Gou
  2019-08-22 20:31 ` [PATCH v2 1/3] tensorflow-lite: add version 1.12 Hongmei Gou
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Hongmei Gou @ 2019-08-22 20:31 UTC (permalink / raw)
  To: meta-arago; +Cc: Hongmei Gou

This patch set starts from the baseline recipe at
https://github.com/nnsuite/meta-neural-network/tree/master/recipes-tensorflow/tensorflow-lite,

The major changes are listed below:

1. Made some cleanup for the baseline recipes, such as updating NEON2SSE and replacing AUTOREV

2. Installed minimal and benchmark_model binaries which have been built with the original Makefile

3. Patched Makefile to add label_image and installed the example binary and files
   (model/image/labels.txt) needed to run the example

v2 change:
Keep the dependencies in the original single recipe, instead of creating separate recipes
for all the dependencies

Hongmei Gou (3):
  tensorflow-lite: add version 1.12
  tensorflow-lite: install minimal and benchmark_model examples, and all
    .a files
  tensorflow-lite: add label_image example and install the files to run
    the example

 ...001-Makefile-add-label_image-example.patch |  89 ++++++++++++
 ...odification-for-tflite-1.12-to-eigen.patch |  13 ++
 .../files/tensorflow-lite.pc.in               |   6 +
 .../tensorflow-lite/tensorflow-lite_1.12.bb   | 136 ++++++++++++++++++
 4 files changed, 244 insertions(+)
 create mode 100644 meta-arago-extras/recipes-support/tensorflow-lite/files/0001-Makefile-add-label_image-example.patch
 create mode 100644 meta-arago-extras/recipes-support/tensorflow-lite/files/apply-modification-for-tflite-1.12-to-eigen.patch
 create mode 100644 meta-arago-extras/recipes-support/tensorflow-lite/files/tensorflow-lite.pc.in
 create mode 100644 meta-arago-extras/recipes-support/tensorflow-lite/tensorflow-lite_1.12.bb

-- 
2.17.1



^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v2 1/3] tensorflow-lite: add version 1.12
  2019-08-22 20:31 [PATCH v2 0/3] Add tensorflow-lite Hongmei Gou
@ 2019-08-22 20:31 ` Hongmei Gou
  2019-08-22 20:31 ` [PATCH v2 2/3] tensorflow-lite: install minimal and benchmark_model examples, and all .a files Hongmei Gou
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Hongmei Gou @ 2019-08-22 20:31 UTC (permalink / raw)
  To: meta-arago; +Cc: Hongmei Gou

* Source of the recipe:
  https://github.com/nnsuite/meta-neural-network/tree/master/recipes-tensorflow/tensorflow-lite
* Further changes from the baseline include:
  1. Replaced moving master with commit ID for NEON2SSE, and updated the checksum;
  2. Replaced AUTOREV with the commit ID for tensorflow version 1.12;
  3. Removed do_configure{} which is not needed;
  4. Removed installation for flatbuffers.

Signed-off-by: Hongmei Gou <a0271529@ti.com>
---
 ...odification-for-tflite-1.12-to-eigen.patch |  13 ++
 .../files/tensorflow-lite.pc.in               |   6 +
 .../tensorflow-lite/tensorflow-lite_1.12.bb   | 119 ++++++++++++++++++
 3 files changed, 138 insertions(+)
 create mode 100644 meta-arago-extras/recipes-support/tensorflow-lite/files/apply-modification-for-tflite-1.12-to-eigen.patch
 create mode 100644 meta-arago-extras/recipes-support/tensorflow-lite/files/tensorflow-lite.pc.in
 create mode 100644 meta-arago-extras/recipes-support/tensorflow-lite/tensorflow-lite_1.12.bb

diff --git a/meta-arago-extras/recipes-support/tensorflow-lite/files/apply-modification-for-tflite-1.12-to-eigen.patch b/meta-arago-extras/recipes-support/tensorflow-lite/files/apply-modification-for-tflite-1.12-to-eigen.patch
new file mode 100644
index 00000000..1a8de78b
--- /dev/null
+++ b/meta-arago-extras/recipes-support/tensorflow-lite/files/apply-modification-for-tflite-1.12-to-eigen.patch
@@ -0,0 +1,13 @@
+diff --git a/tensorflow/contrib/lite/tools/make/downloads/eigen/Eigen/src/Core/arch/NEON/Complex.h b/tensorflow/contrib/lite/tools/make/downloads/eigen/Eigen/src/Core/arch/NEON/Complex.h
+index 306a309beb..4527a64c91 100644
+--- a/tensorflow/contrib/lite/tools/make/downloads/eigen/Eigen/src/Core/arch/NEON/Complex.h
++++ b/tensorflow/contrib/lite/tools/make/downloads/eigen/Eigen/src/Core/arch/NEON/Complex.h
+@@ -295,7 +295,7 @@ ptranspose(PacketBlock<Packet2cf,2>& kernel) {
+   static uint64x2_t p2ul_CONJ_XOR = {0x0, 0x8000000000000000};
+ #else
+   const uint64_t  p2ul_conj_XOR_DATA[] = { 0x0, 0x8000000000000000 };
+-  static uint64x2_t p2ul_CONJ_XOR = vld1q_u64( p2ul_conj_XOR_DATA );
++  static uint64x2_t p2ul_CONJ_XOR;// = vld1q_u64( p2ul_conj_XOR_DATA ); - Removed by script
+ #endif
+ 
+ struct Packet1cd
diff --git a/meta-arago-extras/recipes-support/tensorflow-lite/files/tensorflow-lite.pc.in b/meta-arago-extras/recipes-support/tensorflow-lite/files/tensorflow-lite.pc.in
new file mode 100644
index 00000000..44afd0ee
--- /dev/null
+++ b/meta-arago-extras/recipes-support/tensorflow-lite/files/tensorflow-lite.pc.in
@@ -0,0 +1,6 @@
+ Name: tensorflow lite
+ Description: tensorflow lite static library
+ Version: @version@
+ Requires:
+ Libs: -L@libdir@ -ltensorflow-lite
+ Cflags: -I@includedir@
diff --git a/meta-arago-extras/recipes-support/tensorflow-lite/tensorflow-lite_1.12.bb b/meta-arago-extras/recipes-support/tensorflow-lite/tensorflow-lite_1.12.bb
new file mode 100644
index 00000000..ebd175e1
--- /dev/null
+++ b/meta-arago-extras/recipes-support/tensorflow-lite/tensorflow-lite_1.12.bb
@@ -0,0 +1,119 @@
+DESCRIPTION = "TensorFlow's lightweight solution for mobile and embedded devices"
+AUTHOR = "Google Inc. and Yuan Tang"
+HOMEPAGE = "https://www.tensorflow.org/lite"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=01e86893010a1b87e69a213faa753ebd"
+
+MD5SUM_EIGEN = "4c884968ede816a84c70e2cd2c81de8d"
+SHA256SUM_EIGEN = "d956415d784fa4e42b6a2a45c32556d6aec9d0a3d8ef48baee2522ab762556a9"
+MD5SUM_FARMHASH = "f039a65a7f62bdb6c4b4c8a732638d80"
+SHA256SUM_FARMHASH = "6560547c63e4af82b0f202cb710ceabb3f21347a4b996db565a411da5b17aba0"
+MD5SUM_GEMMLOWP = "a90a2161ad8ee4ccf724f56e07637601"
+SHA256SUM_GEMMLOWP = "b87faa7294dfcc5d678f22a59d2c01ca94ea1e2a3b488c38a95a67889ed0a658"
+MD5SUM_GTEST = "16877098823401d1bf2ed7891d7dce36"
+SHA256SUM_GTEST = "58a6f4277ca2bc8565222b3bbd58a177609e9c488e8a72649359ba51450db7d8"
+MD5SUM_ABSLCPP = "7c9945f256d3733a8eade255afcbd072"
+SHA256SUM_ABSLCPP = "7dd09690ae7ca4551de3111d4a86b75b23ec17445f273d3c42bdcdc1c7b02e4e"
+MD5SUM_NEON2SSE = "276619db5393450c223b7c4e47e848ce"
+SHA256SUM_NEON2SSE = "8cc98e95c86d362dd6f003b35a9517a9928e3fd387b33188b0442df13245a17b"
+MD5SUM_FLATBUFFER = "3811552512049fac3af419130904bc55"
+SHA256SUM_FLATBUFFER = "b2bb0311ca40b12ebe36671bdda350b10c7728caf0cfe2d432ea3b6e409016f3"
+MD5SUM_FFT = "4255dd8a74949d123216b1ab91520469"
+SHA256SUM_FFT = "52bb637c70b971958ec79c9c8752b1df5ff0218a4db4510e60826e0cb79b5296"
+
+SRC_URI = "git://github.com/tensorflow/tensorflow.git;branch=r1.12;protocol=https \
+    https://bitbucket.org/eigen/eigen/get/fd6845384b86.tar.gz;md5sum=${MD5SUM_EIGEN};sha256sum=${SHA256SUM_EIGEN} \
+    https://mirror.bazel.build/github.com/google/gemmlowp/archive/38ebac7b059e84692f53e5938f97a9943c120d98.zip;md5sum=${MD5SUM_GEMMLOWP};sha256sum=${SHA256SUM_GEMMLOWP} \
+    https://github.com/google/googletest/archive/release-1.8.0.tar.gz;md5sum=${MD5SUM_GTEST};sha256sum=${SHA256SUM_GTEST} \
+    https://github.com/abseil/abseil-cpp/archive/48cd2c3f351ff188bc85684b84a91b6e6d17d896.tar.gz;md5sum=${MD5SUM_ABSLCPP};sha256sum=${SHA256SUM_ABSLCPP} \
+    https://github.com/intel/ARM_NEON_2_x86_SSE/archive/3057bb91b99bae9c7fbdf8710c032d462ca10051.zip;md5sum=${MD5SUM_NEON2SSE};sha256sum=${SHA256SUM_NEON2SSE} \
+    https://mirror.bazel.build/github.com/google/farmhash/archive/816a4ae622e964763ca0862d9dbd19324a1eaf45.tar.gz;md5sum=${MD5SUM_FARMHASH};sha256sum=${SHA256SUM_FARMHASH} \
+    https://github.com/google/flatbuffers/archive/1f5eae5d6a135ff6811724f6c57f911d1f46bb15.tar.gz;md5sum=${MD5SUM_FLATBUFFER};sha256sum=${SHA256SUM_FLATBUFFER} \
+    https://mirror.bazel.build/www.kurims.kyoto-u.ac.jp/~ooura/fft.tgz;md5sum=${MD5SUM_FFT};sha256sum=${SHA256SUM_FFT} \
+    file://apply-modification-for-tflite-1.12-to-eigen.patch \
+    file://tensorflow-lite.pc.in"
+
+SRCREV = "5b900cfe4b3b848f577315a0dde09a729f770e95"
+
+PR = "r1"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "zlib"
+TARGET_CFLAGS_remove = "-O2"
+TARGET_CPPLAGS_remove = "-O2"
+TARGET_CXXLAGS_remove = "-O2"
+CCFLAGS_append = " -O3 -DNDEBUG -fPIC -DGEMMLOWP_ALLOW_SLOW_SCALAR_FALLBACK \
+    -I${STAGING_INCDIR}"
+CXXFLAGS_append = " -O3 -DNDEBUG -fPIC -DGEMMLOWP_ALLOW_SLOW_SCALAR_FALLBACK \
+    -I${STAGING_INCDIR}"
+LDFLAGS_remove = "-Wl,-O1"
+CXXFLAGS_append = " -O3 -DNDEBUG -fPIC -DGEMMLOWP_ALLOW_SLOW_SCALAR_FALLBACK \
+    -I${STAGING_INCDIR}"
+LIBS = "-lstdc++ -lpthread -lm -lz -ldl"
+BUILD_DEPS_DOWNLOAD_DIR_PREFIX = "${S}/tensorflow/contrib/lite/tools/make/downloads/"
+
+do_cp_downloaded_build_deps() {
+    mkdir -p ${BUILD_DEPS_DOWNLOAD_DIR_PREFIX}eigen
+    mkdir -p ${BUILD_DEPS_DOWNLOAD_DIR_PREFIX}gemmlowp
+    mkdir -p ${BUILD_DEPS_DOWNLOAD_DIR_PREFIX}googletest
+    mkdir -p ${BUILD_DEPS_DOWNLOAD_DIR_PREFIX}absl
+    mkdir -p ${BUILD_DEPS_DOWNLOAD_DIR_PREFIX}farmhash
+    mkdir -p ${BUILD_DEPS_DOWNLOAD_DIR_PREFIX}neon_2_sse
+    mkdir -p ${BUILD_DEPS_DOWNLOAD_DIR_PREFIX}flatbuffers
+    mkdir -p ${BUILD_DEPS_DOWNLOAD_DIR_PREFIX}fft2d
+
+    cp -rf ${WORKDIR}/eigen-eigen-fd6845384b86/* ${BUILD_DEPS_DOWNLOAD_DIR_PREFIX}eigen
+    cp -rf ${WORKDIR}/gemmlowp-38ebac7b059e84692f53e5938f97a9943c120d98/* ${BUILD_DEPS_DOWNLOAD_DIR_PREFIX}gemmlowp
+    cp -rf ${WORKDIR}/googletest-release-1.8.0/* ${BUILD_DEPS_DOWNLOAD_DIR_PREFIX}googletest
+    cp -rf ${WORKDIR}/abseil-cpp-48cd2c3f351ff188bc85684b84a91b6e6d17d896/* ${BUILD_DEPS_DOWNLOAD_DIR_PREFIX}absl
+    cp -rf ${WORKDIR}/farmhash-816a4ae622e964763ca0862d9dbd19324a1eaf45/* ${BUILD_DEPS_DOWNLOAD_DIR_PREFIX}farmhash
+    cp -rf ${WORKDIR}/ARM_NEON_2_x86_SSE-3057bb91b99bae9c7fbdf8710c032d462ca10051/* ${BUILD_DEPS_DOWNLOAD_DIR_PREFIX}neon_2_sse
+    cp -rf ${WORKDIR}/flatbuffers-1f5eae5d6a135ff6811724f6c57f911d1f46bb15/* ${BUILD_DEPS_DOWNLOAD_DIR_PREFIX}flatbuffers
+    cp -rf ${WORKDIR}/fft/* ${BUILD_DEPS_DOWNLOAD_DIR_PREFIX}fft2d
+}
+addtask do_cp_downloaded_build_deps after do_unpack before do_patch
+
+EXTRA_OEMAKE = "\
+    'CC=${CC}' \
+    'CXX=${CXX}' \
+    'CPP=${CPP}' \
+    'CFLAGS=${CFLAGS}' \
+    'CPPFLAGS=${CFLAGS}' \
+    'CXXFLAGS=${CXXFLAGS}' \
+    'AR=${AR}' \
+    'LD=${LD}' \
+    'LDFLAGS=${LDFLAGS}' \
+    'LIBS=${LIBS}' \
+    'TARGET=${TARGET_OS}' \
+    'TARGET_ARCH=${TUNE_ARCH}'"
+
+do_compile() {
+    oe_runmake -f tensorflow/contrib/lite/tools/make/Makefile
+}
+
+do_install() {
+    install -d ${D}${libdir}
+    install -m 0644 ${S}/tensorflow/contrib/lite/tools/make/gen/${TARGET_OS}_${TUNE_ARCH}/lib/libtensorflow-lite.a ${D}${libdir}/
+    install -d ${D}${includedir}/tensorflow/contrib/lite
+    install -m 0644 ${S}/tensorflow/contrib/lite/*.h ${D}${includedir}/tensorflow/contrib/lite/
+    install -d ${D}${includedir}/tensorflow/contrib/lite/c
+    install -m 0644 ${S}/tensorflow/contrib/lite/c/*.h ${D}${includedir}/tensorflow/contrib/lite/c/
+    install -d ${D}${includedir}/tensorflow/contrib/lite/core/api/
+    install -m 0644 ${S}/tensorflow/contrib/lite/core/api/*.h ${D}${includedir}/tensorflow/contrib/lite/core/api/
+    install -d ${D}${includedir}/tensorflow/contrib/lite/kernels
+    install -m 0644 ${S}/tensorflow/contrib/lite/kernels/*.h ${D}${includedir}/tensorflow/contrib/lite/kernels/
+    install -d  ${D}${includedir}/tensorflow/contrib/lite/profiling/
+    install -m 0644 ${S}/tensorflow/contrib/lite/profiling/*.h ${D}${includedir}/tensorflow/contrib/lite/profiling/
+    install -d ${D}${includedir}/tensorflow/contrib/lite/schema/
+    install -m 0644 ${S}/tensorflow/contrib/lite/schema/*.h ${D}${includedir}/tensorflow/contrib/lite/schema/
+    install -d ${D}${includedir}/tensorflow/contrib/lite/tools/
+    install -m 0644 ${S}/tensorflow/contrib/lite/tools/*.h ${D}${includedir}/tensorflow/contrib/lite/tools/
+    install -d ${D}${libdir}/pkgconfig
+    install -m 0644 ${WORKDIR}/tensorflow-lite.pc.in ${D}${libdir}/pkgconfig/tensorflow-lite.pc
+    sed -i 's:@version@:${PV}:g
+        s:@libdir@:${libdir}:g
+        s:@includedir@:${includedir}:g' ${D}${libdir}/pkgconfig/tensorflow-lite.pc
+}
+
+ALLOW_EMPTY_${PN} = "1"
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v2 2/3] tensorflow-lite: install minimal and benchmark_model examples, and all .a files
  2019-08-22 20:31 [PATCH v2 0/3] Add tensorflow-lite Hongmei Gou
  2019-08-22 20:31 ` [PATCH v2 1/3] tensorflow-lite: add version 1.12 Hongmei Gou
@ 2019-08-22 20:31 ` Hongmei Gou
  2019-08-22 20:31 ` [PATCH v2 3/3] tensorflow-lite: add label_image example and install the files to run the example Hongmei Gou
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Hongmei Gou @ 2019-08-22 20:31 UTC (permalink / raw)
  To: meta-arago; +Cc: Hongmei Gou

Signed-off-by: Hongmei Gou <a0271529@ti.com>
---
 .../tensorflow-lite/tensorflow-lite_1.12.bb        | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/meta-arago-extras/recipes-support/tensorflow-lite/tensorflow-lite_1.12.bb b/meta-arago-extras/recipes-support/tensorflow-lite/tensorflow-lite_1.12.bb
index ebd175e1..38df078f 100644
--- a/meta-arago-extras/recipes-support/tensorflow-lite/tensorflow-lite_1.12.bb
+++ b/meta-arago-extras/recipes-support/tensorflow-lite/tensorflow-lite_1.12.bb
@@ -35,7 +35,7 @@ SRC_URI = "git://github.com/tensorflow/tensorflow.git;branch=r1.12;protocol=http
 
 SRCREV = "5b900cfe4b3b848f577315a0dde09a729f770e95"
 
-PR = "r1"
+PR = "r2"
 
 S = "${WORKDIR}/git"
 
@@ -94,7 +94,7 @@ do_compile() {
 
 do_install() {
     install -d ${D}${libdir}
-    install -m 0644 ${S}/tensorflow/contrib/lite/tools/make/gen/${TARGET_OS}_${TUNE_ARCH}/lib/libtensorflow-lite.a ${D}${libdir}/
+    install -m 0644 ${S}/tensorflow/contrib/lite/tools/make/gen/${TARGET_OS}_${TUNE_ARCH}/lib/*.a ${D}${libdir}/
     install -d ${D}${includedir}/tensorflow/contrib/lite
     install -m 0644 ${S}/tensorflow/contrib/lite/*.h ${D}${includedir}/tensorflow/contrib/lite/
     install -d ${D}${includedir}/tensorflow/contrib/lite/c
@@ -114,6 +114,16 @@ do_install() {
     sed -i 's:@version@:${PV}:g
         s:@libdir@:${libdir}:g
         s:@includedir@:${includedir}:g' ${D}${libdir}/pkgconfig/tensorflow-lite.pc
+    # install examples
+    install -d ${D}${datadir}/${PN}-${PV}/examples
+    install -m 0755 ${S}/tensorflow/contrib/lite/tools/make/gen/${TARGET_OS}_${TUNE_ARCH}/bin/minimal ${D}${datadir}/${PN}-${PV}/examples
+    install -m 0755 ${S}/tensorflow/contrib/lite/tools/make/gen/${TARGET_OS}_${TUNE_ARCH}/bin/benchmark_model ${D}${datadir}/${PN}-${PV}/examples
 }
 
+PACKAGES += "${PN}-examples"
+
+FILES_${PN}-examples = " \
+    ${datadir}/${PN}-${PV}/examples/minimal \
+    ${datadir}/${PN}-${PV}/examples/benchmark_model \ "
+
 ALLOW_EMPTY_${PN} = "1"
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v2 3/3] tensorflow-lite: add label_image example and install the files to run the example
  2019-08-22 20:31 [PATCH v2 0/3] Add tensorflow-lite Hongmei Gou
  2019-08-22 20:31 ` [PATCH v2 1/3] tensorflow-lite: add version 1.12 Hongmei Gou
  2019-08-22 20:31 ` [PATCH v2 2/3] tensorflow-lite: install minimal and benchmark_model examples, and all .a files Hongmei Gou
@ 2019-08-22 20:31 ` Hongmei Gou
  2019-09-03 18:37 ` [EXTERNAL] [PATCH v2 0/3] Add tensorflow-lite Jacob Stiffler
  2019-09-20 18:05 ` Jacob Stiffler
  4 siblings, 0 replies; 6+ messages in thread
From: Hongmei Gou @ 2019-08-22 20:31 UTC (permalink / raw)
  To: meta-arago; +Cc: Hongmei Gou

* Patch Makefile to add the label_image example
* Install sample model/image/labels.txt to run the example

Signed-off-by: Hongmei Gou <a0271529@ti.com>
---
 ...001-Makefile-add-label_image-example.patch | 89 +++++++++++++++++++
 .../tensorflow-lite/tensorflow-lite_1.12.bb   | 15 +++-
 2 files changed, 100 insertions(+), 4 deletions(-)
 create mode 100644 meta-arago-extras/recipes-support/tensorflow-lite/files/0001-Makefile-add-label_image-example.patch

diff --git a/meta-arago-extras/recipes-support/tensorflow-lite/files/0001-Makefile-add-label_image-example.patch b/meta-arago-extras/recipes-support/tensorflow-lite/files/0001-Makefile-add-label_image-example.patch
new file mode 100644
index 00000000..61f821e3
--- /dev/null
+++ b/meta-arago-extras/recipes-support/tensorflow-lite/files/0001-Makefile-add-label_image-example.patch
@@ -0,0 +1,89 @@
+From 87cf7e879640436f19f26e338dce6c343c19bfd8 Mon Sep 17 00:00:00 2001
+From: Hongmei Gou <a0271529@ti.com>
+Date: Wed, 21 Aug 2019 18:03:17 -0400
+Subject: [PATCH] Makefile: add label_image example
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongmei Gou <a0271529@ti.com>
+---
+ tensorflow/contrib/lite/tools/make/Makefile | 21 +++++++++++++++++++--
+ 1 file changed, 19 insertions(+), 2 deletions(-)
+
+diff --git a/tensorflow/contrib/lite/tools/make/Makefile b/tensorflow/contrib/lite/tools/make/Makefile
+index 16012a3fb1..a5e5cb3fc7 100644
+--- a/tensorflow/contrib/lite/tools/make/Makefile
++++ b/tensorflow/contrib/lite/tools/make/Makefile
+@@ -72,6 +72,11 @@ BENCHMARK_BINARY_NAME := benchmark_model
+ MINIMAL_SRCS := \
+ tensorflow/contrib/lite/examples/minimal/minimal.cc
+ 
++# label image example
++LABELIMAGE_SRCS := \
++tensorflow/contrib/lite/examples/label_image/bitmap_helpers.cc \
++tensorflow/contrib/lite/examples/label_image/label_image.cc
++
+ # What sources we want to compile, must be kept in sync with the main Bazel
+ # build files.
+ 
+@@ -108,7 +113,8 @@ $(wildcard tensorflow/contrib/lite/*/*test.cc) \
+ $(wildcard tensorflow/contrib/lite/*/*/*test.cc) \
+ $(wildcard tensorflow/contrib/lite/*/*/*/*test.cc) \
+ $(wildcard tensorflow/contrib/lite/kernels/test_util.cc) \
+-$(MINIMAL_SRCS)
++$(MINIMAL_SRCS) \
++$(LABELIMAGE_SRCS)
+ ifeq ($(BUILD_TYPE),micro)
+ CORE_CC_EXCLUDE_SRCS += \
+ tensorflow/contrib/lite/mmap_allocation.cc \
+@@ -135,6 +141,7 @@ include $(wildcard $(MAKEFILE_DIR)/targets/*_makefile.inc)
+ 
+ ALL_SRCS := \
+ 	$(MINIMAL_SRCS) \
++	$(LABELIMAGE_SRCS) \
+ 	$(PROFILER_SRCS) \
+ 	$(PROFILER_SUMMARY_SRCS) \
+ 	$(TF_LITE_CC_SRCS) \
+@@ -150,6 +157,7 @@ LIB_PATH := $(LIBDIR)$(LIB_NAME)
+ BENCHMARK_LIB := $(LIBDIR)$(BENCHMARK_LIB_NAME)
+ BENCHMARK_BINARY := $(BINDIR)$(BENCHMARK_BINARY_NAME)
+ MINIMAL_BINARY := $(BINDIR)minimal
++LABELIMAGE_BINARY := $(BINDIR)label_image
+ 
+ CXX := $(CC_PREFIX)${TARGET_TOOLCHAIN_PREFIX}g++
+ CC := $(CC_PREFIX)${TARGET_TOOLCHAIN_PREFIX}gcc
+@@ -158,6 +166,9 @@ AR := $(CC_PREFIX)${TARGET_TOOLCHAIN_PREFIX}ar
+ MINIMAL_OBJS := $(addprefix $(OBJDIR), \
+ $(patsubst %.cc,%.o,$(patsubst %.c,%.o,$(MINIMAL_SRCS))))
+ 
++LABELIMAGE_OBJS := $(addprefix $(OBJDIR), \
++$(patsubst %.cc,%.o,$(patsubst %.c,%.o,$(LABELIMAGE_SRCS))))
++
+ LIB_OBJS := $(addprefix $(OBJDIR), \
+ $(patsubst %.cc,%.o,$(patsubst %.c,%.o,$(TF_LITE_CC_SRCS))))
+ 
+@@ -174,7 +185,7 @@ $(OBJDIR)%.o: %.c
+ 	$(CC) $(CCFLAGS) $(INCLUDES) -c $< -o $@
+ 
+ # The target that's compiled if there's no command-line arguments.
+-all: $(LIB_PATH)  $(MINIMAL_BINARY) $(BENCHMARK_BINARY)
++all: $(LIB_PATH)  $(MINIMAL_BINARY) $(LABELIMAGE_BINARY) $(BENCHMARK_BINARY)
+ 
+ # The target that's compiled for micro-controllers
+ micro: $(LIB_PATH)
+@@ -198,6 +209,12 @@ $(BENCHMARK_LIB) : $(LIB_PATH) $(BENCHMARK_OBJS)
+ 	@mkdir -p $(dir $@)
+ 	$(AR) $(ARFLAGS) $(BENCHMARK_LIB) $(LIB_OBJS) $(BENCHMARK_OBJS)
+ 
++$(LABELIMAGE_BINARY): $(LABELIMAGE_OBJS) $(LIB_PATH)
++	@mkdir -p $(dir $@)
++	$(CXX) $(CXXFLAGS) $(INCLUDES) \
++	-o $(LABELIMAGE_BINARY) $(LABELIMAGE_OBJS) \
++	$(LIBFLAGS) $(LIB_PATH) $(LDFLAGS) $(LIBS)
++
+ benchmark_lib: $(BENCHMARK_LIB)
+ 
+ $(BENCHMARK_BINARY) : $(BENCHMARK_LIB)
+-- 
+2.17.1
+
diff --git a/meta-arago-extras/recipes-support/tensorflow-lite/tensorflow-lite_1.12.bb b/meta-arago-extras/recipes-support/tensorflow-lite/tensorflow-lite_1.12.bb
index 38df078f..b393f7eb 100644
--- a/meta-arago-extras/recipes-support/tensorflow-lite/tensorflow-lite_1.12.bb
+++ b/meta-arago-extras/recipes-support/tensorflow-lite/tensorflow-lite_1.12.bb
@@ -30,12 +30,17 @@ SRC_URI = "git://github.com/tensorflow/tensorflow.git;branch=r1.12;protocol=http
     https://mirror.bazel.build/github.com/google/farmhash/archive/816a4ae622e964763ca0862d9dbd19324a1eaf45.tar.gz;md5sum=${MD5SUM_FARMHASH};sha256sum=${SHA256SUM_FARMHASH} \
     https://github.com/google/flatbuffers/archive/1f5eae5d6a135ff6811724f6c57f911d1f46bb15.tar.gz;md5sum=${MD5SUM_FLATBUFFER};sha256sum=${SHA256SUM_FLATBUFFER} \
     https://mirror.bazel.build/www.kurims.kyoto-u.ac.jp/~ooura/fft.tgz;md5sum=${MD5SUM_FFT};sha256sum=${SHA256SUM_FFT} \
+    http://download.tensorflow.org/models/mobilenet_v1_2018_08_02/mobilenet_v1_1.0_224_quant.tgz;name=mobilenet_v1_quant;subdir=${WORKDIR}/model;destsuffix=model \
     file://apply-modification-for-tflite-1.12-to-eigen.patch \
+    file://0001-Makefile-add-label_image-example.patch \
     file://tensorflow-lite.pc.in"
 
+SRC_URI[mobilenet_v1_quant.md5sum] = "36af340c00e60291931cb30ce32d4e86"
+SRC_URI[mobilenet_v1_quant.sha256sum] = "d32432d28673a936b2d6281ab0600c71cf7226dfe4cdcef3012555f691744166"
+
 SRCREV = "5b900cfe4b3b848f577315a0dde09a729f770e95"
 
-PR = "r2"
+PR = "r3"
 
 S = "${WORKDIR}/git"
 
@@ -118,12 +123,14 @@ do_install() {
     install -d ${D}${datadir}/${PN}-${PV}/examples
     install -m 0755 ${S}/tensorflow/contrib/lite/tools/make/gen/${TARGET_OS}_${TUNE_ARCH}/bin/minimal ${D}${datadir}/${PN}-${PV}/examples
     install -m 0755 ${S}/tensorflow/contrib/lite/tools/make/gen/${TARGET_OS}_${TUNE_ARCH}/bin/benchmark_model ${D}${datadir}/${PN}-${PV}/examples
+    install -m 0755 ${S}/tensorflow/contrib/lite/tools/make/gen/${TARGET_OS}_${TUNE_ARCH}/bin/label_image ${D}${datadir}/${PN}-${PV}/examples
+    install -m 0644 ${S}/tensorflow/contrib/lite/examples/label_image/testdata/grace_hopper.bmp ${D}${datadir}/${PN}-${PV}/examples
+    install -m 0644 ${S}/tensorflow/contrib/lite/java/ovic/src/testdata/labels.txt ${D}${datadir}/${PN}-${PV}/examples
+    install -m 0644 ${WORKDIR}/model/mobilenet_v1_1.0_224_quant.tflite ${D}${datadir}/${PN}-${PV}/examples
 }
 
 PACKAGES += "${PN}-examples"
 
-FILES_${PN}-examples = " \
-    ${datadir}/${PN}-${PV}/examples/minimal \
-    ${datadir}/${PN}-${PV}/examples/benchmark_model \ "
+FILES_${PN}-examples = "${datadir}/${PN}-${PV}/examples"
 
 ALLOW_EMPTY_${PN} = "1"
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [EXTERNAL] [PATCH v2 0/3] Add tensorflow-lite
  2019-08-22 20:31 [PATCH v2 0/3] Add tensorflow-lite Hongmei Gou
                   ` (2 preceding siblings ...)
  2019-08-22 20:31 ` [PATCH v2 3/3] tensorflow-lite: add label_image example and install the files to run the example Hongmei Gou
@ 2019-09-03 18:37 ` Jacob Stiffler
  2019-09-20 18:05 ` Jacob Stiffler
  4 siblings, 0 replies; 6+ messages in thread
From: Jacob Stiffler @ 2019-09-03 18:37 UTC (permalink / raw)
  To: Hongmei Gou, meta-arago

ACK

Acked-by: Jacob Stiffler <j-stiffler@ti.com>

On 8/22/2019 4:31 PM, Hongmei Gou wrote:
> This patch set starts from the baseline recipe at
> https://github.com/nnsuite/meta-neural-network/tree/master/recipes-tensorflow/tensorflow-lite,
>
> The major changes are listed below:
>
> 1. Made some cleanup for the baseline recipes, such as updating NEON2SSE and replacing AUTOREV
>
> 2. Installed minimal and benchmark_model binaries which have been built with the original Makefile
>
> 3. Patched Makefile to add label_image and installed the example binary and files
>     (model/image/labels.txt) needed to run the example
>
> v2 change:
> Keep the dependencies in the original single recipe, instead of creating separate recipes
> for all the dependencies
>
> Hongmei Gou (3):
>    tensorflow-lite: add version 1.12
>    tensorflow-lite: install minimal and benchmark_model examples, and all
>      .a files
>    tensorflow-lite: add label_image example and install the files to run
>      the example
>
>   ...001-Makefile-add-label_image-example.patch |  89 ++++++++++++
>   ...odification-for-tflite-1.12-to-eigen.patch |  13 ++
>   .../files/tensorflow-lite.pc.in               |   6 +
>   .../tensorflow-lite/tensorflow-lite_1.12.bb   | 136 ++++++++++++++++++
>   4 files changed, 244 insertions(+)
>   create mode 100644 meta-arago-extras/recipes-support/tensorflow-lite/files/0001-Makefile-add-label_image-example.patch
>   create mode 100644 meta-arago-extras/recipes-support/tensorflow-lite/files/apply-modification-for-tflite-1.12-to-eigen.patch
>   create mode 100644 meta-arago-extras/recipes-support/tensorflow-lite/files/tensorflow-lite.pc.in
>   create mode 100644 meta-arago-extras/recipes-support/tensorflow-lite/tensorflow-lite_1.12.bb
>


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [EXTERNAL] [PATCH v2 0/3] Add tensorflow-lite
  2019-08-22 20:31 [PATCH v2 0/3] Add tensorflow-lite Hongmei Gou
                   ` (3 preceding siblings ...)
  2019-09-03 18:37 ` [EXTERNAL] [PATCH v2 0/3] Add tensorflow-lite Jacob Stiffler
@ 2019-09-20 18:05 ` Jacob Stiffler
  4 siblings, 0 replies; 6+ messages in thread
From: Jacob Stiffler @ 2019-09-20 18:05 UTC (permalink / raw)
  To: Hongmei Gou, meta-arago

Denys,

Please backport these to ti2019.03.


Thank you,

Jake


On 8/22/2019 4:31 PM, Hongmei Gou wrote:
> This patch set starts from the baseline recipe at
> https://github.com/nnsuite/meta-neural-network/tree/master/recipes-tensorflow/tensorflow-lite,
>
> The major changes are listed below:
>
> 1. Made some cleanup for the baseline recipes, such as updating NEON2SSE and replacing AUTOREV
>
> 2. Installed minimal and benchmark_model binaries which have been built with the original Makefile
>
> 3. Patched Makefile to add label_image and installed the example binary and files
>     (model/image/labels.txt) needed to run the example
>
> v2 change:
> Keep the dependencies in the original single recipe, instead of creating separate recipes
> for all the dependencies
>
> Hongmei Gou (3):
>    tensorflow-lite: add version 1.12
>    tensorflow-lite: install minimal and benchmark_model examples, and all
>      .a files
>    tensorflow-lite: add label_image example and install the files to run
>      the example
>
>   ...001-Makefile-add-label_image-example.patch |  89 ++++++++++++
>   ...odification-for-tflite-1.12-to-eigen.patch |  13 ++
>   .../files/tensorflow-lite.pc.in               |   6 +
>   .../tensorflow-lite/tensorflow-lite_1.12.bb   | 136 ++++++++++++++++++
>   4 files changed, 244 insertions(+)
>   create mode 100644 meta-arago-extras/recipes-support/tensorflow-lite/files/0001-Makefile-add-label_image-example.patch
>   create mode 100644 meta-arago-extras/recipes-support/tensorflow-lite/files/apply-modification-for-tflite-1.12-to-eigen.patch
>   create mode 100644 meta-arago-extras/recipes-support/tensorflow-lite/files/tensorflow-lite.pc.in
>   create mode 100644 meta-arago-extras/recipes-support/tensorflow-lite/tensorflow-lite_1.12.bb
>


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2019-09-20 18:06 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-22 20:31 [PATCH v2 0/3] Add tensorflow-lite Hongmei Gou
2019-08-22 20:31 ` [PATCH v2 1/3] tensorflow-lite: add version 1.12 Hongmei Gou
2019-08-22 20:31 ` [PATCH v2 2/3] tensorflow-lite: install minimal and benchmark_model examples, and all .a files Hongmei Gou
2019-08-22 20:31 ` [PATCH v2 3/3] tensorflow-lite: add label_image example and install the files to run the example Hongmei Gou
2019-09-03 18:37 ` [EXTERNAL] [PATCH v2 0/3] Add tensorflow-lite Jacob Stiffler
2019-09-20 18:05 ` Jacob Stiffler

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.