使用模型(均采用“slim裁剪量化版“推理模型进行编译nb文件):
1.中文模型默认图片端侧测试
命令:
./ocr_db_crnn ch_ppocr_mobile_v1.1_det_prune_opt.nb ch_ppocr_mobile_v1.1_rec_quant_opt.nb ch_ppocr_mobile_v1.1_cls_quant_opt.nb ./11.jpg ppocr_keys_v1.txt
耗时:
2.2s
截图:
android端:
如图所示除了
libc++_shared.so
libhiai.so
libhiai_ir.so
libhiai_ir_build.so
这四个文件没有替换外,其他图上文件均已替换。
手机采用LGE Nexus 5 Android 6.0.1, API 23
armeabi-v7a
用时:20+8s
日志:
01-12 15:03:31.793 2805-2832/com.baidu.paddle.lite.demo.ocr E/Predictor: model path/data/user/0/com.baidu.paddle.lite.demo.ocr/cache/models/ocr_v1_for_cpu/ch_ppocr_mobile_v1.1_det_prune_opt.nb ; /data/user/0/com.baidu.paddle.lite.demo.ocr/cache/models/ocr_v1_for_cpu/ch_ppocr_mobile_v1.1_rec_quant_opt.nb;/data/user/0/com.baidu.paddle.lite.demo.ocr/cache/models/ocr_v1_for_cpu/ch_ppocr_mobile_v1.1_cls_quant_opt.nb
01-12 15:03:31.850 2805-2832/com.baidu.paddle.lite.demo.ocr E/OCR_NDK: cpu_mode not found LITE_POWER_HIGH�
01-12 15:03:31.851 2805-2832/com.baidu.paddle.lite.demo.ocr I/Paddle-Lite: [I 1/12 15: 3:31.851 ...ave/Paddle-Lite/lite/core/device_info.cc:211 get_cpu_arch] Unknow cpu arch: 111
01-12 15:03:31.854 2805-2832/com.baidu.paddle.lite.demo.ocr I/Paddle-Lite: [I 1/12 15: 3:31.854 ...ave/Paddle-Lite/lite/core/device_info.cc:1065 Setup] ARM multiprocessors name: HARDWARE: QUALCOMM MSM 8974 HAMMERHEAD (FLATTENED DEVICE TREE)
HAMMERHEAD_MSM8974
01-12 15:03:31.854 2805-2832/com.baidu.paddle.lite.demo.ocr I/Paddle-Lite: [I 1/12 15: 3:31.854 ...ave/Paddle-Lite/lite/core/device_info.cc:1066 Setup] ARM multiprocessors number: 4
01-12 15:03:31.854 2805-2832/com.baidu.paddle.lite.demo.ocr I/Paddle-Lite: [I 1/12 15: 3:31.854 ...ave/Paddle-Lite/lite/core/device_info.cc:1068 Setup] ARM multiprocessors ID: 0, max freq: 2265, min freq: 2265, cluster ID: 0, CPU ARCH: A-1
01-12 15:03:31.855 2805-2832/com.baidu.paddle.lite.demo.ocr I/Paddle-Lite: [I 1/12 15: 3:31.854 ...ave/Paddle-Lite/lite/core/device_info.cc:1068 Setup] ARM multiprocessors ID: 1, max freq: 2265, min freq: 2265, cluster ID: 0, CPU ARCH: A-1
01-12 15:03:31.855 2805-2832/com.baidu.paddle.lite.demo.ocr I/Paddle-Lite: [I 1/12 15: 3:31.855 ...ave/Paddle-Lite/lite/core/device_info.cc:1068 Setup] ARM multiprocessors ID: 2, max freq: 0, min freq: 0, cluster ID: 1, CPU ARCH: A-1
01-12 15:03:31.855 2805-2832/com.baidu.paddle.lite.demo.ocr I/Paddle-Lite: [I 1/12 15: 3:31.855 ...ave/Paddle-Lite/lite/core/device_info.cc:1068 Setup] ARM multiprocessors ID: 3, max freq: 0, min freq: 0, cluster ID: 1, CPU ARCH: A-1
01-12 15:03:31.855 2805-2832/com.baidu.paddle.lite.demo.ocr I/Paddle-Lite: [I 1/12 15: 3:31.855 ...ave/Paddle-Lite/lite/core/device_info.cc:1074 Setup] L1 DataCache size is:
01-12 15:03:31.855 2805-2832/com.baidu.paddle.lite.demo.ocr I/Paddle-Lite: [I 1/12 15: 3:31.855 ...ave/Paddle-Lite/lite/core/device_info.cc:1076 Setup] 32 KB
01-12 15:03:31.855 2805-2832/com.baidu.paddle.lite.demo.ocr I/Paddle-Lite: [I 1/12 15: 3:31.855 ...ave/Paddle-Lite/lite/core/device_info.cc:1076 Setup] 32 KB
01-12 15:03:31.855 2805-2832/com.baidu.paddle.lite.demo.ocr I/Paddle-Lite: [I 1/12 15: 3:31.855 ...ave/Paddle-Lite/lite/core/device_info.cc:1076 Setup] 32 KB
01-12 15:03:31.855 2805-2832/com.baidu.paddle.lite.demo.ocr I/Paddle-Lite: [I 1/12 15: 3:31.855 ...ave/Paddle-Lite/lite/core/device_info.cc:1076 Setup] 32 KB
01-12 15:03:31.855 2805-2832/com.baidu.paddle.lite.demo.ocr I/Paddle-Lite: [I 1/12 15: 3:31.855 ...ave/Paddle-Lite/lite/core/device_info.cc:1078 Setup] L2 Cache size is:
01-12 15:03:31.855 2805-2832/com.baidu.paddle.lite.demo.ocr I/Paddle-Lite: [I 1/12 15: 3:31.855 ...ave/Paddle-Lite/lite/core/device_info.cc:1080 Setup] 512 KB
01-12 15:03:31.855 2805-2832/com.baidu.paddle.lite.demo.ocr I/Paddle-Lite: [I 1/12 15: 3:31.855 ...ave/Paddle-Lite/lite/core/device_info.cc:1080 Setup] 512 KB
01-12 15:03:31.855 2805-2832/com.baidu.paddle.lite.demo.ocr I/Paddle-Lite: [I 1/12 15: 3:31.855 ...ave/Paddle-Lite/lite/core/device_info.cc:1080 Setup] 512 KB
01-12 15:03:31.856 2805-2832/com.baidu.paddle.lite.demo.ocr I/Paddle-Lite: [I 1/12 15: 3:31.856 ...ave/Paddle-Lite/lite/core/device_info.cc:1080 Setup] 512 KB
01-12 15:03:31.856 2805-2832/com.baidu.paddle.lite.demo.ocr I/Paddle-Lite: [I 1/12 15: 3:31.856 ...ave/Paddle-Lite/lite/core/device_info.cc:1082 Setup] L3 Cache size is:
01-12 15:03:31.856 2805-2832/com.baidu.paddle.lite.demo.ocr I/Paddle-Lite: [I 1/12 15: 3:31.856 ...ave/Paddle-Lite/lite/core/device_info.cc:1084 Setup] 0 KB
01-12 15:03:31.856 2805-2832/com.baidu.paddle.lite.demo.ocr I/Paddle-Lite: [I 1/12 15: 3:31.856 ...ave/Paddle-Lite/lite/core/device_info.cc:1084 Setup] 0 KB
01-12 15:03:31.856 2805-2832/com.baidu.paddle.lite.demo.ocr I/Paddle-Lite: [I 1/12 15: 3:31.856 ...ave/Paddle-Lite/lite/core/device_info.cc:1084 Setup] 0 KB
01-12 15:03:31.856 2805-2832/com.baidu.paddle.lite.demo.ocr I/Paddle-Lite: [I 1/12 15: 3:31.856 ...ave/Paddle-Lite/lite/core/device_info.cc:1084 Setup] 0 KB
01-12 15:03:31.856 2805-2832/com.baidu.paddle.lite.demo.ocr I/Paddle-Lite: [I 1/12 15: 3:31.856 ...ave/Paddle-Lite/lite/core/device_info.cc:1086 Setup] Total memory: 1899508KB
01-12 15:03:31.856 2805-2832/com.baidu.paddle.lite.demo.ocr I/Paddle-Lite: [I 1/12 15: 3:31.856 ...ave/Paddle-Lite/lite/core/device_info.cc:885 RequestPowerHighMode] Request thread num: 4, exceed the big cores size: 2, truncate thread num to 2
01-12 15:03:31.893 2805-2832/com.baidu.paddle.lite.demo.ocr I/OCR_NDK: paddle instance created
01-12 15:03:31.893 2805-2832/com.baidu.paddle.lite.demo.ocr I/Paddle-Lite: [I 1/12 15: 3:31.893 ...ave/Paddle-Lite/lite/core/device_info.cc:885 RequestPowerHighMode] Request thread num: 4, exceed the big cores size: 2, truncate thread num to 2
01-12 15:03:31.932 2805-2832/com.baidu.paddle.lite.demo.ocr I/OCR_NDK: paddle instance created
01-12 15:03:31.932 2805-2832/com.baidu.paddle.lite.demo.ocr I/Paddle-Lite: [I 1/12 15: 3:31.932 ...ave/Paddle-Lite/lite/core/device_info.cc:885 RequestPowerHighMode] Request thread num: 4, exceed the big cores size: 2, truncate thread num to 2
01-12 15:03:31.961 2805-2832/com.baidu.paddle.lite.demo.ocr I/OCR_NDK: paddle instance created
01-12 15:03:31.962 2805-2832/com.baidu.paddle.lite.demo.ocr I/OCRPredictorNative: load success 2934003152
01-12 15:03:31.976 2805-2832/com.baidu.paddle.lite.demo.ocr I/Predictor: Word label size: 6623
01-12 15:03:31.976 2805-2832/com.baidu.paddle.lite.demo.ocr E/Predictor: inputColorFormat:BGR-->BGR
1,3,960,-->1,3,960,
0.485,0.456,0.406,-->0.485,0.456,0.406,
0.229,0.224,0.225,-->0.229,0.224,0.225,
0.1-->0.1
01-12 15:03:34.253 2805-2832/com.baidu.paddle.lite.demo.ocr I/Predictor: pixels 0.17681314 0.14256364 0.108314134 0.108314134 1.4831933 1.3781513 0.8447932 0.8796516
01-12 15:03:34.253 2805-2832/com.baidu.paddle.lite.demo.ocr I/OCRPredictorNative: begin to run image 691200 480 480
01-12 15:03:34.253 2805-2832/com.baidu.paddle.lite.demo.ocr I/OCR_NDK: begin to run native forward
01-12 15:03:34.271 2805-2832/com.baidu.paddle.lite.demo.ocr I/OCR_NDK: infer Run start 900100
01-12 15:03:34.788 2805-2832/com.baidu.paddle.lite.demo.ocr I/OCR_NDK: infer Run end
01-12 15:03:34.788 2805-2832/com.baidu.paddle.lite.demo.ocr I/OCR_NDK: output tensor[0] size 230400
01-12 15:03:34.805 2805-2832/com.baidu.paddle.lite.demo.ocr I/OCR_NDK: Filter_box size 16
01-12 15:03:34.808 2805-2832/com.baidu.paddle.lite.demo.ocr I/OCR_NDK: infer Run start 991008
01-12 15:03:34.870 2805-2832/com.baidu.paddle.lite.demo.ocr I/OCR_NDK: infer Run end
01-12 15:03:34.870 2805-2832/com.baidu.paddle.lite.demo.ocr I/OCR_NDK: output tensor[0] size 2
01-12 15:03:34.870 2805-2832/com.baidu.paddle.lite.demo.ocr I/OCR_NDK: output tensor[1] size 1
01-12 15:03:34.870 2805-2832/com.baidu.paddle.lite.demo.ocr I/OCR_NDK: output scores [0.999993]
01-12 15:03:34.870 2805-2832/com.baidu.paddle.lite.demo.ocr I/OCR_NDK: output scores [0.000007]
01-12 15:03:34.870 2805-2832/com.baidu.paddle.lite.demo.ocr I/OCR_NDK: output label [0]
01-12 15:03:34.871 2805-2832/com.baidu.paddle.lite.demo.ocr I/OCR_NDK: infer Run start 991008
01-12 15:03:35.004 2805-2832/com.baidu.paddle.lite.demo.ocr I/OCR_NDK: infer Run end
01-12 15:03:35.004 2805-2832/com.baidu.paddle.lite.demo.ocr I/OCR_NDK: output tensor[0] size 7
01-12 15:03:35.004 2805-2832/com.baidu.paddle.lite.demo.ocr I/OCR_NDK: output tensor[1] size 390875
01-12 15:03:35.014 2805-2832/com.baidu.paddle.lite.demo.ocr I/OCR_NDK: calc score: 0.993507
01-12 15:03:35.017 2805-2832/com.baidu.paddle.lite.demo.ocr I/OCR_NDK: infer Run start 991008
01-12 15:03:35.228 2805-2832/com.baidu.paddle.lite.demo.ocr I/OCR_NDK: infer Run end
01-12 15:03:35.228 2805-2832/com.baidu.paddle.lite.demo.ocr I/OCR_NDK: output tensor[0] size 2
01-12 15:03:35.228 2805-2832/com.baidu.paddle.lite.demo.ocr I/OCR_NDK: output tensor[1] size 1
01-12 15:03:35.228 2805-2832/com.baidu.paddle.lite.demo.ocr I/OCR_NDK: output scores [0.999998]
01-12 15:03:35.228 2805-2832/com.baidu.paddle.lite.demo.ocr I/OCR_NDK: output scores [0.000002]
01-12 15:03:35.228 2805-2832/com.baidu.paddle.lite.demo.ocr I/OCR_NDK: output label [0]
01-12 15:03:35.228 2805-2832/com.baidu.paddle.lite.demo.ocr I/OCR_NDK: infer Run start 991008
01-12 15:03:35.411 2805-2832/com.baidu.paddle.lite.demo.ocr I/OCR_NDK: infer Run end
01-12 15:03:35.411 2805-2832/com.baidu.paddle.lite.demo.ocr I/OCR_NDK: output tensor[0] size 7
01-12 15:03:35.411 2805-2832/com.baidu.paddle.lite.demo.ocr I/OCR_NDK: output tensor[1] size 311375
01-12 15:03:35.416 2805-2832/com.baidu.paddle.lite.demo.ocr I/OCR_NDK: calc score: 0.993926
01-12 15:03:35.419 2805-2832/com.baidu.paddle.lite.demo.ocr I/OCR_NDK: infer Run start 991008