development_android_GPU.md 1.8 KB
Newer Older
1
## paddle-mobile GPU开发文档
Y
yangfei 已提交
2

3
编译环境配置方法请参考`development_android.md`文档
Y
yangfei 已提交
4 5 6

1. 下载 paddle-mobile

7
```shell
Y
yangfei 已提交
8 9 10 11
git clone https://github.com/PaddlePaddle/paddle-mobile.git

adb pull /system/vendor/lib/libOpenCL.so paddle-mobile/third_party/opencl

12 13
# 修改paddle-mobile/CMakeLists.txt文件,执行如下操作:
# option(GPU_CL "opencl gpu" OFF)->option(GPU_CL "opencl gpu" ON)
Y
yangfei 已提交
14 15 16 17 18

cd paddle-mobile/tools
sh build.sh android
```

19
2. 将单测可执行文件和模型部署到手机
Y
yangfei 已提交
20

21
执行下面的脚本,该脚本会下载测试需要的 [mobilenet和test_image_1x3x224x224_float(预处理过的 NCHW 文件) 文件](http://mms-graph.bj.bcebos.com/paddle-mobile/opencl_test_src.zip),在项目下的`test`目录创建模型>和图片文件夹,并将`mobilenet`复制到`paddle-mobile/test/models`目录下,将`test_image_1x3x224x224_float`复制到`paddle-mobile/test/images`目录下
Y
yangfei 已提交
22

23 24 25
```shell
cd tools
sh ./prepare_images_and_models.sh
Y
yangfei 已提交
26 27 28 29
```

执行下面命令将可执行文件和预测需要的文件部署到手机

30
```shell
Y
yangfei 已提交
31 32 33 34
cd ../tools/android-debug-script
sh push2android.sh
```

35 36 37
3.`adb shell`中执行对应的可执行文件(目前只支持mobilenet,后续会支持更多的网络模型)

```shell
Y
yangfei 已提交
38 39 40 41 42
adb shell
cd /data/local/tmp/bin/
export LD_LIBRARY_PATH=.
./test-mobilenetgpu
```
43

44
4. mobilenet cpu模型预测结果
Y
yangfei 已提交
45

46
执行下面命令进行mobilenet cpu的预测
Y
yangfei 已提交
47

48
```shell
Y
yangfei 已提交
49 50 51 52 53
adb shell
cd /data/local/tmp/bin/
export LD_LIBRARY_PATH=.
./test-mobilenet
```
54

55
5. 预测结果
Y
yangfei 已提交
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75

  手机型号:小米6(CPU 835,GPU Adreno 540)

  mobilenet gpu:预测性能,耗时41ms左右。

  mobilenet cpu:

  1线程:108ms
  2线程:65ms
  4线程:38ms

  手机型号:OPPO Findx(CPU 845,GPU Adreno 630)

  mobilenet gpu:预测性能,耗时27ms左右。

  mobilenet cpu:

  1线程:90ms
  2线程:50ms
  4线程:29ms