Hi,
I got such error message when I execute benchmark script of SNPE v1.12.0 for MobileNet-SSD.
Layer BoxPredictor_0/Reshape_1:0 : output width = 1083, depth = 91 width * depth (packed) = 24909 exceeds maximum image width 16384 for Adreno A530
I saw description "Support for MobileNet SSD support on CPU and GPU" in release note of v1.12.0.
Which AP can run MobileNet-SSD on GPU by using SNPE v1.12.0?
Thanks in advance.
We'll check on that specific error, but when running on the GPU, "CPU fallback" must be enabled. Some of the layers aren't supported on the GPU, and will fallback to the CPU in that case. If you are using snpe-net-run, add the option --enable_cpu_fallback to your command line.
Similar error was spotted.
The detailed logs are:
2018-02-22 11:35:48,933 - WARNING - snpe_bench: Failed to perform benchmark for GPU_timing.
2018-02-22 11:35:48,933 - INFO - snpe_bench: GPU_ub_float_timing
2018-02-22 11:35:48,933 - INFO - snpe_bench: Run 1
2018-02-22 11:35:50,078 - ERROR - _execute_adbcmd_raw: adb -H localhost -s de275f47 shell "sh /data/local/tmp/snpebm/artifacts/arm-android-gcc4.9/bin/snpe-bench_cmds.sh && echo ADB_SHELL_CMD_SUCCESS" failed with stderr of: error_code=802; error_message=Layer parameter value is invalid in GPU. Layer BoxPredictor_0/Reshape_1:0 : output width = 1083, depth = 91 width * depth (packed) = 24909 exceeds maximum image width 16384 for Adreno A530; error_component=GPU Runtime; line_no=391; thread_id=-336038748
2018-02-22 11:35:50,078 - WARNING - _execute_adbcmd_raw: adb shell command failed to execute:
error_code=802; error_message=Layer parameter value is invalid in GPU. Layer BoxPredictor_0/Reshape_1:0 : output width = 1083, depth = 91 width * depth (packed) = 24909 exceeds maximum image width 16384 for Adreno A530; error_component=GPU Runtime; line_no=391; thread_id=-336038748
I was running SNPE-1.12.0 on android device in the provided example app.
How do I turn on the cpu fallback feature under this circumstance?
Thanks!
When using snpe-net-run, use the option --enable_cpu_fallback (run snpe-net-run -h to see all options)
When using snpe_bench, it doesn't support enabling fallback in 1.12.0. This should be supported in an upcoming release.
If you are writing a native or Java app, you need to set the builder option for enabling CPU fallback. "setCPUFallbackMode" for native code, and "setCpuFallbackEnabled" in Java. These are documented in the APIs section of the user's guide. Hopefully that helps.
Hi,
I see this error in 1.13.0 too. Is there plan to fix it? Does "--enable-cpu.." flag put all net on CPU or only layer that can't run on GPU?
thanks
When using fallback, layers that CAN run on GPU will run on GPU. Layers that cannot run on GPU will fallback to CPU.
thanks. Is there plan to fix this for A530 GPU?
No plan to address this for this network at this time. The limitation being hit is a size limitation. CPU fallback is the supported mechanism for this network.