Dear Everyone,
I am quite new to this platform so please be kind if my question is stupid. Currently I am trying to integrate a deep learning model by using SNPE to detect human pose. The architecture of the model is as following:
Input -> CNN layers -> seperate to two different set of CNN -- > output for first set
-- > output for second set
So, bassically my network is stated from an input data and then genertates two different output (Transpose_85 and Transpose_136), but when I try to execute the network in SNPE, It seems like only have information about the Trasnpose_136 layer. Do any of you has any idea about this situation and is it possipole for me to look for the output of "Transpose_85". Thank you all in Advance!.
Hello trandung181194,
I assume you have successfully converted the model to DLC and are trying to run the network with snpe-net-run tool. For getting multiple outputs, while running snpe-net-run you need to specify the output layers (in addition to input) in the file that is given to --input_list argument.
Let's assume outputlayer1 and outputlayer2 are the names of 2 output layers and ~/test/example_input.raw is the path of the input, then the input list file format for the same is as follows:
#outputlayer1 outputlayer2
~/test/example_input.raw
Note: In the first line # is followed by output layer names which are separated by spaces.
General format for input list (multi input and multi output) is as follows:
Please refer snpe-net-run documentation for additional information.
Feel free to reply back for any further issues.
Thank you for your response. Could you give me any advice on how to set multiple layers for output in SNPE. I tried buy doing .setOutputLayers("cif","caf") (the layers name is taken during conversion from onnx to dlc), but i got the error "One or more specified output layers don't exist!". Therefore, when my network executes, only the last layers is given out.