码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • paddle 44 用onnxruntime实现ppyoloe模型的部署(含python和c++版本),支持batchsize


    通过正常渠道导出的paddledetection由于内置nms操作,因而无法进行多图推理,正常导出模型部署的代码可以参考paddle 43 用onnxruntime实现ppyoloe模型的部署(含python和c++版本),为此对源码深入研究,实现导出的onnx模型同时推理多个图像,并实现python与C++下的多图推理。

    1、 修改ppyoloe_head.py

    目标检测模型由backbone、neck和head组成,ppyoloe的head在paddledetection源码中为ppyoloe_head.py文件,其head在模型训练与导出时有不同forward路径。在模型导出时默认会boxes解码和nms操作,具体对应的函数为post_process,通过else分支导出的模型会包含nms操作,导致无法支持传入多个图像同时推理(因为nms操作后每个图像的boxes数量都不一致,导致concat操作会失败);只有通过if分支导出的模型,不包含nms才可以正常支持传入多个图像进行推理。为此,需要修改ppyoloe_head.py的代码

    def post_process(self, head_outs
    • 相关阅读:
      【AI视野·今日NLP 自然语言处理论文速览 第三十九期】Fri, 22 Sep 2023
      到了30岁,我才有了深刻的感悟:千万不要一辈子靠技术生存
      java判断字符串是否为数字或中文或字母
      计算机毕业设计(附源码)python在线付费课程学习平台
      可编程直流回馈式负载箱的工作原理
      《攻守道》笔记(2)
      C#窗体设计SaveFileDialog的用法
      【数据结构和算法初阶(C语言)】链表-单链表(手撕详讲单链表增删查改)
      在Ubuntu 18.04上支持C++17的std::filesystem的方法
      《最新出炉》系列初窥篇-Python+Playwright自动化测试-11-playwright操作iframe-上篇
    • 原文地址:https://blog.csdn.net/a486259/article/details/128132947
    • 最新文章
    • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
      用 Hashids 优雅解决 C 端自增 ID 暴露问题
      V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
      LLVM Pass快速入门(四):代码插桩
      milkup:桌面端 markdown AI续写和即时渲染
      基于项目工程构建SBOM(软件物料清单)的研究
      鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
      .NET 中如何快速实现 List 集合去重?
      扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
      浅谈数据访问层
    • 热门文章
    • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
      奉劝各位学弟学妹们,该打造你的技术影响力了!
      五年了,我在 CSDN 的两个一百万。
      Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
      面试官都震惊,你这网络基础可以啊!
      你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
      心情不好的时候,用 Python 画棵樱花树送给自己吧
      通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
      13 万字 C 语言从入门到精通保姆级教程2021 年版
      10行代码集2000张美女图,Python爬虫120例,再上征途
    小工具 小游戏
    Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

    京公网安备 11010502049817号