My environment:
Phone 1:
- - Snapdragon 8Gen1
- - Android 12
- - SNPE-1.68.0.3932
Phone 2:
- - Snapdragon 865
- - Android 10
- - SNPE-1.68.0.3932
I used snpe-onnx-to-dlc to generate an int8 model through SNPE1.68 using a JSON file with parameters. I tested the model in my Android project with DSP mode using the C++ native SNPE SDK.
My project's Android SDK is 28.
I executed the same model, the same code, and the same inputs using DSP mode on phone 1 and phone 2, but the outputs were different. The model produced accurate results when run on 865, while it produced poor results on 8Gen1. My network is used for hand pose estimation tasks. The backbone module of my network is ShuffleNetV2 0.5x, and the posenet module consists of deconvolution layers and convolution layers. Is there a solution to this problem?
I solved this problem by using snpe-dlc-quantize to quantize the generated dlc file.