Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
zaoqilai opened this issue Aug 13, 2024 · 7 comments
Open

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

zaoqilai opened this issue Aug 13, 2024 · 7 comments
Assignees

Comments

@zaoqilai
Copy link

版本、环境信息:
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方法.

@hong19860320
Copy link
Collaborator

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

@hong19860320
Copy link
Collaborator

版本、环境信息: 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 手机试试,看看能不能复现。

@zaoqilai
Copy link
Author

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

@zaoqilai
Copy link
Author

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

@hong19860320
Copy link
Collaborator

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

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

@hong19860320
Copy link
Collaborator

@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

@zaoqilai
Copy link
Author

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

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

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants