当前位置: 首页 > news >正文

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

http://www.lryc.cn/news/184184.html

相关文章:

  • 【学习笔记】CF704B Ant Man
  • SQLines数据迁移工具
  • pkl文件与打开(使用numpy和pickle)
  • 3d渲染农场全面升级,好用的渲染平台值得了解
  • 1.5 JAVA程序运行的机制
  • 基于FPGA的拔河游戏设计
  • 关联规则挖掘(下):数据分析 | 数据挖掘 | 十大算法之一
  • 8、【Qlib】【主要组件】预测模型:模型训练和预测
  • kettle安装
  • 基于生物地理学优化的BP神经网络(分类应用) - 附代码
  • 第二证券:买基金1w一个月能赚多少?
  • 蓝桥杯每日一题2023.10.7
  • Linux 系统为何产生大量的 core 文件?
  • Web_python_template_injection SSTI printer方法
  • TCP/IP网络江湖——江湖导航(网络层上篇)
  • 数据结构——AVL树(详解 + C++模拟实现)
  • redis 雪崩,穿透,击穿及解决方案
  • Flutter环境搭建及新建项目
  • 【面试题精讲】深拷贝和浅拷贝区别了解吗?什么是引用拷贝?
  • CentOS7.9中使用packstack安装train版本
  • mfw git泄露构造闭合
  • UE5修改导航网格的参数
  • 郁金香2021年游戏辅助技术中级班(七)
  • 【网络】路由器和交换机的区别
  • SQL的CASE WHEN函数、CAST函数、CONVERT() 函数、COALESCE()函数、DATEDIFF()函数
  • 前后端分离计算机毕设项目之基于springboot+vue的房屋租赁系统《内含源码+文档+部署教程》
  • 《Spring框架前世今生》
  • 基于树种优化的BP神经网络(分类应用) - 附代码
  • 纳百川冲刺创业板上市:计划募资约8亿元,宁德时代为主要合作方
  • light client轻节点简介