1.. _tflm_ethosu:
2
3Arm(R) Ethos(TM)-U Tensorflow Lite for Microcontrollers test application
4########################################################################
5
6A sample application that demonstrates how to run an inference using the TFLM
7framework and the Arm Ethos-U NPU.
8
9The sample application runs a model that has been downloaded from the
10`Arm model zoo <https://github.com/ARM-software/ML-zoo>`_. This model has then
11been optimized using the
12`Vela compiler <https://git.mlplatform.org/ml/ethos-u/ethos-u-vela.git>`_.
13
14Vela takes a tflite file as input and produces another tflite file as output,
15where the operators supported by Ethos-U have been replaced by an Ethos-U custom
16operator. In an ideal case the complete network would be replaced by a single
17Ethos-U custom operator.
18
19Building and running
20********************
21
22This application can be built and run on any Arm Ethos-U capable platform, for
23example Corstone(TM)-300. A reference implementation of Corstone-300 can be
24downloaded either as a FPGA bitfile for the
25`MPS3 FPGA prototyping board <https://developer.arm.com/tools-and-software/development-boards/fpga-prototyping-boards/mps3>`_,
26or as a
27`Fixed Virtual Platform <https://developer.arm.com/tools-and-software/open-source-software/arm-platforms-software/arm-ecosystem-fvps>`_
28that can be emulated on a host machine.
29
30Assuming that the Corstone-300 FVP has been downloaded, installed and added to
31the ``PATH`` variable, then building and testing can be done with following
32commands.
33
34.. code-block:: bash
35
36    $ west build -b mps3_an547 zephyr/samples/modules/tflite-micro/tflm_ethosu
37    $ FVP_Corstone_SSE-300_Ethos-U55 build/zephyr/zephyr.elf
38