PaddlePaddle / PaddleOCR

Awesome multilingual OCR toolkits based on PaddlePaddle (practical ultra lightweight OCR system, support 80+ languages recognition, provide data annotation and synthesis tools, support training and deployment among server, mobile, embedded and IoT devices)
https://paddlepaddle.github.io/PaddleOCR/
Apache License 2.0
43.91k stars 7.8k forks source link

关于在端侧部署时,./opt转化提示 No kernels No kernels found for fake_channel_wise_dequantize_max_abs。 #1644

Closed longshifeng closed 3 years ago

longshifeng commented 3 years ago

树莓派4B 在端侧部署 已编译好Paddle-lite ,在按照demo 最后执行 ./ocr_db_crnn ch_ppocr_mobile_v1.1_det_prune_opt.nb ch_ppocr_mobile_v1.1_rec_quant_opt.nb ch_ppocr_mobile_cls_quant_opt.nb ./11.jpg ppocr_keys_v1.txt 时候 提示 现有的paddlite-version与opt-version不符 image

因此决定自行在树莓派上 ./opt转化推理模型,下载了 ch_ppocr_mobile_v1.1_det_prune_infer ch_ppocr_mobile_v1.1_cls_quant_infer ch_ppocr_mobile_v1.1_rec_quant_infer 三部分模型 进行端侧./opt转化

最终只转化成功det模型,cls与rec模型均提示 No kernels found for fake_channel_wise_dequantize_max_abs image

查看paddle-lite官方网站的支持OPl列表,https://paddlepaddle.github.io/Paddle-Lite/v2.1.0/support_operation_list/ 发现fake_channel算子确实不在ARM kernals中

那么历程中的.nb是如何转化的??或者这种情况应该如何转化? @LDOUBLEV 多谢大佬指教~多有打扰。

LDOUBLEV commented 3 years ago

你编译opt使用的paddlelite版本和树莓派4B上的芯片是?opt和预测库建议用2.7分支自己编译的,这个OP在arm系列芯片上已经支持了的

另外,检测模型没有量化,识别和分类模型都量化了,如果想 临时避开 这个问题,可以用这两个模型: ch_ppocr_mobile_v1.1_cls_infer ch_ppocr_mobile_v1.1_rec_infer

longshifeng commented 3 years ago

@LDOUBLEV
谢谢,已解决。 期待团队能给出python下的部署demo,因为paddle-lite在端侧 python环境下编译更容易。 另外,cls模型还是有些问题,跳过就好了=。=