Paddle-Lite icon indicating copy to clipboard operation
Paddle-Lite copied to clipboard

官方呀官方!飞桨呀飞桨!能不能积极点解决大家的问题!大家的问题才是你进步的阶梯! ConvertConv2D] Check failed: IsSameSymmQuantParams(input_scales, quant_scales)

Open shengzhe8688 opened this issue 1 year ago • 2 comments

硬件的环境: 鲲鹏910服务器 aarch64 atlas300i加速卡 CANN版本: ubuntu18.04 cann6.0RC1alph005 使用paddleLite库: 下载官方inference_lite_lib.ky10.armv8.huawei_ascend_npu.CANN6.0.0.alpha006.tar.gz 和对应opt 我的服务器: 华为鲲鹏服务器,查了一下就是armv8的 模型转换: ./opt_linux_aarch64 --model_file=./model/ch_ppocr_mobile_v2.0_det_slim_infer/inference.pdmodel --param_file=./model/ch_ppocr_mobile_v2.0_det_slim_infer/inference.pdiparams --optimize_out=./model/ch_ppocr_mobile_v2.0_det_slim_npu --valid_targets=huawei_ascend_npu,arm --optimize_out_type=naive_buffer ./opt_linux_aarch64 --model_file=./model/ch_ppocr_mobile_v2.0_rec_slim_infer/inference.pdmodel --param_file=./model/ch_ppocr_mobile_v2.0_rec_slim_infer/inference.pdiparams --optimize_out=./model/ch_ppocr_mobile_v2.0_rec_slim_npu --valid_targets=huawei_ascend_npu,arm --optimize_out_type=naive_buffer ./opt_linux_aarch64 --model_file=./model/ch_ppocr_mobile_v2.0_cls_slim_infer/inference.pdmodel --param_file=./model/ch_ppocr_mobile_v2.0_cls_slim_infer/inference.pdiparams --optimize_out=./model/ch_ppocr_mobile_v2.0_cls_slim_npu --valid_targets=huawei_ascend_npu,arm --optimize_out_type=naive_buffer

c++代码: b7007ba6a91de391dae3fb5f7e8690d1

错误代码: b34c6eb155c7fc3313b9dffdf6e9bc07

以下都是心路历程: 前前后后、断断续续搞了快一个月了。 (1) 自己也尝试编译成功了华为上的版本paddleLite版本编译的方法如下: export LITE_BUILD_THREADS=1 export C=/usr/bin/aarch64-linux-gnu-gcc export CXX=/usr/bin/aarch64-linux-gnu-g++ 其中报错了,说是内存空间不足,我又创建了16G的交换分区,如下图: image (2) 遇到了拉库拉不下来,我查了查dns设置了延时最小的地址: image 经过反复的长跑paddle编译又报错了,说什么cann中的op找不到,这时是依赖Ascend cann下面的一些库:我尝试这样改了好了。 1eea8d3ef23515283bc8ec5fbf06b80a 终于paddle-lite库编译好了。 (3)又接着变异opt优化工具,最终报错是openblas里面,源码拉下来了,就是一堆宏报错,这时我放弃了。 (4)查了查资料release,发现,inference_lite_lib.ky10.armv8.huawei_ascend_npu.CANN6.0.0.alpha006.tar.gz可以用,版本接近,接着又研究模型opt,执行程序发现,出现cann出现了,有了进步,但是又报了个查不到的错误,解决不了了。其中自己发现和自己编译的库没有多大关系,一个样的,应该和这个模型优化有关系。 最后,这玩意的框架思路、成功案例,问题解答,官方做的太不好了,希望遇到问题能够给与解决,希望解决后自己写个博客一扫大家在Ascend移植的顾虑。但是的但是,现在还没有解决。

shengzhe8688 avatar Dec 07 '23 10:12 shengzhe8688

您好,Lite适配昇腾CANN版本为CANN 5.2.x,CANN 6.0.x 会存在大版本的不兼容性,导致编译和适配失败,请您这里贴一下您聚到的具体错误,我们尝试定位下,谢谢!

qili93 avatar Feb 05 '24 12:02 qili93

您好,Lite适配昇腾CANN版本为CANN 5.2.x,CANN 6.0.x 会存在大版本的不兼容性,导致编译和适配失败,请您这里贴一下您聚到的具体错误,我们尝试定位下,谢谢!

你好。这个文章的标题就是具体错误,错误代码就是具体错误!其他是自己整个编译过程和尝试解决错误的过程。 顺便问一下,我们可以提供调试的硬件环境,看能帮忙解决不。个人Wechat:18700986104

shengzhe8688 avatar Feb 06 '24 01:02 shengzhe8688

从错误上看,你的模型是量化模型,现在 PaddleLite+Ascend NPU 只支持 FP32 模型跑在 NPU FP16 精度上。

hong19860320 avatar Feb 20 '24 11:02 hong19860320

可以先基于我们文档 https://www.paddlepaddle.org.cn/lite/v2.12/demo_guides/huawei_ascend_npu.html 提供的 demo 把简单的模型跑通,确认环境是否 OK,然后再进行新的模型适配。

hong19860320 avatar Feb 27 '24 04:02 hong19860320