The kernel and unit test list is going to be smaller (and have all the
code and CI be part of the TFLM repo).
The examples list is expected to grow and will be maintained external to
the TFLM repository as described in #407.
BUG=#407
* LSTM : code refactor and cleanup.
BUG= microspeech model with lstm op on HiFi5 DSP
* removed unused floating point function call.
* clang-format
Co-authored-by: Advait Jain <advaitjain@users.noreply.github.com>
Co-authored-by: Advait Jain <advaitjain@google.com>
* REF_CODE_REFACTOR: Add, Mul and Sub
Refactoring the reference code for Add, Mul and Sub operators.
BUG=refactoring existing code.
* Small updates, and fix CMSIS build.
* Fix the build
* Fix cmsis_nn kernels.
Co-authored-by: Advait Jain <advaitjain@google.com>
* Add option to provide an external CMSIS-NN lib
* Update CMSIS-NN README with new Mbed build instruction
Co-authored-by: Advait Jain <advaitjain@users.noreply.github.com>
* Wrap 16-bit Kiss FFT in a C++ namespace
This will enable us to support multiple copies of Kiss FFT for different
resolutions within the same application without running into linker
errors.
BUG=200737980
* Fix Bazel build by upgrading kissfft version to a version that has proper inclusion guards.
For Make build, where the include guards are patched in, change the
guards to a canonical format.
* missing header file and fix namespace wrapper.
* Sub extern C with extern C++ instead of undef-ing __cplusplus, which broke standard headers.
* Stop building kiss_fft source file. Instead, they are included in type-specific namespace wrappers
* Remove Kiss FFT source files from project generation makefile and consider kiss FFT .c files as headers
Co-authored-by: Advait Jain <advaitjain@users.noreply.github.com>
Manually tested that the following command:
```
python tensorflow/lite/micro/tools/project_generation/create_tflm_tree.py --makefile_options="TARGET=xtensa OPTIMIZED_KERNEL_DIR=xtensa TARGET_ARCH=hifi4 XTENSA_CORE=F1_190305_swupgrade" /tmp/tflm-xtensa
```
results in an output tree that has the header files for xa_nnlib as well
as the headers in tensorflow/micro/kernels/xtensa.
We are currently in the prototyping stage for http://b/194200306 so this
change does not include any CI for Xtensa + project generation.
BUG=http://b/194200306
* Add a hexagon build presubmit
Also update Hexagon Docker file
* Add a todo for to enable unit test for hexagon
Co-authored-by: Advait Jain <advaitjain@users.noreply.github.com>
* lstm:xtensa:update colab link and model.zip
BUG=cleanup
* small updates to the documentation.
Co-authored-by: Advait Jain <advaitjain@google.com>
Co-authored-by: Advait Jain <advaitjain@users.noreply.github.com>
The current PR takes the changes from
https://github.com/tensorflow/tflite-micro/pull/139 and applies them to
the refactored pooling kernels to increase the shared code between the
reference and optimized kernels.
BUG=#325
Co-authored-by: Nat Jeffries <natmjeffries@gmail.com>
* we now accept a lot more types of contributions and have improved the documentation.
* add link to the kernel porting guide from the readme.
* small updates to the op porting guide.
* lstm:training micro speech lstm model
Signed-off-by: Niranjan Yadla <nyadla@cadence.com>
* Updated Makefile.inc
* Removed files that should not be needed
* The model file is directly committed into the repository (and converted
to model.cc and model.h during the Makefile build)
* So, we do not need model.zip in the train folder and we do not need
model.cc and model.h either.
* We do need bazel support for this example (removed the BUILD file).
Also, chmod -x for some of the files.
* Remove unnecessary maxdepth parameter.
* ADD LICENSE file
Co-authored-by: Advait Jain <advaitjain@google.com>
This is the first step to allow offline memory planner.
When a MemoryPlanner is not injected at creation time for
a MicroAllocator, a default GreedyMemoryPlanner is created
from the arena. This change is hence backward compatible
at the MicroAllocator api level. The arena usage slightly increase
by 80 bytes on linux x86 due to the GreedyMemoryPlanner is moved from
stack to the arena in such case.
This corresponds to internal cl/395749105
BUG=http://b/199230276
* Rename MemoryPlanner to MicroMemoryPlanner.
This is to avoid the conflict with the duplicated MemoryPlanner
symbol in tflite. Such conflict arise because some projects
use both tflite and tflite micro.
This corresponds to internal cl/395557573
BUG=http://b/199230276
* Fix formatting errors
Lessons learned: some format errors prevent push
and some don't.