模型部署到移动端_手把手教你移动端AI应用开发(三)——部署环节关键代码最详解读...

AI应用的核心包括以下两大块:如何开发一个模型、以及如何将模型部署到项目进行应用。

现在有许多关于AI的教程,比如如何进行目标检测、图像分类、NLP以及构建聊天机器人等,反复强调相同的几点:

  1. 首先,使用像飞桨这样的深度学习平台开发模型。
  2. 然后,将模型打包到网页Paddle.js、移动端Paddle Lite、单机Paddle Inference、或者服务器Paddle Servering。

如何开发一个模型,无论是学术论文还是工业实践,相关的详细讲解随处可见;而如何实现第二点的细节,相关的讲解却很少。

本文将为大家详细解读将模型集成到移动端应用的核心代码。其他部署详解后续会陆续推出,敬请期待哦!

集成流程

对所有模型来说,将模型集成到移动端应用的流程是相同的:

19610481fed1c599acf7c28295a0c469.png

集成流程分两大阶段:

  1. 模型训练阶段:主要解决模型训练,利用标注数据训练出对应的模型文件。面向端侧进行模型设计时,需要考虑模型大小和计算量。
  2. 模型部署阶段:
  • 模型转换:如果是Caffe, TensorFlow或ONNX平台训练的模型,需要使用X2Paddle工具将模型转换到飞桨的格式。本次使用的ocr模型是使用Paddle平台训练的模型,因此不需要进行转换。
  • (可选)模型压缩:主要优化模型大小,借助PaddleSlim提供的剪枝、量化等手段降低模型大小,以便在端上使用。
  • 将模型部署到Paddle Lite。
  • 在终端上通过调用Paddle Lite提供的API接口(C++、Java、Python等API接口),完成推理相关的计算。

具体实现方法

移动端的AI应用开发具体实现,包含以下操作:

084ba8823cc1d571265968f740db0aa9.png
  1. 生成和优化模型。先经过模型训练得到Paddle模型,该模型不能直接用于Paddle Lite部署,需先通过Paddle Lite的opt离线优化工具优化,然后得到Paddle Lite nb模型。如果是Caffe, TensorFlow或ONNX平台训练的模型,需要使用X2Paddle工具将模型转换到Paddle模型格式,再使用opt优化。X2Paddle使用方法:https://paddle-lite.readthedocs.io/zh/latest/user_guides/x2paddle.html
    opt工具使用方法:https://paddle-lite.readthedocs.io/zh/latest/user_guides/model_optimize_tool.html
  2. 获取Paddle Lite推理库。Paddle Lite新版本发布时已提供预编译库,因此无需进行手动编译,直接下载编译好的推理库文件即可。
  3. 构建推理程序。使用前续步骤中编译出来的推理库、优化后模型文件,首先经过模型初始化,配置模型位置、线程数等参数,然后进行图像预处理,如图形转换、归一化等处理,处理好以后就可以将数据输入到模型中执行推理计算,并获得推理结果。

Paddle Lite预测库

Paddle Lite库可以通过飞桨下载,链接:

https://paddle-lite.readthedocs.io/zh/latest/user_guides/release_lib.html。

6fad9819a5b77069fa5653d44f0bc8fe.png

模型文件

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值