Question/Issue:
Model metadata values EI_CLASSIFIER_INPUT_WIDTH and EI_CLASSIFIER_INPUT_HEIGHT are always 0 in the generated Arduino ZIP library, making the model unusable for inference on my ESP32 device.
Project ID:
[747128]
Context/Use case:
I’m building a Voice Mood Detection model using an ESP32 DevKit and INMP441 microphone. The model classifies 5 moods: Angry, Happy, Sad, Hey Dream, and Silence. I want to deploy the model to my ESP32 using the Arduino ZIP library deployment.
Steps Taken:
- Created project with 5 labels and imported ~100 samples in WAV format (16 kHz)
- Added Time Series Data (audio) → Audio (MFCC) → Classification blocks
- Generated features successfully with default MFCC settings
- Trained model (99% accuracy), validated performance
- Deployed as Arduino ZIP library (tested both EON and TensorFlow)
- Imported into Arduino IDE successfully
- Loaded example sketch → model compiles, but logs show: “Model input size: 0x0”
- Opened model_metadata.h and confirmed:
#define EI_CLASSIFIER_INPUT_WIDTH 0
#define EI_CLASSIFIER_INPUT_HEIGHT 0
Expected Outcome:
After successful training and deployment, I expected model_metadata.h to contain correct input shape values (e.g., 13x49) based on MFCC settings, so inference can run properly.
Actual Outcome:
Model_metadata.h always contains width and height as 0. Sketch compiles but inference fails or behaves incorrectly due to zero input shape.
Reproducibility:
- [x ] Always
- [ ] Sometimes
- [ ] Rarely
Environment:
- Platform: [ESP32 DevKit]
- Build Environment Details: [Arduino IDE 2.3.2, ESP32 Arduino Core v2.0.9]
- OS Version: [Windows 11]
- Edge Impulse Version (Firmware): [e.g., N/A]
- To find out Edge Impulse Version:
- if you have pre-compiled firmware: run edge-impulse-run-impulse --raw and type AT+INFO. Look for Edge Impulse version in the output.
- if you have a library deployment: inside the unarchived deployment, open model-parameters/model_metadata.h and look for EI_STUDIO_VERSION_MAJOR, EI_STUDIO_VERSION_MINOR, EI_STUDIO_VERSION_PATCH
- Edge Impulse CLI Version: [e.g., 1.5.0]
- Project Version: [e.g., 1.0.0]
- **Custom Blocks / Impulse Configuration: Impulse:
- Time Series (audio), window size: 1000ms, stride: 500ms, freq: 16kHz
- MFCC (default settings)
- Classifier with 5 output classes
Logs/Attachments:
[Include any logs or screenshots that may help in diagnosing the issue]
Additional Information:
- Tried both EON Compiler (int8) and TensorFlow (float32)
- Also tried creating a completely new project with fewer samples — still same issue
- Unable to find “Input shape: 13x49” or similar in the training summary
Any help resolving this would be greatly appreciated!