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模型做相同输入下的输出即可,因为只是差一个算子,所以归根结底是对比这一个算子的。

相关推荐
周杰伦_Jay39 分钟前
【Mac 上命令行安装 Claude Code】(Claude 的终端版 AI 编程助手)完整指南
人工智能·macos·claude code
一只理智恩44 分钟前
AI辅助,两天实现一个IM系统?
人工智能
薛定谔的猫19821 小时前
二十、使用PyTorch和Hugging Face Transformers训练中文GPT-2模型的技术实践
人工智能·pytorch·gpt
zhangfeng11331 小时前
大模型微调主要框架 Firefly vs LLaMA Factory 全方位对比表
人工智能·语言模型·开源·llama
爱打代码的小林1 小时前
OpenCV 实现实时人脸检测
人工智能·opencv·计算机视觉
cyyt1 小时前
深度学习周报(1.26~2.1)
人工智能·深度学习
YOLO视觉与编程1 小时前
yolo26目标检测可视化界面系统源码
人工智能·目标检测·计算机视觉
你大爷的,这都没注册了1 小时前
配置阿里百炼云平台的api_key
人工智能
Faker66363aaa1 小时前
青香蕉尺寸分类与检测:从小尺寸香蕉手识别到模型优化_cascade-rcnn_hrnetv2p-w40-20e_coco
人工智能·分类·数据挖掘
shangjian0071 小时前
AI-大语言模型LLM-模型微调8-进阶操作
人工智能·深度学习·语言模型