onnx模型推理(python)

以下ONNX一个检测模型的推理过程,其他模型稍微修改即可

# -*-coding: utf-8 -*-import os, syssys.path.append(os.getcwd())
import onnxruntime
import onnxclass ONNXModel():def __init__(self, onnx_path):""":param onnx_path:"""self.onnx_session = onnxruntime.InferenceSession(onnx_path)self.input_name = self.get_input_name(self.onnx_session)self.output_name = self.get_output_name(self.onnx_session)print("input_name:{}".format(self.input_name))print("output_name:{}".format(self.output_name))def get_output_name(self, onnx_session):"""output_name = onnx_session.get_outputs()[0].name:param onnx_session::return:"""output_name = []for node in onnx_session.get_outputs():output_name.append(node.name)return output_namedef get_input_name(self, onnx_session):"""input_name = onnx_session.get_inputs()[0].name:param onnx_session::return:"""input_name = []for node in onnx_session.get_inputs():input_name.append(node.name)return input_namedef get_input_feed(self, input_name, image_tensor):"""input_feed={self.input_name: image_tensor}:param input_name::param image_tensor::return:"""input_feed = {}for name in input_name:input_feed[name] = image_tensorreturn input_feeddef forward(self, image_tensor):'''image_tensor = image.transpose(2, 0, 1)image_tensor = image_tensor[np.newaxis, :]onnx_session.run([output_name], {input_name: x}):param image_tensor::return:'''# 输入数据的类型必须与模型一致,以下三种写法都是可以的# scores, boxes = self.onnx_session.run(None, {self.input_name: image_tensor})# scores, boxes = self.onnx_session.run(self.output_name, input_feed={self.input_name: image_tensor})input_feed = self.get_input_feed(self.input_name, image_tensor)scores, boxes = self.onnx_session.run(self.output_name, input_feed=input_feed)return scores, boxes

onnx模型推理(python)相关推荐

  1. onnx 模型推理示例-Python 实现 |【onnx 模型推理】

    文章目录 Python onnx 模型推理示例 Python onnx 模型推理示例 onnx 模型推理示例 [仅供参考] 这是一个 风格迁移 onnx 模型推理过程代码,包含步骤如下 加载模型 - ...

  2. 【地平线开发板 模型转换】将pytorch生成的onnx模型转换成.bin模型

    文章目录 1 获取onnx模型 2 启动docker容器 3 onnx模型检查 3.1 为什么要检查? 3.2 如何操作 4 图像数据预处理 4.1 一些问题的思考 4.2 图片挑选与放置 4.2 使 ...

  3. 人脸识别:史上最详细人脸识别adaface讲解-ckpt转onnx模型--第三节

    这章节我会讲解的是我在工作上的项目,人脸识别adaface,以下的讲解为个人的看法,若有地方说错的我会第一时间纠正,如果觉得博主讲解的还可以的话点个赞,就是对我最大的鼓励~ 上一章节我们讲到了模型的训 ...

  4. 1、pth转onnx模型、onnx转tensorrt模型、python中使用tensorrt进行加速推理(全网最全,不信你打我)

    本文向所有亲们介绍在python当中配置tensorrt环境.使用tensorrt环境进行推理的教程,主要分为两大部分,第一部分环境配置,第二部分前向推理. 第一部分 环境配置 第一步:检查你的系统类 ...

  5. yolov3模型部署实战weights转onnx并推理

    前言: 最近比较忙(懒),本学渣在写毕业论文(好难受),所以博客的更新不是那么有效率,哈哈: 本文的目的是用实操带你一步一步的实现darknet模型框架的部署流程:(当然darknet算法的训练在本人 ...

  6. yolov3-tiny原始weights模型转onnx模型并进行推理

    时隔不知道多少天,我记起来我还有部分博客没写完(偷懒),所以不能偷懒把它完成!! 这篇博客的主要内容 将yolov3-tiny.weights模型转换到.onnx模型: 使用onnnxruntime- ...

  7. 模型推理加速系列|如何用ONNX加速BERT特征抽取(附代码)

    简介 近期从事模型推理加速相关项目,所以抽空整理最近的学习经验.本次实验目的在于介绍如何使用ONNXRuntime加速BERT模型推理.实验中的任务是利用BERT抽取输入文本特征,至于BERT在下游任 ...

  8. 较为详细的记录总结TensorRT的python接口的使用,环境配置,模型转换和静态动态模型推理

    先来一段摘抄自网上的TensorRT介绍: TensorRT是英伟达针对自家平台做的加速包,TensorRT主要做了这么两件事情,来提升模型的运行速度. TensorRT支持INT8和FP16的计算. ...

  9. 2、picodet转onnx裁剪及python onnxruntime推理

    文章目录 1 对picodet xs 1.1 动态图转静态图 1.2 静态图转onnx 1.3 paddle 含后处理 all 版本的推理 1.4 onnx 含后处理 all 进行推理 1.5 onn ...

最新文章

  1. java 流的方式抓取网页 但是显示不全_用java抓取网页源代码时总是无法获取完整的源代码信息,求指导...
  2. 强化学习之三:双臂赌博机(Two-armed Bandit)
  3. 关于未能找到源文件“.NETFramework,Version=v4.0.AssemblyAttributes.cs”问题
  4. Windows环境下文件的彻底删除与恢复,推荐几个工具(整理)
  5. DDD理论学习系列(13)-- 模块
  6. 磁盘性能分析一:IO负载高的判断详解
  7. vue 指令 v-text v-html v-pre
  8. 8-2 代码覆盖率和性能测试
  9. c语言自学 中文,C语言自学《一》 ---- 初探C语言
  10. 小写字母转大写代码HTML,字母大小写转换.html
  11. 内部收益率(二分法)
  12. 软件测试的基础知识(四)
  13. Beyond Part Models: Person Retrieval with Refined Part Pooling 阅读笔记
  14. html段落间距怎么缩小,WPS怎样缩小段落间距
  15. kettle命令运行工具(pan、kitchen、carte)
  16. Profinet协议基础知识(三)
  17. DCDC开关电源学习
  18. 【长尾理论】的简单阐述
  19. 公网远程访问内网群晖NAS 6.X【内网穿透】
  20. 福建计算机等级考试停考,惊闻|福建省要停考计算机等级考试?!

热门文章

  1. python基础——元组、文件及其它
  2. sql语句中`和'两个符号的区别
  3. You can't specify target table 'myusertable' for ......in FROM clause
  4. 后缀树的构造方法-Ukkonen详解 [转]
  5. 修改Windows远程登录端口号
  6. t-sql导出EXCEL语句
  7. vue中render: h = h(App)的详细解释
  8. 50 【Go版本变化】
  9. 无法启动此程序,因为计算机中丢失VCRUNTIME140.dll 尝试重新安装此程序以解决此问题...
  10. Windows Phone(三)WP7版 记账本 开发(使用SQLite数据库)