picodet onnx转其它芯片支持格式时遇到

文章目录

报错信息

报错信息为:

Upsample(resize) Resize_0 not support attribute coordinate_transformation_mode:half_pixel.

解决方法

整个模型转换过程是:paddle 动态模型转成静态,再用paddle2onnx转成onnx,onnx再转成特定芯片的格式,这是最后一个环节出的问题,即onnx转特定AI芯片时,转换工具报出来错,下面找原因。

原代码中,用的paddle.nn.Upsample(scale_factor=2,mode="nearest"),在GPU上可以正常推理,但最终目的是为了上AI,所以必须把这个算子进行适配,好在该算子没有参数,无需对模型进行重新训练,只是说在转换上有地方有点问题。

经过多次尝试:解决方法就是升级paddle2onnx,从原来的0.90升到了1.03,对应的onnx1.9升级到1.12,paddle框架的版本都是2.3.2.所以不清楚是onnx的问题还是,paddle2onnx的问题;opset试过11和12,都解决不了问题;算子nn.Upsample改成 paddle.nn.functional.interpolate也不管用。

转换失败的算子如图:

转换成功的算子:

从图上来看,paddle2onnx这个工具的问题可能是最大的。

两模型精度对比

正常来说,要对比是需要将onnx与原始paddle的静态图模型做对比。同时也要对比两个onnx的结果的差异,为了简单,只要对onnx模型做相同输入下的输出即可,因为只是差一个算子,所以归根结底是对比这一个算子的。

相关推荐
编码小哥8 分钟前
OpenCV特征匹配:暴力匹配与FLANN匹配实战
人工智能·opencv·计算机视觉
数字游民952713 分钟前
网站备案全流程回放(腾讯云)
人工智能·git·github·腾讯云·网站备案·waytoopc
飞哥数智坊16 分钟前
3位实战分享、6个案例展示,TRAE Friends@济南第二场圆满完成
人工智能·ai编程·trae
xiaobaishuoAI17 分钟前
全链路性能优化实战指南:从瓶颈定位到极致优化
大数据·人工智能·科技·百度·geo
人工小情绪17 分钟前
深度学习模型部署形式
人工智能·深度学习
AI_567818 分钟前
零基础学Linux:21天从“命令小白”到独立部署服务器
linux·服务器·人工智能·github
乾元20 分钟前
如何把 CCIE / HCIE 的实验案例改造成 AI 驱动的工程项目——从“实验室能力”到“可交付系统”的完整迁移路径
大数据·运维·网络·人工智能·深度学习·安全·机器学习
GZKPeng21 分钟前
pytorch +cuda成功安装后, torch.cuda.is_available 是False
人工智能·pytorch·python
QBoson24 分钟前
量子机器学习用于药物发现:系统综述
人工智能·机器学习·量子计算
DatGuy25 分钟前
Week 32: 深度学习补遗:Agent的认知架构、记忆系统与高阶规划
人工智能·深度学习