1. MACE 部署流程
1)编译库文件:获取各版本对应的 so、a 文件,以及相对应的头文件。
2)yml 配置:通过 yml 文件配置模型的位置、输入输出,以此来转换为 MACE 的模型。
3)Convert 文件转换:通过 convert 和 yml 转换为 mace 文件(pb 或者 .a 格式)。
4)命令行检测模型的正确性。
5)Android 客户端部署。
2. PaddleLite 预测流程
1)准备推理模型。
2)模型优化,通过 opt 工具优化为 nb 模型。
命令如下:
chmod +x opt_mac
./opt_mac --model_file=/Users/ddz/PycharmProjects/github/paddlelite_release/inference/ch_ppocr_mobile_v2.0_cls_infer/inference.pdmodel \
--param_file=/Users/ddz/PycharmProjects/github/paddlelite_release/inference/ch_ppocr_mobile_v2.0_cls_infer/inference.pdiparams \
--optimize_out_type=naive_buffer \
--optimize_out=./ch_ppocr_mobile_v2.0_cls_opt2.9.1
3)编译库文件:获取 so、a 文件。也可以直接在官网下载编译好的文件。
4)C++ 检测模型正确性:https://github.com/PaddlePaddle/PaddleOCR/blob/release%2F2.3/deploy/lite/readme.md
5)Android 客户端部署。
3. MNN 部署流程
3.1. 转化为MNN模型
编译转化工具文档:https://www.yuque.com/mnn/cn/cvrt_linux_mac
- 准备好文档中提到的 Cmake和 gcc 的环境后,进行源码编译,生成模型转化工具。
cmake .. -DMNN_BUILD_CONVERTER=true -DMNN_BUILD_SHARED_LIBS=ON && make -j4
- 模型转化命令:(ONNX 模型转化为 MNN 模型)
./MNNConvert -f ONNX --modelFile model.onnx --MNNModel model.mnn --bizCode biz
3.2. 编译Android推理so库
参考文档:https://mnn-docs.readthedocs.io/en/latest/compile/engine.html
-
准备好环境,cmake,ndk等
-
编译命令
cd /path/to/MNN
cd project/android
# 编译armv7动态库
mkdir build_32 && cd build_32 && ../build_32.sh
# 编译armv8动态库
mkdir build_64 && cd build_64 && ../build_64.sh
3.3 编译Android训练so库
- 准备dataset文件
参考:https://mnn-docs.readthedocs.io/en/latest/train/data.html、https://www.yuque.com/mnn/cn/gsdegf - 打开训练开关
追加 -DMNN_BUILD_TRAIN=ON 即可编译 MNN 训练框架












网友评论