Paddle-Lite icon indicating copy to clipboard operation
Paddle-Lite copied to clipboard

paddle ocr rec v3 模型推理崩溃(iOS)

Open zaoqilai opened this issue 1 year ago • 9 comments

版本、环境信息: 1)Paddle Lite 版本:PaddleLite 13.rc 版本 (inference_lite_lib.ios.armv8.with_cv.with_extra.tiny_publish.tar.gz) 2)Host 环境:iOS 3)运行设备环境:iPhone XR 及以上所有新机型 4)预测后端信息:请描述使用的预测后端信息,如 CPU/GPU/NPU/others 加速器 复现信息:具体信息见崩溃描述 问题描述: void paddle::lite::arm::math::gemv_int8(signed char const*, signed char const*,float*,bool,int ,int,float const*,bool,float const*,paddle::lite::operators::ActivationParam,paddle::lite::Context<(paddle::lite_api::TargetType)4>*)

备注:此前使用的是较早的版本,Paddlelite 12,也曾出现过类似的崩溃,方法名有差异; void paddle::lite::arm::math::sgemv

经过本地测试发现, 图片resize之后宽如果为2048或者2048的倍数都会崩溃, 比如宽2048,高32. 2049,32不会崩 resize方法参照的是paddlite-demo里面的ppocr_demo里面的CrnnResizeImg方法.

zaoqilai avatar Aug 13 '24 02:08 zaoqilai

建议使用 2.14rc,ocr 模型使用 release note 中 paddle-x 推荐的模型 https://github.com/PaddlePaddle/Paddle-Lite/releases

hong19860320 avatar Aug 13 '24 03:08 hong19860320

版本、环境信息: 1)Paddle Lite 版本:PaddleLite 13.rc 版本 (inference_lite_lib.ios.armv8.with_cv.with_extra.tiny_publish.tar.gz) 2)Host 环境:iOS 3)运行设备环境:iPhone XR 及以上所有新机型 4)预测后端信息:请描述使用的预测后端信息,如 CPU/GPU/NPU/others 加速器 复现信息:具体信息见崩溃描述 问题描述: void paddle::lite::arm::math::gemv_int8(signed char const*, signed char const*,float*,bool,int ,int,float const*,bool,float const*,paddle::lite::operators::ActivationParam,paddle::lite::Context<(paddle::lite_api::TargetType)4>*)

备注:此前使用的是较早的版本,Paddlelite 12,也曾出现过类似的崩溃,方法名有差异; void paddle::lite::arm::math::sgemv

经过本地测试发现, 图片resize之后宽如果为2048或者2048的倍数都会崩溃, 比如宽2048,高32. 2049,32不会崩 resize方法参照的是paddlite-demo里面的ppocr_demo里面的CrnnResizeImg方法.

为了定位是iOS 和 Android差异,可以在 Android 手机试试,看看能不能复现。

hong19860320 avatar Aug 13 '24 03:08 hong19860320

@hong19860320 目前经过测试, 安卓没有崩溃,iOS会崩溃. 我直接把2.13-rc, 2.14-rc版本 替换到了识别文字的demo里面去尝试了(ppocr_demo), 发现还是会崩溃, CrnnResizeImg方法里面, 直接在最后把宽高写成2048,32. 应该是能复现的

zaoqilai avatar Aug 14 '24 07:08 zaoqilai

@hong19860320 上面写错了, 必定崩溃的宽高是2048,48 这中间也尝试了有其他的尺寸会崩溃. 可以让iOS复现下, 应该是能复现出来的

zaoqilai avatar Aug 14 '24 07:08 zaoqilai

@hong19860320 上面写错了, 必定崩溃的宽高是2048,48 这中间也尝试了有其他的尺寸会崩溃. 可以让iOS复现下, 应该是能复现出来的

如果安卓没有崩溃,基本说明 Paddle Lite 库是没有问题,建议仔细比较一下两个 demo 的代码实现。

hong19860320 avatar Aug 16 '24 02:08 hong19860320

@hong19860320 目前经过测试, 安卓没有崩溃,iOS会崩溃. 我直接把2.13-rc, 2.14-rc版本 替换到了识别文字的demo里面去尝试了(ppocr_demo), 发现还是会崩溃, CrnnResizeImg方法里面, 直接在最后把宽高写成2048,32. 应该是能复现的

模型建议也换一下,2.14-rc 确认是支持 ppocr v4 的det 和 reg 模型的 https://paddle-model-ecology.bj.bcebos.com/paddlex/official_inference_model/paddle3.0/PP-OCRv4_mobile_rec_infer.tar https://paddle-model-ecology.bj.bcebos.com/paddlex/official_inference_model/paddle3.0/PP-OCRv4_mobile_det_infer.tar

hong19860320 avatar Aug 16 '24 02:08 hong19860320

@hong19860320 上面写错了, 必定崩溃的宽高是2048,48 这中间也尝试了有其他的尺寸会崩溃. 可以让iOS复现下, 应该是能复现出来的

如果安卓没有崩溃,基本说明 Paddle Lite 库是没有问题,建议仔细比较一下两个 demo 的代码实现。

我直接是在paddllelite官方的demo测试的, 不是自己的demo. 2.14-rc的编译库也在release下载了, 也同样的问题. 要是有ios, 可以直接复现下看看. 您那边可以直接让iOS复现看看. @hong19860320

zaoqilai avatar Aug 16 '24 06:08 zaoqilai

您好,如果没有进一步的问题,我先把这个issue关闭了。如果还有问题,您随时可以 Reopen。

iosmers avatar Jan 26 '25 06:01 iosmers

@zaoqilai 问题后面解决了吗

wuhenzhizao avatar May 13 '25 13:05 wuhenzhizao