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