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.89k stars 1.6k forks source link

A311D 的npu版本问题 #9471

Closed Hyperpepe closed 1 week ago

Hyperpepe commented 1 year ago

基础信息    1)Paddle Lite 版本:v2.10    2)Host 环境:Ubuntu 2004    3)运行设备环境:荣品Amlogic A311D开发板    4)预测后端信息:amlogic_NPU加速器
预测信息    1)预测 API:Demo C++    2)预测选项信息:&&    3)预测库来源:官网下载 问题和#8488类似,可以说一模一样。但是我咨询了一下荣品的客服,paddle团队使用的golcore版本荣品官方跳过了那个版本,未编译适用于这个demo的镜像,但是在paddle官网我看到的板子的型号就是荣品的。我就有点不解。放图 1 2

我运行的图没截下来,和#8488一模一样的error,运行设备改为amlogic_npu,在run.sh最后一样直接abroat退出了。 再次咨询

paddle-bot[bot] commented 1 year 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!

yingshengBD commented 1 year ago

https://www.paddlepaddle.org.cn/lite/develop/demo_guides/verisilicon_timvx.html 请参考我们最新的芯原NPU文档。

由于芯原release的NPU ip很多,芯片厂release给下游设备商也有不同版本,所以存在环境版本碎片化的问题,但是参考上面的文档链接,就可以解决。

Hyperpepe commented 1 year ago

你好,很高兴能帮助我 我这个昨天也看过了,但是我这个切换软连接也出现了问题,意思就是,无法删除原有的golcore版本,安装新版本是可以的但是会存在两个版本共存的情况,切换软连接也无济于事。所以我无奈想寻找一个打包好的镜像。

yingshengBD commented 1 year ago

galcore如果之前无法卸载,还有一种操作: 在根目录find -name galcore.ko 这样可以找到galcore在系统的默认存放地址,把原来那个备份+删除,把新的放进去这个目录然后重启 至于你说的软链接问题,我没太理解是啥问题

Genlk commented 1 year ago

我在C308板子上面跑自己的模型,cpu可以运行,切换到amlogic_npu 之后,有下面的报错 image (模型数据的维度没有问题,torch版本的模型在服务器侧可以正常推理),转换成端侧模型,在c308板子上跑的时候,有区别 请问两位有没有什么建议的解决思路? @pigpigfang @yingshengBD

yingshengBD commented 1 year ago

我在C308板子上面跑自己的模型,cpu可以运行,切换到amlogic_npu 之后,有下面的报错 image (模型数据的维度没有问题,torch版本的模型在服务器侧可以正常推理),转换成端侧模型,在c308板子上跑的时候,有区别 请问两位有没有什么建议的解决思路? @pigpigfang @yingshengBD

1,不建议使用amlogic的文档,这个ddk很久没升级了,支持算子较少,建议使用芯原timvx的文档,按照那个流程。 2,日志截取全一点,应该不是挂在这里 3,不管是amlogic ddk的方式 还是芯原timvx的方式,模型都必须量化int8

Genlk commented 1 year ago

好的,我用芯原timvx的文档。 我先确认一下我这边量化的问题

Hyperpepe commented 1 year ago

我更换了另一个厂家的开发板后发现尽管golcore版本对上了,可是依旧无法识别NPU Snipaste_2022-09-22_16-43-31 还有一个问题就是交叉编译的问题,我在页面上点击DOCKER镜像时显示页面无法显示,请问是把这篇文章删掉了吗。还是说可以参考paddlepaddle的docker镜像。我的板子是刚刚到手的新板子,还未updata以及upgrade。khadas的VIM3。

Coder-TieHH commented 1 year ago

我在C308板子上面跑自己的模型,cpu可以运行,切换到amlogic_npu 之后,有下面的报错 image (模型数据的维度没有问题,torch版本的模型在服务器侧可以正常推理),转换成端侧模型,在c308板子上跑的时候,有区别 请问两位有没有什么建议的解决思路? @pigpigfang @yingshengBD

1,不建议使用amlogic的文档,这个ddk很久没升级了,支持算子较少,建议使用芯原timvx的文档,按照那个流程。 2,日志截取全一点,应该不是挂在这里 3,不管是amlogic ddk的方式 还是芯原timvx的方式,模型都必须量化int8

您好,我在转化自己的onnx模型到paddlelite的时候,发现当我使用--lite_valid_place=amlogic_npu的时候,会出现不支持的算子,但是当我改为--lite valid place=verisilicon_timvx就没问题了,请问这两者之间的区别是什么。 我的板子是荣品的a311d,当我拿着“--lite valid place=verisilicon_timvx”转化后的模型,可以直接在npu上跑吗,需不需要量化。请大佬不吝赐教。 image image