I downloaded goolge inception v4.pb and used converter from NPE SDK v1.24 .
Inceptionv3.dlc can run on 845 with CPU, But not run with GPU and DSP.
I got error code 802 with GPU , it said "output rank greater than 3D is not support"
============= begin =============
12-20 21:32:25.045 28668 28825 E zhuyxLoadNetworkTask: Unable to create network! Cause: error_code=802; error_message=Layer parameter value is invalid in GPU. Layer input:0 : output rank greater than 3D is not supported.; error_component=GPU Runtime; line_no=477; thread_id=527402218736
12-20 21:32:25.045 28668 28825 E zhuyxLoadNetworkTask: java.lang.IllegalStateException: Unable to create network! Cause: error_code=802; error_message=Layer parameter value is invalid in GPU. Layer input:0 : output rank greater than 3D is not supported.; error_component=GPU Runtime; line_no=477; thread_id=527402218736
12-20 21:32:25.045 28668 28825 E zhuyxLoadNetworkTask: at com.qualcomm.qti.snpe.internal.NativeNetwork.nativeInitFromFile(Native Method)
12-20 21:32:25.045 28668 28825 E zhuyxLoadNetworkTask: at com.qualcomm.qti.snpe.internal.NativeNetwork.<init>(NativeNetwork.java:90)
12-20 21:32:25.045 28668 28825 E zhuyxLoadNetworkTask: at com.qualcomm.qti.snpe.SNPE$NeuralNetworkBuilder.build(SNPE.java:224)
12-20 21:32:25.045 28668 28825 E zhuyxLoadNetworkTask: at com.example.fy071.classifier.tasks.LoadNetworkTask.doInBackground(LoadNetworkTask.java:48)
12-20 21:32:25.045 28668 28825 E zhuyxLoadNetworkTask: at com.example.fy071.classifier.tasks.LoadNetworkTask.doInBackground(LoadNetworkTask.java:15)
12-20 21:32:25.045 28668 28825 E zhuyxLoadNetworkTask: at android.os.AsyncTask$2.call(AsyncTask.java:333)
12-20 21:32:25.045 28668 28825 E zhuyxLoadNetworkTask: at java.util.concurrent.FutureTask.run(FutureTask.java:266)
12-20 21:32:25.045 28668 28825 E zhuyxLoadNetworkTask: at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245)
12-20 21:32:25.045 28668 28825 E zhuyxLoadNetworkTask: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
12-20 21:32:25.045 28668 28825 E zhuyxLoadNetworkTask: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
12-20 21:32:25.045 28668 28825 E zhuyxLoadNetworkTask: at java.lang.Thread.run(Thread.java:764)
============= end =============
and 902 with DSP, it said "Maximum number of output dimenstions(3) exceeded.4 output dimension were given for DSP runtime.
============= begin =============
12-20 21:34:35.053 28668 29168 E zhuyxLoadNetworkTask: Unable to create network! Cause: error_code=902; error_message=Layer parameter value is invalid in DSP. Layer InceptionV3/InceptionV3/Conv2d_1a_3x3/convolution: Maximum number of output dimensions(3) exceeded. 4 output dimension were given for DSP runtime.; error_component=DSP Runtime; line_no=58; thread_id=527404324080
12-20 21:34:35.053 28668 29168 E zhuyxLoadNetworkTask: java.lang.IllegalStateException: Unable to create network! Cause: error_code=902; error_message=Layer parameter value is invalid in DSP. Layer InceptionV3/InceptionV3/Conv2d_1a_3x3/convolution: Maximum number of output dimensions(3) exceeded. 4 output dimension were given for DSP runtime.; error_component=DSP Runtime; line_no=58; thread_id=527404324080
12-20 21:34:35.053 28668 29168 E zhuyxLoadNetworkTask: at com.qualcomm.qti.snpe.internal.NativeNetwork.nativeInitFromFile(Native Method)
12-20 21:34:35.053 28668 29168 E zhuyxLoadNetworkTask: at com.qualcomm.qti.snpe.internal.NativeNetwork.<init>(NativeNetwork.java:90)
12-20 21:34:35.053 28668 29168 E zhuyxLoadNetworkTask: at com.qualcomm.qti.snpe.SNPE$NeuralNetworkBuilder.build(SNPE.java:224)
12-20 21:34:35.053 28668 29168 E zhuyxLoadNetworkTask: at com.example.fy071.classifier.tasks.LoadNetworkTask.doInBackground(LoadNetworkTask.java:48)
12-20 21:34:35.053 28668 29168 E zhuyxLoadNetworkTask: at com.example.fy071.classifier.tasks.LoadNetworkTask.doInBackground(LoadNetworkTask.java:15)
12-20 21:34:35.053 28668 29168 E zhuyxLoadNetworkTask: at android.os.AsyncTask$2.call(AsyncTask.java:333)
12-20 21:34:35.053 28668 29168 E zhuyxLoadNetworkTask: at java.util.concurrent.FutureTask.run(FutureTask.java:266)
12-20 21:34:35.053 28668 29168 E zhuyxLoadNetworkTask: at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245)
12-20 21:34:35.053 28668 29168 E zhuyxLoadNetworkTask: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
12-20 21:34:35.053 28668 29168 E zhuyxLoadNetworkTask: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
12-20 21:34:35.053 28668 29168 E zhuyxLoadNetworkTask: at java.lang.Thread.run(Thread.java:764)
12-20 21:34:35.054 28668 28668 E zhuyxLoadNetworkTask: onPostExecute
============= end =============
I have no idea about how I change my converter params to fixed this error?
Hi,
The Error message "Layer parameter value is invalid in GPU", states that the network layer you have used is not supported.
Kindly check the supported layers from the SNPE Document