PaddlePaddle / Paddle-Lite

PaddlePaddle High Performance Deep Learning Inference Engine for Mobile and Edge (飞桨高性能深度学习端侧推理引擎)
https://www.paddlepaddle.org.cn/lite
Apache License 2.0
6.93k stars 1.61k forks source link

paddlelite相关的一些问题 #7672

Closed kismit closed 7 months ago

kismit commented 2 years ago
  1. PaddleLite可以resize输入维度,那是怎样分配内存的呢?预先申请的不够再去申请?可以无限大小申请?这样不断动态申请是否会影响执行效率?
  2. ppocr PACT量化的检测模型使用1/2线程推理(set_threads)正常,使用3个以上的线程推理崩溃(Segmentation fault (core dumped)),这是为啥?
  3. ppocr 识别和检测模型在线程中做推理,第一次推理需要使用一张大图推理,否则会在后续推理过程中推理大图的时候崩溃,这个是否和1有关?
  4. Opencl模型(--valid_targets=opencl)可以用只支持cpu推理(--with_opencl=OFF)的框架推理吗?反过来说支持opencl的推理框架可以支持cpu模型(--valid_targets=arm)的推理吗?业务需要跑一个opencl模型和cpu模型
  5. Paddlelite推理框架对paddlepaddle 1.0/2.0模型同时支持吗,需要严格的版本要求吗,有无性能差异?
  6. ppocr PACT QAT量化得到的识别模型(RCNN)大小确实比f32的小了很多,但是推理速度和f32的基本一样且模型精度有说下降,请问这是正常的吗?量化的意义是?
  7. PaddleLite支持半精度和混合精度模型量化和推理吗?
paddle-bot-old[bot] commented 2 years ago

您好,我们已经收到了您的问题,会安排技术人员尽快解答您的问题,请耐心等待。请您再次检查是否提供了清晰的问题描述、复现代码、环境&版本、报错信息等。同时,您也可以通过查看官网文档常见问题历史Issue来寻求解答。祝您生活愉快~

Hi! We've received your issue and please be patient to get responded. We will arrange technicians to answer your questions as soon as possible. Please make sure that you have posted enough message to demo your request. You may also check out the APIFAQ and Github Issue to get the answer.Have a nice day!

kismit commented 2 years ago

补充信息: 芯片:rk3326 4*A35 平台:arm-linux 64

chenjiaoAngel commented 2 years ago
  1. 根据输入shape,结合内存复用,初始化时,分配网络推理所需的最大内存空间。运行时不会再分配
  2. 这个先check 手机有几个处理器,会不会是线程数超过已有的;如果不是,建议线程数使用1,2,4 进行,如果运行多线程仍有问题,可提交issue(注明版本信息+编译选项+推理平台(CPU/GPU/NPU)+模型+预处理后的输入数据)
  3. 这个问题是模型的输入shape可变下,中间某次推理的shape变大,运行crash吗?请问用的哪个版本预测库呢?最新2.9/2.10 有修复部分动态shape 的问题
  4. 这个跟编译的预测库相关,可以编译一个OpenCL和 CPU 都有的预测库,在OPT转换模型时进行区分,通过valid_target 进行选择OpenCL 还是arm_cpu 推理。OpenCL 模型推理时,遇到不支持的OP,会自动调用CPU 算子
  5. paddle1.0/2.0 模型均支持,版本应该没有要求,但要求OPT 版本和预测库版本是一致的
  6. 那这个量化模型的性能是不是测试不对,理论应该比FP32 模型要好。精度上,可能有些许损失(量化计算引入,然后不断放大)。还有一种性能差不多时,conv_depthwise 的卷积是不是居多,此类卷积实现的性能和FP32 性能差不多
  7. 目前支持FP32+int8和 FP32+FP16(暂支持armv8.2 手机,架构师armV8)推理