Dear NXP Support,
I would like to report an issue with EfficientDet-Lite0 on i.MX95 using the Neutron conversion flow.
My setup is:
Board: i.MX95 EVK
BSP: Linux imx95evk 6.12.34-lts
Original model: efficientdet_lite0_int8.tflite
Application: NNStreamer pipeline with TensorFlow Lite and external Neutron delegate
Input: live camera stream from /dev/video13
I compared the original model and the Neutron-converted model using the same application and added debug prints for both the model input tensor and output tensors.
Findings:
The original model efficientdet_lite0_int8.tflite runs correctly on CPU.
For the original model, the input tensor changes frame by frame, and the output tensor statistics also change frame by frame.
For the Neutron-converted model, the input tensor still changes frame by frame, but the output tensors remain almost constant across frames.
As a result, detections are static or empty even though the live camera image is changing.
I tested two Neutron paths:
A) Standalone Neutron SDK 3.0.1
Converted with eiq-neutron-sdk-windows-3.0.1\bin\neutron-converter.exe
Runtime on target updated to 3.0.1
Result: converted model loads, but outputs remain nearly constant and produce static boxes
B) Rolled back to the 6.12.34-era toolchain
Converted with:
C:\nxp\eIQ_Toolkit_v1.17.0\bin\neutron-converter\MCU_SDK_25.09.00+Linux_6.12.34_2.1.0\neutron-converter.exe
Runtime rolled back accordingly
Result: converted model loads, input changes, but outputs are still nearly constant and detections remain empty
Example behavior with the rolled-back conversion/runtime:
Input changes:
INPUT range: min=0 max=255 mean=141.903 sum=43592724
INPUT range: min=0 max=255 mean=137.091 sum=42114370
INPUT range: min=1 max=255 mean=105.373 sum=32370478
Output remains nearly constant:
classes_raw range: min=0.000000 max=0.019531 mean=0.000009
boxes_raw range: min=-2.926135 max=0.535502 mean=-0.30798
The conversion statistics for the rolled-back path show:
operators after extract: 33
Neutron graphs: 4
operators total: 371
operators converted: 342
operators NOT converted: 29
This suggests that the live input reaches the model correctly, but the converted Neutron model path is not producing frame-dependent outputs for EfficientDet-Lite0.
Could you please advise:
Whether EfficientDet-Lite0 is expected to be supported correctly on i.MX95 with BSP LF_6.12.34_2.1.0.
Whether this model is known to have issues with Neutron conversion on i.MX95.
Whether there is a recommended reference object detection model for Neutron on this BSP that is known to behave correctly with live video.
Whether this behavior indicates a converter issue, a delegate/runtime issue, or an unsupported operator pattern for EfficientDet-Lite0.
Thank you in advance!
Best regards,
EOF
Hi @EOF ,
We will check in our side and then give you reply, please wait.
Wish you have a nice day
Best Regards
Rita
Hi @Rita_Wang,
I am using the i.MX 95 19mm x 19mm evaluation kit (EVK) (i.MX 95 19mm x 19mm Evaluation Kit | NXP Semiconductors)
With
BSP: Linux imx95evk 6.12.34-lts
I've attached the converted model (trained in COCO dataset) in this message.
This model was converted using (no additional flag only --input,--ouput,--target):
Best regards,
EOF
Hi @EOF ,
Here we need more information, Could you please provide the customer's model for further analysis?
Wish you have a nice day
Best Regards
Rita
Hi @Rita_Wang ,
Thank you for your reply.
Yes, the non-coverted file is attached to this message. Thank you again, I look forward for your reply.
Have a nice day!
Best regards,
EOF
Hi @EOF ,
Could you provide us the source model ,not the neutron converted model to us ? We can try to convert the model on our side and validate if there are any accuracy issues. Thanks.
Wish you have a nice day
Best Regards
Rita