一、编译Paddle-Lite android库

可根据博客【PaddlePaddle】源码编译Paddle-Lite android库的过程或者其他本地源码编译的方法编译好android平台的库文件。

编译好的库文件位于Paddle-Lite/build.lite/android.armv8.gcc/inference_lite_lib.android.armv8/cxx/lib下。

二、转化模型

按照博客【PaddlePaddle】原生模型转化为naive_buffer格式转化Paddle-Lite支持的文件格式。

三、编译预测程序

要测试的C++程序位于Paddle-Lite/build.lite/android.armv8.gcc/inference_lite_lib.android.armv8/demo/cxx/mobile_light下。

进入该目录,执行make命令编译程序。编译成功之后多了两个文件。

四、测试

首先连接android设备到电脑,adb devices查看一下连接的设备。

如果出现no permissions的提示,参考博客【Linux】Ubuntu16.04 adb devices提示no permissions的解决方法。

然后将相关文件推送到手机。

chmod +x mobilenetv1_light_apiadb push mobilenet_v1_opt.nb /data/local/tmpadb push libpaddle_light_api_shared.so /data/local/tmpadb push mobilenetv1_light_api /data/local/tmp

下面执行预测。

进入android设备shell环境。

adb shell

export一个临时库路径。

cd /data/local/tmpexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/data/local/tmp

执行预测。

./mobilenetv1_light_api ./mobilenet_v1_opt.nb

下面是输出的结果。

输出的结果是一个1000维的向量,应该是预训练了1000个类别,向量的每一个元素是每个类别的概率,这里取了每隔100个显示一个。

这个例子非常简单,它给了一个全1的输入送进网络进行预测。

结果应该是属于这1000个类别的概率都很小。

当然也可以修改程序显示其他的结果。

更多相关文章

  1. 如何下载并编译Android(安卓)4.0内核源码Goldfish
  2. 输入包名生成android应用demo的实现
  3. 【Android】Handler应用(二):从服务器端加载JSON数据的优化
  4. Android应用程序键盘(Keyboard)消息处理机制分析(7)
  5. Android——数据存储(四种方式之二)读写SD卡
  6. 电脑导出文件到手机 adb push
  7. Android(安卓)NDK r5 windows系统上安装与使用
  8. cocos2dx3.0打包注意事项
  9. Android(安卓)反编译:加固前后对比

随机推荐

  1. [Step By Step]使用SAP Business Objects
  2. 如何在表单行SQL中检查是否有任何值为Nul
  3. 麻烦问下,为什么我的mysql存储过程一次调
  4. Ruby 1.9 + MySQL中发生访问错误
  5. MySql索引的优缺点
  6. [转]swoole安装报错详解 mysqlnd_find_ch
  7. 我需要介绍MongoDB / NoSQL数据库
  8. MySQL数据库辅助类
  9. Php数据库为GoJs格式化json
  10. MySql新建连接不能运行以及如何导入sql