Incorrect classifier results with SIMD build flags enabled

Question/Issue:
When using DEI_CLASSIFIER_TFLITE_ENABLE_ESP_NN or DEI_CLASSIFIER_TFLITE_ENABLE_ESP_NN_S3 enabled on ESP32 and ESP32-S3 respectively the classifier returns incorrect results.

Project ID:
986043

Context/Use case:
The classifier has two categories “Commercial” or “Program”. When passed an image it only ever returns the classification of “Commercial” with a 1.00 confidence. This only happens when the DEI_CLASSIFIER_TFLITE_ENABLE_ESP_NN or DEI_CLASSIFIER_TFLITE_ENABLE_ESP_NN_S3 build flags are set.
The DEI_CLASSIFIER_TFLITE_ENABLE_ESP_NN flag is used for the ESP32
Both the DEI_CLASSIFIER_TFLITE_ENABLE_ESP_NN and the DEI_CLASSIFIER_TFLITE_ENABLE_ESP_NN_S3 flags are used when the ESP32_S3 is the device.
If SIMD hardware is disabled with the DEI_CLASSIFIER_TFLITE_ENABLE_ESP_NN=0 build flag the classifier works normally but slowly.

Reproducibility:

  • [*] Always
  • [ ] Sometimes
  • [ ] Rarely

Environment:

  • Platform: ESP32 and ESP32_S3 hardware
  • Build Environment Details: VSCode 1.121.0, PlatformIO 3.3.4, GCC: 8.4.0 (esp-2021r2-patch5), GNU assembler (binutils): 2.35.1, platform-espressif32: 7.0.0, Ardunio-esp32 3.2
  • OS Version: MacOS 26.5 Tahoe
  • Edge Impulse Version (Firmware): 1.93.4
  • Edge Impulse CLI Version: 1.39.0
  • Project Version: V8
  • Custom Blocks / Impulse Configuration: MobileNetV1 0.25 96×96 color int8, EON Compiler, C++ Library

Update
Just before posting this I updated some parts of the toolchain. Now the image classifier is crashing when the SIMD flags are enabled. Here is the updated parts

  • Build Environment Details: PlatformIO 6.1.19, platform-espressif32 55.03.38, Ardunio-esp32 3.3.8