PaddleOCR
PaddleOCR copied to clipboard
paddlelite移动端端部署v3模型多线程报错
paddlelite版本:2.11和2.10 部署模型PaddleOCRv3模型 测试系统:Android 问题描述:移动端4线程预测时paddlelit2.11和2.10都报Segmentation fault错误 threads 4 power_mode 3 具体报错: /Paddle-Lite/lite/core/device_info.cc:1118 Setup] ARM multiprocessors name: HARDWARE : MT6762V/CB M101_MT6765 /Paddle-Lite/lite/core/device_info.cc:1119 Setup] ARM multiprocessors number: 8 /Paddle-Lite/lite/core/device_info.cc:1121 Setup] ARM multiprocessors ID: 0, max freq: 2001, min freq: 2001, cluster ID: 0, CPU ARCH: A53 /Paddle-Lite/lite/core/device_info.cc:1121 Setup] ARM multiprocessors ID: 1, max freq: 2001, min freq: 2001, cluster ID: 0, CPU ARCH: A53 /Paddle-Lite/lite/core/device_info.cc:1121 Setup] ARM multiprocessors ID: 2, max freq: 2001, min freq: 2001, cluster ID: 0, CPU ARCH: A53 /Paddle-Lite/lite/core/device_info.cc:1121 Setup] ARM multiprocessors ID: 3, max freq: 2001, min freq: 2001, cluster ID: 0, CPU ARCH: A53 /Paddle-Lite/lite/core/device_info.cc:1121 Setup] ARM multiprocessors ID: 4, max freq: 1500, min freq: 1500, cluster ID: 0, CPU ARCH: A53 /Paddle-Lite/lite/core/device_info.cc:1121 Setup] ARM multiprocessors ID: 5, max freq: 1500, min freq: 1500, cluster ID: 0, CPU ARCH: A53 /Paddle-Lite/lite/core/device_info.cc:1121 Setup] ARM multiprocessors ID: 6, max freq: 1500, min freq: 1500, cluster ID: 0, CPU ARCH: A53 /Paddle-Lite/lite/core/device_info.cc:1121 Setup] ARM multiprocessors ID: 7, max freq: 1500, min freq: 1500, cluster ID: 0, CPU ARCH: A53 /Paddle-Lite/lite/core/device_info.cc:1127 Setup] L1 DataCache size is: /Paddle-Lite/lite/core/device_info.cc:1129 Setup] 32 KB /Paddle-Lite/lite/core/device_info.cc:1129 Setup] 32 KB /Paddle-Lite/lite/core/device_info.cc:1129 Setup] 32 KB /Paddle-Lite/lite/core/device_info.cc:1129 Setup] 32 KB /Paddle-Lite/lite/core/device_info.cc:1129 Setup] 32 KB /Paddle-Lite/lite/core/device_info.cc:1129 Setup] 32 KB /Paddle-Lite/lite/core/device_info.cc:1129 Setup] 32 KB /Paddle-Lite/lite/core/device_info.cc:1129 Setup] 32 KB /Paddle-Lite/lite/core/device_info.cc:1131 Setup] L2 Cache size is: /Paddle-Lite/lite/core/device_info.cc:1133 Setup] 512 KB /Paddle-Lite/lite/core/device_info.cc:1133 Setup] 512 KB /Paddle-Lite/lite/core/device_info.cc:1133 Setup] 512 KB /Paddle-Lite/lite/core/device_info.cc:1133 Setup] 512 KB /Paddle-Lite/lite/core/device_info.cc:1133 Setup] 512 KB /Paddle-Lite/lite/core/device_info.cc:1133 Setup] 512 KB /Paddle-Lite/lite/core/device_info.cc:1133 Setup] 512 KB /Paddle-Lite/lite/core/device_info.cc:1133 Setup] 512 KB /Paddle-Lite/lite/core/device_info.cc:1135 Setup] L3 Cache size is: /Paddle-Lite/lite/core/device_info.cc:1137 Setup] 0 KB /Paddle-Lite/lite/core/device_info.cc:1137 Setup] 0 KB /Paddle-Lite/lite/core/device_info.cc:1137 Setup] 0 KB /Paddle-Lite/lite/core/device_info.cc:1137 Setup] 0 KB /Paddle-Lite/lite/core/device_info.cc:1137 Setup] 0 KB /Paddle-Lite/lite/core/device_info.cc:1137 Setup] 0 KB /Paddle-Lite/lite/core/device_info.cc:1137 Setup] 0 KB /Paddle-Lite/lite/core/device_info.cc:1137 Setup] 0 KB /Paddle-Lite/lite/core/device_info.cc:1139 Setup] Total memory: 3882740KB Segmentation fault (core dumped)
单线程会报错吗?
可以在代码里std::cout 一些log,看下是在哪里出现段错误的。
用v2的模型会不会出现错误
单线程都可以运行,在Android9上2.11的四线程可以,但是在Android11上2.11不能,2.10两个系统都会报错 V2模型还没有验证
@LDOUBLEV
大佬, 想问下使用paddle lite在x86上部署,目前v3 det 和 rec都已经跑通,但如果运行system的预测就会报double free的错,我打了下log, 发现是predictor_crnn->Run() 这个操作在识别第二个boxes 的文本行报错,进行了一下debug
(1)system输入的图像由多行文本行换成单行文本行的图像,不报错,程序正常运行
(2)把ocr_db_crnn.cc中以下代码boxes[i]换成boxes[boxes.size() -2],也不会报错,程序正常运行
for (int i = boxes.size() - 1; i >= 0; i--) { auto preprocess_start = std::chrono::steady_clock::now(); crop_img = GetRotateCropImage(srcimg, boxes[i]);
我推测是预测的boxes的大小不一,但是识别网络的输入没有处理好应对长度不一的输入,请教下您该如何解决呢?被困了快一周了,谢谢~