* Patch Makefile to add the label_image example * Install sample model/image/labels.txt to run the example
Signed-off-by: Hongmei Gou <[email protected]> --- v2 change: set INHIBIT_PACKAGE_DEBUG_SPLIT to 1 ...001-Makefile-add-label_image-example.patch | 89 +++++++++++++++++++ .../tensorflow-lite/tensorflow-lite_1.12.bb | 17 +++- 2 files changed, 102 insertions(+), 4 deletions(-) create mode 100644 recipes-support/tensorflow-lite/files/0001-Makefile-add-label_image-example.patch diff --git a/recipes-support/tensorflow-lite/files/0001-Makefile-add-label_image-example.patch b/recipes-support/tensorflow-lite/files/0001-Makefile-add-label_image-example.patch new file mode 100644 index 0000000..61f821e --- /dev/null +++ b/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 <[email protected]> +Date: Wed, 21 Aug 2019 18:03:17 -0400 +Subject: [PATCH] Makefile: add label_image example + +Upstream-Status: Pending + +Signed-off-by: Hongmei Gou <[email protected]> +--- + 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/recipes-support/tensorflow-lite/tensorflow-lite_1.12.bb b/recipes-support/tensorflow-lite/tensorflow-lite_1.12.bb index 38df078..205977c 100644 --- a/recipes-support/tensorflow-lite/tensorflow-lite_1.12.bb +++ b/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,16 @@ 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" + +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" ALLOW_EMPTY_${PN} = "1" -- 2.17.1 _______________________________________________ meta-arago mailing list [email protected] http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago
