Paddle-Lite
Paddle-Lite copied to clipboard
官方呀官方!飞桨呀飞桨!能不能积极点解决大家的问题!大家的问题才是你进步的阶梯! ConvertConv2D] Check failed: IsSameSymmQuantParams(input_scales, quant_scales)
硬件的环境: 鲲鹏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++代码:
错误代码:
以下都是心路历程: 前前后后、断断续续搞了快一个月了。
(1) 自己也尝试编译成功了华为上的版本paddleLite版本编译的方法如下:
export LITE_BUILD_THREADS=1
export C=/usr/bin/aarch64-linux-gnu-gcc
export CXX=/usr/bin/aarch64-linux-gnu-g++
其中报错了,说是内存空间不足,我又创建了16G的交换分区,如下图:
(2) 遇到了拉库拉不下来,我查了查dns设置了延时最小的地址:
经过反复的长跑paddle编译又报错了,说什么cann中的op找不到,这时是依赖Ascend cann下面的一些库:我尝试这样改了好了。
终于paddle-lite库编译好了。
(3)又接着变异opt优化工具,最终报错是openblas里面,源码拉下来了,就是一堆宏报错,这时我放弃了。
(4)查了查资料release,发现,inference_lite_lib.ky10.armv8.huawei_ascend_npu.CANN6.0.0.alpha006.tar.gz可以用,版本接近,接着又研究模型opt,执行程序发现,出现cann出现了,有了进步,但是又报了个查不到的错误,解决不了了。其中自己发现和自己编译的库没有多大关系,一个样的,应该和这个模型优化有关系。
最后,这玩意的框架思路、成功案例,问题解答,官方做的太不好了,希望遇到问题能够给与解决,希望解决后自己写个博客一扫大家在Ascend移植的顾虑。但是的但是,现在还没有解决。
您好,Lite适配昇腾CANN版本为CANN 5.2.x,CANN 6.0.x 会存在大版本的不兼容性,导致编译和适配失败,请您这里贴一下您聚到的具体错误,我们尝试定位下,谢谢!
您好,Lite适配昇腾CANN版本为CANN 5.2.x,CANN 6.0.x 会存在大版本的不兼容性,导致编译和适配失败,请您这里贴一下您聚到的具体错误,我们尝试定位下,谢谢!
你好。这个文章的标题就是具体错误,错误代码就是具体错误!其他是自己整个编译过程和尝试解决错误的过程。 顺便问一下,我们可以提供调试的硬件环境,看能帮忙解决不。个人Wechat:18700986104
从错误上看,你的模型是量化模型,现在 PaddleLite+Ascend NPU 只支持 FP32 模型跑在 NPU FP16 精度上。
可以先基于我们文档 https://www.paddlepaddle.org.cn/lite/v2.12/demo_guides/huawei_ascend_npu.html 提供的 demo 把简单的模型跑通,确认环境是否 OK,然后再进行新的模型适配。