Inferencing SDK Error Codes
In case things do not go as expected, inferencing SDK returns a pre-specified error code, that can give a developer an idea of what went wrong during code execution. These error codes can be divided into two kinds:
- generic Edge Impulse SDK errors
- DSP code specific errors
Source code: edge-impulse-sdk/porting/ei_classifier_porting.h
Successful code execution.
The shape of data does not match the shape of input layer.
Impulse execution is cancelled by user.
Generic TFlite inference engine error.
Generic DSP component error.
Tensor arena allocation failed, often caused by lack of heap memory or its fragmentation. In the case of lack of heap memory you may want to allocate the tensor arena statically by defining "EI_CLASSIFIER_ALLOCATION_STATIC=1" when building your project. If the problem still persists, then it may be that there's not enough RAM/heap for your model and this application.
Generic CubeAI inference engine error.
Allocation failed. This might be caused by fragmentation of the heap. Try to increase the heap size and see if that solves the issue.
This function is only supported for impulses with an image input.
The selected inference engine (chosen on Deployment step in Studio) is incapable of running this impulse.
Out of memory. This might be caused by fragmentation of the heap. Try to increase the heap size or optimize it's usage and see if that solves the issue.
Input tensor is null.
Output tensor is null.
Score tensor is null (for SSD Object Detection models).
Label tensor is null (for SSD Object Detection models)..
TensorRT initialization failed.
DRPAI initialization failed.
DRPAI runtime error.
This model is deprecated. You should re-export the impulse from Studio.
Source code: edge-impulse-sdk/dsp/returntypes.hpp
Successful code execution.
Out of memory, this is most likely caused by your platform running out of heap memory.
Signal size mismatch, the signal that was passed to the DSP library was not the expected size. Should only happen if you have modified the SDK. Otherwise, please report bug to EI.
Matrix size mismatch, the matrix that was passed to the DSP library was not the expected size. Should only happen if you have modified the SDK. Otherwise, please report bug to EI.
DCT error. Should only happen if you have modified the SDK. Otherwise, please report bug to EI.
Input matrix is empty, this is most likely caused by a signal buffer that was not filled.
Buffer size mismatch, the buffer passed to the rfft function was not the expected size.
Parameter invalid. Should only happen if you have modified the SDK. Otherwise, please report bug to EI.
Unexpected next offset. Unused
Out of bounds. Unused
Unsupported filter config. Unused
Error in using dot product function. Should only happen if you have modified the SDK. Otherwise, please report bug to EI.
Block version incorrect. This may happen if you have only partially updated your export. For example, if you only copy in the model folder and not edge-impulse-sdk from the zip file generated by Studio.
This occurs if you are using EI_C_LINKAGE to call to SDK from a C file. Some functions are not supported via C linkage.
Requires CMSIS DSP. Please add the macro
EIDSP_USE_CMSIS_DSP=1
to your compilation.FFT table not loaded. If you are using a custom DSP block and did not return the array "fft_used" with the sizes of you needed ffts, and you are using CMSIS, please return this array from your custom DSP python block. Or set the macro
EIDSP_USE_CMSIS_DSP=0
to use kissFFT instead