'Unable to run tensorflow lite on ESP32 and Arduino Due both are 32 bits microcontrollers
I got two microcontrollers, one ESP32 and one Arduino DUE R3, both has an architecture of 32 bits and should be able to run a tensorflow lite model, however I tested this two boards and I'm getting the same problem: This:
from C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src\tensorflow\lite\experimental\micro\tools\make\downloads\kissfft\kiss_fft.c:16:
C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/kissfft/kiss_fft.h:48:27: error: unknown type name 'int16_t'
# define kiss_fft_scalar int16_t
error: unknown type name 'int16_t'
And this is the complete output errors:
In file included from C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/kissfft/_kiss_fft_guts.h:19:0,
from C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src\tensorflow\lite\experimental\micro\tools\make\downloads\kissfft\kiss_fft.c:16:
C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/kissfft/kiss_fft.h:48:27: error: unknown type name 'int16_t'
# define kiss_fft_scalar int16_t
^
C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/kissfft/kiss_fft.h:58:5: note: in expansion of macro 'kiss_fft_scalar'
kiss_fft_scalar r;
^
C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/kissfft/kiss_fft.h:48:27: error: unknown type name 'int16_t'
# define kiss_fft_scalar int16_t
^
C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/kissfft/kiss_fft.h:59:5: note: in expansion of macro 'kiss_fft_scalar'
kiss_fft_scalar i;
^
C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src\tensorflow\lite\experimental\micro\tools\make\downloads\kissfft\kiss_fft.c: In function 'kf_bfly2':
C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/kissfft/kiss_fft.h:48:27: error: 'int16_t' undeclared (first use in this function)
# define kiss_fft_scalar int16_t
^
C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/kissfft/_kiss_fft_guts.h:65:26: note: in expansion of macro 'kiss_fft_scalar'
# define sround( x ) (kiss_fft_scalar)( ( (x) + (1<<(FRACBITS-1)) ) >> FRACBITS )
^
C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/kissfft/_kiss_fft_guts.h:74:8: note: in expansion of macro 'sround'
(x) = sround( smul( x, SAMP_MAX/k ) )
^
C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/kissfft/_kiss_fft_guts.h:77:10: note: in expansion of macro 'DIVSCALAR'
do { DIVSCALAR( (c).r , div); \
^
C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src\tensorflow\lite\experimental\micro\tools\make\downloads\kissfft\kiss_fft.c:33:9: note: in expansion of macro 'C_FIXDIV'
C_FIXDIV(*Fout,2); C_FIXDIV(*Fout2,2);
^
C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/kissfft/kiss_fft.h:48:27: note: each undeclared identifier is reported only once for each function it appears in
# define kiss_fft_scalar int16_t
^
C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/kissfft/_kiss_fft_guts.h:65:26: note: in expansion of macro 'kiss_fft_scalar'
# define sround( x ) (kiss_fft_scalar)( ( (x) + (1<<(FRACBITS-1)) ) >> FRACBITS )
^
C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/kissfft/_kiss_fft_guts.h:74:8: note: in expansion of macro 'sround'
(x) = sround( smul( x, SAMP_MAX/k ) )
^
C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/kissfft/_kiss_fft_guts.h:77:10: note: in expansion of macro 'DIVSCALAR'
do { DIVSCALAR( (c).r , div); \
^
C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src\tensorflow\lite\experimental\micro\tools\make\downloads\kissfft\kiss_fft.c:33:9: note: in expansion of macro 'C_FIXDIV'
C_FIXDIV(*Fout,2); C_FIXDIV(*Fout2,2);
^
In file included from C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src\tensorflow\lite\experimental\micro\tools\make\downloads\kissfft\kiss_fft.c:16:0:
C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/kissfft/_kiss_fft_guts.h:51:19: error: 'int32_t' undeclared (first use in this function)
# define SAMPPROD int32_t
^
C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/kissfft/_kiss_fft_guts.h:65:47: note: in definition of macro 'sround'
# define sround( x ) (kiss_fft_scalar)( ( (x) + (1<<(FRACBITS-1)) ) >> FRACBITS )
^
C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/kissfft/_kiss_fft_guts.h:64:25: note: in expansion of macro 'SAMPPROD'
# define smul(a,b) ( (SAMPPROD)(a)*(b) )
^
C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/kissfft/_kiss_fft_guts.h:74:16: note: in expansion of macro 'smul'
(x) = sround( smul( x, SAMP_MAX/k ) )
^
C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/kissfft/_kiss_fft_guts.h:77:10: note: in expansion of macro 'DIVSCALAR'
do { DIVSCALAR( (c).r , div); \
^
C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src\tensorflow\lite\experimental\micro\tools\make\downloads\kissfft\kiss_fft.c:33:9: note: in expansion of macro 'C_FIXDIV'
C_FIXDIV(*Fout,2); C_FIXDIV(*Fout2,2);
^
In file included from C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/kissfft/_kiss_fft_guts.h:19:0,
from C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src\tensorflow\lite\experimental\micro\tools\make\downloads\kissfft\kiss_fft.c:16:
C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src\tensorflow\lite\experimental\micro\tools\make\downloads\kissfft\kiss_fft.c: In function 'kf_bfly4':
C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/kissfft/kiss_fft.h:48:27: error: 'int16_t' undeclared (first use in this function)
# define kiss_fft_scalar int16_t
^
C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/kissfft/_kiss_fft_guts.h:65:26: note: in expansion of macro 'kiss_fft_scalar'
# define sround( x ) (kiss_fft_scalar)( ( (x) + (1<<(FRACBITS-1)) ) >> FRACBITS )
^
C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/kissfft/_kiss_fft_guts.h:74:8: note: in expansion of macro 'sround'
(x) = sround( smul( x, SAMP_MAX/k ) )
^
C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/kissfft/_kiss_fft_guts.h:77:10: note: in expansion of macro 'DIVSCALAR'
do { DIVSCALAR( (c).r , div); \
^
C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src\tensorflow\lite\experimental\micro\tools\make\downloads\kissfft\kiss_fft.c:61:9: note: in expansion of macro 'C_FIXDIV'
C_FIXDIV(*Fout,4); C_FIXDIV(Fout[m],4); C_FIXDIV(Fout[m2],4); C_FIXDIV(Fout[m3],4);
^
In file included from C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src\tensorflow\lite\experimental\micro\tools\make\downloads\kissfft\kiss_fft.c:16:0:
C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/kissfft/_kiss_fft_guts.h:51:19: error: 'int32_t' undeclared (first use in this function)
# define SAMPPROD int32_t
^
C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/kissfft/_kiss_fft_guts.h:65:47: note: in definition of macro 'sround'
# define sround( x ) (kiss_fft_scalar)( ( (x) + (1<<(FRACBITS-1)) ) >> FRACBITS )
^
C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/kissfft/_kiss_fft_guts.h:64:25: note: in expansion of macro 'SAMPPROD'
# define smul(a,b) ( (SAMPPROD)(a)*(b) )
^
C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/kissfft/_kiss_fft_guts.h:74:16: note: in expansion of macro 'smul'
(x) = sround( smul( x, SAMP_MAX/k ) )
^
C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/kissfft/_kiss_fft_guts.h:77:10: note: in expansion of macro 'DIVSCALAR'
do { DIVSCALAR( (c).r , div); \
^
C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src\tensorflow\lite\experimental\micro\tools\make\downloads\kissfft\kiss_fft.c:61:9: note: in expansion of macro 'C_FIXDIV'
C_FIXDIV(*Fout,4); C_FIXDIV(Fout[m],4); C_FIXDIV(Fout[m2],4); C_FIXDIV(Fout[m3],4);
^
In file included from C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/kissfft/_kiss_fft_guts.h:19:0,
from C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src\tensorflow\lite\experimental\micro\tools\make\downloads\kissfft\kiss_fft.c:16:
C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src\tensorflow\lite\experimental\micro\tools\make\downloads\kissfft\kiss_fft.c: In function 'kf_bfly3':
C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/kissfft/kiss_fft.h:48:27: error: 'int16_t' undeclared (first use in this function)
# define kiss_fft_scalar int16_t
^
C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/kissfft/_kiss_fft_guts.h:65:26: note: in expansion of macro 'kiss_fft_scalar'
# define sround( x ) (kiss_fft_scalar)( ( (x) + (1<<(FRACBITS-1)) ) >> FRACBITS )
^
C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/kissfft/_kiss_fft_guts.h:74:8: note: in expansion of macro 'sround'
(x) = sround( smul( x, SAMP_MAX/k ) )
^
C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/kissfft/_kiss_fft_guts.h:77:10: note: in expansion of macro 'DIVSCALAR'
do { DIVSCALAR( (c).r , div); \
^
C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src\tensorflow\lite\experimental\micro\tools\make\downloads\kissfft\kiss_fft.c:109:10: note: in expansion of macro 'C_FIXDIV'
C_FIXDIV(*Fout,3); C_FIXDIV(Fout[m],3); C_FIXDIV(Fout[m2],3);
^
In file included from C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src\tensorflow\lite\experimental\micro\tools\make\downloads\kissfft\kiss_fft.c:16:0:
C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/kissfft/_kiss_fft_guts.h:51:19: error: 'int32_t' undeclared (first use in this function)
# define SAMPPROD int32_t
^
C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/kissfft/_kiss_fft_guts.h:65:47: note: in definition of macro 'sround'
# define sround( x ) (kiss_fft_scalar)( ( (x) + (1<<(FRACBITS-1)) ) >> FRACBITS )
^
C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/kissfft/_kiss_fft_guts.h:64:25: note: in expansion of macro 'SAMPPROD'
# define smul(a,b) ( (SAMPPROD)(a)*(b) )
^
C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/kissfft/_kiss_fft_guts.h:74:16: note: in expansion of macro 'smul'
(x) = sround( smul( x, SAMP_MAX/k ) )
^
C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/kissfft/_kiss_fft_guts.h:77:10: note: in expansion of macro 'DIVSCALAR'
do { DIVSCALAR( (c).r , div); \
^
C:\Users\freddydev\Documents\Arduino\libraries\Arduino_TensorFlowLite\src\tensorflow\lite\experimental\micro\tools\make\downloads\kissfft\kiss_fft.c:109:10: note: in expansion of macro 'C_FIXDIV'
C_FIXDIV(*Fout,3); C_FIXDIV(Fout[m],3); C_FIXDIV(Fout[m2],3);
......
And more errors were comming out.
Really I don't know why I can't run basic examples on this two boards, supposedly this ara capable of run it due his power. I found evidences that this could be possible like this https://www.youtube.com/watch?v=kZdIO82059E
I don't have one Arduino nano 33 ble sense to try to compile again this examples. I just installed the tensorflow lite library versions 1.14.0-alpha, 1.15.0-alpha and the latest versions and it doesn't worke properly.
Please guys help me to fix this problem, I will appreciate it. Thanks so much.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|