Git Product home page Git Product logo

Comments (4)

jenselofsson avatar jenselofsson commented on June 17, 2024

The problem seems to be a bit more complex than the proposed solution. If I run the script tensorflow/lite/micro/tools/ci_build/test_all.sh, the Arduino build fails with the following errors:

/tmp/tflite-arduino-build/libraries/tensorflow_lite/tensorflow/lite/micro/all_ops_resolver.cpp.o: In function `tflite::AllOpsResolver::AllOpsResolver()':
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:118: undefined reference to `tflite::ops::micro::Register_ABS()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:123: undefined reference to `tflite::ops::micro::Register_ADD()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:128: undefined reference to `tflite::Register_ADD_N()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:134: undefined reference to `tflite::ops::micro::Register_ARG_MAX()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:139: undefined reference to `tflite::ops::micro::Register_ARG_MIN()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:144: undefined reference to `tflite::Register_AVERAGE_POOL_2D()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:149: undefined reference to `tflite::Register_BATCH_TO_SPACE_ND()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:157: undefined reference to `tflite::ops::micro::Register_CEIL()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:168: undefined reference to `tflite::ops::micro::Register_CONCATENATION()'
/tmp/tflite-arduino-build/libraries/tensorflow_lite/tensorflow/lite/micro/all_ops_resolver.cpp.o: In function `tflite::AllOpsResolver::AllOpsResolver()':
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:173: undefined reference to `tflite::Register_CONV_2D()'
/tmp/tflite-arduino-build/libraries/tensorflow_lite/tensorflow/lite/micro/all_ops_resolver.cpp.o: In function `tflite::AllOpsResolver::AllOpsResolver()':
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:178: undefined reference to `tflite::ops::micro::Register_COS()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:183: undefined reference to `tflite::Register_CUMSUM()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:189: undefined reference to `tflite::Register_DEPTH_TO_SPACE()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:194: undefined reference to `tflite::Register_DEPTHWISE_CONV_2D()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:199: undefined reference to `tflite::ops::micro::Register_DEQUANTIZE()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:204: undefined reference to `tflite::Register_DETECTION_POSTPROCESS()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:209: undefined reference to `tflite::Register_ELU()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:214: undefined reference to `tflite::ops::micro::Register_EQUAL()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:218: undefined reference to `tflite::Register_ETHOSU()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:220: undefined reference to `tflite::GetString_ETHOSU()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:240: undefined reference to `tflite::ops::micro::Register_FLOOR()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:244: undefined reference to `tflite::Register_FLOOR_DIV()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:249: undefined reference to `tflite::Register_FLOOR_MOD()'
/tmp/tflite-arduino-build/libraries/tensorflow_lite/tensorflow/lite/micro/all_ops_resolver.cpp.o: In function `tflite::AllOpsResolver::AllOpsResolver()':
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:254: undefined reference to `tflite::Register_FULLY_CONNECTED()'
/tmp/tflite-arduino-build/libraries/tensorflow_lite/tensorflow/lite/micro/all_ops_resolver.cpp.o: In function `tflite::AllOpsResolver::AllOpsResolver()':
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:271: undefined reference to `tflite::ops::micro::Register_GREATER()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:276: undefined reference to `tflite::ops::micro::Register_GREATER_EQUAL()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:282: undefined reference to `tflite::ops::micro::Register_HARD_SWISH()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:292: undefined reference to `tflite::ops::micro::Register_L2_NORMALIZATION()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:297: undefined reference to `tflite::Register_L2_POOL_2D()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:302: undefined reference to `tflite::Register_LEAKY_RELU()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:307: undefined reference to `tflite::ops::micro::Register_LESS()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:313: undefined reference to `tflite::ops::micro::Register_LESS_EQUAL()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:318: undefined reference to `tflite::ops::micro::Register_LOG()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:324: undefined reference to `tflite::ops::micro::Register_LOGICAL_AND()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:330: undefined reference to `tflite::ops::micro::Register_LOGICAL_NOT()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:336: undefined reference to `tflite::ops::micro::Register_LOGICAL_OR()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:342: undefined reference to `tflite::ops::micro::Register_LOGISTIC()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:352: undefined reference to `tflite::Register_MAX_POOL_2D()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:347: undefined reference to `tflite::ops::micro::Register_MAXIMUM()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:356: undefined reference to `tflite::ops::micro::Register_MEAN()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:362: undefined reference to `tflite::ops::micro::Register_MINIMUM()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:366: undefined reference to `tflite::ops::micro::Register_MUL()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:371: undefined reference to `tflite::ops::micro::Register_NEG()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:377: undefined reference to `tflite::ops::micro::Register_NOT_EQUAL()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:381: undefined reference to `tflite::ops::micro::Register_PACK()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:386: undefined reference to `tflite::ops::micro::Register_PAD()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:392: undefined reference to `tflite::ops::micro::Register_PADV2()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:397: undefined reference to `tflite::ops::micro::Register_PRELU()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:401: undefined reference to `tflite::Register_QUANTIZE()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:407: undefined reference to `tflite::ops::micro::Register_REDUCE_MAX()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:411: undefined reference to `tflite::ops::micro::Register_RELU()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:417: undefined reference to `tflite::ops::micro::Register_RELU6()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:422: undefined reference to `tflite::ops::micro::Register_RESHAPE()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:427: undefined reference to `tflite::Register_RESIZE_BILINEAR()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:432: undefined reference to `tflite::ops::micro::Register_RESIZE_NEAREST_NEIGHBOR()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:438: undefined reference to `tflite::ops::micro::Register_ROUND()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:443: undefined reference to `tflite::ops::micro::Register_RSQRT()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:447: undefined reference to `tflite::Register_SHAPE()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:451: undefined reference to `tflite::ops::micro::Register_SIN()'
/tmp/tflite-arduino-build/libraries/tensorflow_lite/tensorflow/lite/micro/all_ops_resolver.cpp.o: In function `tflite::AllOpsResolver::AllOpsResolver()':
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:456: undefined reference to `tflite::Register_SOFTMAX()'
/tmp/tflite-arduino-build/libraries/tensorflow_lite/tensorflow/lite/micro/all_ops_resolver.cpp.o: In function `tflite::AllOpsResolver::AllOpsResolver()':
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:462: undefined reference to `tflite::Register_SPACE_TO_BATCH_ND()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:466: undefined reference to `tflite::Register_SPACE_TO_DEPTH()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:472: undefined reference to `tflite::ops::micro::Register_SPLIT()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:477: undefined reference to `tflite::ops::micro::Register_SPLIT_V()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:486: undefined reference to `tflite::ops::micro::Register_SQRT()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:492: undefined reference to `tflite::ops::micro::Register_SQUARE()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:481: undefined reference to `tflite::Register_SQUEEZE()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:497: undefined reference to `tflite::ops::micro::Register_STRIDED_SLICE()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:502: undefined reference to `tflite::ops::micro::Register_SUB()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:507: undefined reference to `tflite::Register_SVDF()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:511: undefined reference to `tflite::ops::micro::Register_TANH()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:517: undefined reference to `tflite::Register_TRANSPOSE_CONV()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:521: undefined reference to `tflite::Register_TRANSPOSE()'
/home/username/Arduino/libraries/tensorflow_lite/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:527: undefined reference to `tflite::ops::micro::Register_UNPACK()'
collect2: error: ld returned 1 exit status
Multiple libraries were found for "TensorFlowLite.h"
 Used: /home/username/Arduino/libraries/tensorflow_lite
Error: build failed: exit status 1
Error during build
Cleaning up to prevent Kokoro errors (see http://b/186570469)
find: ‘../google/’: No such file or directory
rm -rf tensorflow/lite/micro/tools/make/gen
rm -rf tensorflow/lite/micro/tools/make/downloads

from tflite-micro.

advaitjain avatar advaitjain commented on June 17, 2024

Thanks for creating the issue. We'll look into this.

from tflite-micro.

njeffrie avatar njeffrie commented on June 17, 2024

Looks like an error on my part during the Makefile source refactor. Your change plus adding MICROLITE_CC_KERNEL_SRCS to ALL_SRCS (Makefile line 614) appears to fix the issue.

from tflite-micro.

jenselofsson avatar jenselofsson commented on June 17, 2024

The issue seems to persist even with those changes (if I ran the github actions correctly, it's the first time I tried):
https://github.com/jenselofsson/tflite-micro/runs/3018202702?check_suite_focus=true

I tried looking around in the test scripts and in the Makefile to see if I could spot if anything is needed particularly related to Arduino, but i couldn't find anything obvious (although I'm not too experienced with how the Arduino build system works).

For simplicities sake I'll submit a PR to tensorflow/tflite-micro instead of my fork.

from tflite-micro.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.