Skip to content

Issues with https://github.com/Arm-Examples/ModelNova that should be address in a generic way #197

@ReinhardKeil

Description

@ReinhardKeil

Date: 3. Mar 26

  • stdin control is blocking; need a better solution or rework of the Alif UART driver
  • arm_executor_runner.cc is too complex and postprocess rushes to strings (rather than id's)
  • sds_rec_play_config.h is very hard to find, and configuration does not match output size. For some reason it still works

arm_executor_runner.cc

A potential simpler implementation is pytorch/executorch/.../image_classification_example/runtime/main.cpp. At a high level, the key things are:
• You setup the method allocation pool - that stores the input and output tensors
• You setup the temp_allocation pool - that stores the intermediate tensors during inference
• You populate the input tensor
• You call method->execute() which runs the inference

The memory allocation is not really required as there is never a free.
There should be a clearer description of how memory is used and allocated in the different regions of a MCU.

More information here https://docs.pytorch.org/executorch/1.0/backends-arm-ethos-u.html, i.e. in section "Interpreting the output from the Ethos-U compiler regarding the memory footprint"

Metadata

Metadata

Labels

No labels
No labels

Projects

Status

Backlog

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions