Forums - Unable to Create Network on DSP Runtime (Error Code 1002)

4 posts / 0 new
Last post
Unable to Create Network on DSP Runtime (Error Code 1002)
eikichi.00
Join Date: 19 Feb 24
Posts: 3
Posted: Sun, 2024-05-19 18:50

Hello,

I am currently developing an Android application to run a quantized yolox dlc model using SNPE. I have encountered an issue where the model inference works fine on CPU and GPU runtimes, but fails on the DSP runtime with the following error:

com.qualcomm.qti.snpe.SnpeError$NativeException: Unable to create network! Cause: error_code=1002; error_message=Layer parameter value is invalid. No backend could validate Op=strided_slice_0 Type=StridedSlice error code=3110; error_component=Model Validation; line_no=131; thread_id=492875624144

Background:

  Model: Yolox nano

  Conversion Process:

  1. Converted 'yolox_nano.onnx' to DLC format using 'snpe-onnx-to-dlc'.
  2. Quantized the DLC model using 'snpe-dlc-quantize'.
  SNPE SDK Version: 2.22.0.240425
 
  Chipset: QCS610
 
It appears that there is an issue with the StridedSlice layer, but according to the documentation, this layer is supported on DSP. Additionally, it is unclear what parameter is incorrect.
 
Could you provide guidance on resolving this error?
Thank you.
  • Up1
  • Down0
jeannette9728miller
Join Date: 19 May 24
Posts: 1
Posted: Sun, 2024-05-19 22:55

It looks like you're encountering an issue with the DSP runtime in the Qualcomm Neural Processing SDK while trying to deploy a quantized YOLOX model. The error message suggests that there is a problem with the StridedSlice layer during the model validation process.
 

Ensure that the StridedSlice operation and its specific usage in your model are supported on the DSP runtime for your particular chipset. While the layer itself may be supported, certain configurations or parameters might not be. Check the Qualcomm SNPE documentation for detailed information on supported operations and their constraints on DSP.

Revisit the conversion and quantization steps to ensure they were performed correctly. Sometimes, re-running the conversion and quantization processes can help resolve inconsistencies.
Make sure that you are using the latest version of the ONNX model and that it is compatible with the SNPE version you are using.

Look through the Qualcomm SNPE release notes and forums for any known issues or limitations related to the StridedSlice operation on the DSP.
If there are any patches or updates available for your SNPE SDK version, apply them.

Investigate the parameters used in the StridedSlice operation within your model. Ensure that they conform to what is supported by the DSP runtime.
You might need to modify the model slightly to accommodate any constraints specific to the DSP.

Utilize the SNPE model validation tools provided with the SDK to perform a more detailed analysis of your model and identify any other potential issues. The tool can sometimes provide more granular insights into what might be going wrong.
 
Best Regards,
 
 

 

  • Up0
  • Down0
eikichi.00
Join Date: 19 Feb 24
Posts: 3
Posted: Thu, 2024-05-30 17:26

Thank you for your response. I checked for version compatibility as you suggested. I changed the SNPE version to 1.61.40.4243, and after converting and quantizing the model again, I was able to run the inference on the DSP runtime successfully. Thank you for your assistance.

  • Up0
  • Down0
gsosun13
Join Date: 27 May 24
Posts: 2
Posted: Mon, 2024-07-15 00:54

I'm currently trying to use a DLC model converted from the YOLOX_s model, but the inference results using the DLC are abnormal. Could there be an issue in the snpe-onnx-to-dlc conversion process? When I used the original ONNX model for inference, it completed normally. However, the results from the DLC model have class IDs fixed at 0 and 5, and the confidence values are strange, ranging from 0.024 to -0.0002 instead of between 0 and 1. Could this be due to SNPE version issues? I would appreciate your help.

 

  • Up0
  • Down0
or Register

Opinions expressed in the content posted here are the personal opinions of the original authors, and do not necessarily reflect those of Qualcomm Incorporated or its subsidiaries (“Qualcomm”). The content is provided for informational purposes only and is not meant to be an endorsement or representation by Qualcomm or any other party. This site may also provide links or references to non-Qualcomm sites and resources. Qualcomm makes no representations, warranties, or other commitments whatsoever about any non-Qualcomm sites or third-party resources that may be referenced, accessible from, or linked to this site.