PyTorch OCR模型的安卓端部署
开发环境选择 本文操作系统为Windows,因为Windows上的安卓模拟器选择较多,并且真机调试也比较方便; 交叉编译在Windows和Ubuntu上都进行了尝试,都可行,但是如果是Ubuntu上交叉编译之后再挪到Windows的话,容易出幺蛾子; 我目前使用的最稳定的工具版本组合是:ndk18、androidstudio4.1、cmake3.10、gradle6.5、MinGW(CodeBlocks自带)。 1. PyTorch模型转NCNN 这一小节是介绍如何将自己重新训练过的PyTorch模型转成ncnn,如果没有重训练需求的话,可以直接跳过这一节。 (1) 整体步骤 理想情况下,从PyTorch转到ncnn只需要下面两步: PyTorch转ONNX torch.onnx._export(model, x, path, opset_version=11) ONNX转NCNN ./onnx2ncnn model.onnx model.param model.bin 遇到问题的适合解决思路如下: convert.png 下面介绍一下我在做ChineseOCRLite中的PSENet模型转换的过程中遇到的问题。 (2)实际操作的时候可能会遇到各种问题 问题1:ReLU6不支持 概述:ReLU6算子在转换的时候容易出现不支持的情况,需要使用其他算子替代 解决:使用torch