QingChuanWS dab7e51f67 解决路径依赖问题, 调整了文件结构 5 lat temu
..
README.md dab7e51f67 解决路径依赖问题, 调整了文件结构 5 lat temu
activation_utils.h dab7e51f67 解决路径依赖问题, 调整了文件结构 5 lat temu
activations.cc dab7e51f67 解决路径依赖问题, 调整了文件结构 5 lat temu
add.cc dab7e51f67 解决路径依赖问题, 调整了文件结构 5 lat temu
arg_min_max.cc dab7e51f67 解决路径依赖问题, 调整了文件结构 5 lat temu
ceil.cc dab7e51f67 解决路径依赖问题, 调整了文件结构 5 lat temu
circular_buffer.cc dab7e51f67 解决路径依赖问题, 调整了文件结构 5 lat temu
comparisons.cc dab7e51f67 解决路径依赖问题, 调整了文件结构 5 lat temu
concatenation.cc dab7e51f67 解决路径依赖问题, 调整了文件结构 5 lat temu
conv.cc dab7e51f67 解决路径依赖问题, 调整了文件结构 5 lat temu
depthwise_conv.cc dab7e51f67 解决路径依赖问题, 调整了文件结构 5 lat temu
dequantize.cc dab7e51f67 解决路径依赖问题, 调整了文件结构 5 lat temu
elementwise.cc dab7e51f67 解决路径依赖问题, 调整了文件结构 5 lat temu
ethosu.cc dab7e51f67 解决路径依赖问题, 调整了文件结构 5 lat temu
floor.cc dab7e51f67 解决路径依赖问题, 调整了文件结构 5 lat temu
fully_connected.cc dab7e51f67 解决路径依赖问题, 调整了文件结构 5 lat temu
l2norm.cc dab7e51f67 解决路径依赖问题, 调整了文件结构 5 lat temu
logical.cc dab7e51f67 解决路径依赖问题, 调整了文件结构 5 lat temu
logistic.cc dab7e51f67 解决路径依赖问题, 调整了文件结构 5 lat temu
maximum_minimum.cc dab7e51f67 解决路径依赖问题, 调整了文件结构 5 lat temu
micro_utils.h dab7e51f67 解决路径依赖问题, 调整了文件结构 5 lat temu
mul.cc dab7e51f67 解决路径依赖问题, 调整了文件结构 5 lat temu
neg.cc dab7e51f67 解决路径依赖问题, 调整了文件结构 5 lat temu
pack.cc dab7e51f67 解决路径依赖问题, 调整了文件结构 5 lat temu
pad.cc dab7e51f67 解决路径依赖问题, 调整了文件结构 5 lat temu
pooling.cc dab7e51f67 解决路径依赖问题, 调整了文件结构 5 lat temu
prelu.cc dab7e51f67 解决路径依赖问题, 调整了文件结构 5 lat temu
quantize.cc dab7e51f67 解决路径依赖问题, 调整了文件结构 5 lat temu
reduce.cc dab7e51f67 解决路径依赖问题, 调整了文件结构 5 lat temu
reshape.cc dab7e51f67 解决路径依赖问题, 调整了文件结构 5 lat temu
resize_nearest_neighbor.cc dab7e51f67 解决路径依赖问题, 调整了文件结构 5 lat temu
round.cc dab7e51f67 解决路径依赖问题, 调整了文件结构 5 lat temu
softmax.cc dab7e51f67 解决路径依赖问题, 调整了文件结构 5 lat temu
split.cc dab7e51f67 解决路径依赖问题, 调整了文件结构 5 lat temu
strided_slice.cc dab7e51f67 解决路径依赖问题, 调整了文件结构 5 lat temu
sub.cc dab7e51f67 解决路径依赖问题, 调整了文件结构 5 lat temu
svdf.cc dab7e51f67 解决路径依赖问题, 调整了文件结构 5 lat temu
tanh.cc dab7e51f67 解决路径依赖问题, 调整了文件结构 5 lat temu
unpack.cc dab7e51f67 解决路径依赖问题, 调整了文件结构 5 lat temu

README.md

Info

To use CMSIS-NN optimized kernels instead of reference kernel add TAGS=cmsis-nn to the make line. Some micro architectures have optimizations (M4 or higher), others don't. The kernels that doesn't have optimization for a certain micro architecture fallback to use TFLu reference kernels.

The optimizations are almost exclusively made for int8 (symmetric) model. For more details, please read CMSIS-NN doc

Example 1

A simple way to compile a binary with CMSIS-NN optimizations.

make -f tensorflow/lite/micro/tools/make/Makefile TAGS=cmsis-nn \
TARGET=sparkfun_edge person_detection_int8_bin

Example 2 - MBED

Using mbed you'll be able to compile for the many different targets supported by mbed. Here's an example on how to do that. Start by generating an mbed project.

make -f tensorflow/lite/micro/tools/make/Makefile TAGS=cmsis-nn \
generate_person_detection_mbed_project

Go into the generated mbed project folder, currently:

tensorflow/lite/micro/tools/make/gen/linux_x86_64/prj/person_detection_int8/mbed

and setup mbed.

mbed new .

Note: Mbed has a dependency to an old version of arm_math.h. Therefore you need to copy the newer version as follows:

cp tensorflow/lite/micro/tools/make/downloads/cmsis/CMSIS/DSP/Include/\
arm_math.h mbed-os/cmsis/TARGET_CORTEX_M/arm_math.h

There's also a dependency to an old cmsis_gcc.h, which you can fix with the following:

tensorflow/lite/micro/tools/make/downloads/cmsis/CMSIS/Core/Include/\
cmsis_gcc.h mbed-os/cmsis/TARGET_CORTEX_M/cmsis_gcc.h

This issue will be resolved soon.

Now type:

mbed compile -m DISCO_F746NG -t GCC_ARM

and that gives you a binary for the DISCO_F746NG with CMSIS-NN optimized kernels.