Paddle-Lite nnapi

c2e8gylq  于 2022-10-27  发布在  其他
关注(0)|答案(3)|浏览(333)

你好,我看你们文档介绍说opt转换模型时制定nnapi只是标记了nnapi支持的paddle算子,那如果模型中存在nnapi不支持的paddle算子,这时候是会在opt转换nb模型时候出错,还是说可以成功转换,并且不支持的paddle算子会被自动放置在CPU上执行?期待回复,谢谢...

ckx4rj1h

ckx4rj1h1#

你好,我看你们文档介绍说opt转换模型时制定nnapi只是标记了nnapi支持的paddle算子,那如果模型中存在nnapi不支持的paddle算子,这时候是会在opt转换nb模型时候出错,还是说可以成功转换,并且不支持的paddle算子会被自动放置在CPU上执行?期待回复,谢谢...

paddlelite 支持 nnapi 的过程是 paddle model->paddle ops->nnapi ops->nnapi model,其中 paddle ops->nnapi ops 目前支持的算子有限,可以在 https://github.com/PaddlePaddle/Paddle-Lite/blob/develop/lite/kernels/nnadapter/converter/all.h 查看已经支持的 paddle ops,对于不支持的算子,我们会自动异构到 CPU 上的。

kx1ctssn

kx1ctssn2#

你好,我看你们文档介绍说opt转换模型时制定nnapi只是标记了nnapi支持的paddle算子,那如果模型中存在nnapi不支持的paddle算子,这时候是会在opt转换nb模型时候出错,还是说可以成功转换,并且不支持的paddle算子会被自动放置在CPU上执行?期待回复,谢谢...

paddlelite 支持 nnapi 的过程是 paddle model->paddle ops->nnapi ops->nnapi model,其中 paddle ops->nnapi ops 目前支持的算子有限,可以在 https://github.com/PaddlePaddle/Paddle-Lite/blob/develop/lite/kernels/nnadapter/converter/all.h 查看已经支持的 paddle ops,对于不支持的算子,我们会自动异构到 CPU 上的。

谢谢回复,请问一下异构到CPU上的算子会使用你们paddle lite 在arm cpu上加速库进行计算吗?异构计算速度会出现严重下降吗?相比于全部在CPU上执行

mbyulnm0

mbyulnm03#

你好,我看你们文档介绍说opt转换模型时制定nnapi只是标记了nnapi支持的paddle算子,那如果模型中存在nnapi不支持的paddle算子,这时候是会在opt转换nb模型时候出错,还是说可以成功转换,并且不支持的paddle算子会被自动放置在CPU上执行?期待回复,谢谢...

paddlelite 支持 nnapi 的过程是 paddle model->paddle ops->nnapi ops->nnapi model,其中 paddle ops->nnapi ops 目前支持的算子有限,可以在 https://github.com/PaddlePaddle/Paddle-Lite/blob/develop/lite/kernels/nnadapter/converter/all.h 查看已经支持的 paddle ops,对于不支持的算子,我们会自动异构到 CPU 上的。

谢谢回复,请问一下异构到CPU上的算子会使用你们paddle lite 在arm cpu上加速库进行计算吗?异构计算速度会出现严重下降吗?相比于全部在CPU上执行

如果不支持的算子出现在模型中间的话,可能就会切分出大量小的子图,出现性能下降的问题,因为 nnapi 的调用会存在 overhead,但我们也提供了自定义子图切分功能,手动实现子图切分,尽量避免出现子图切分过细,可以参考Kylin NPU 的文档 https://www.paddlepaddle.org.cn/lite/v2.11/demo_guides/huawei_kirin_npu.html

相关问题