onnx模型推理(python)
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)相关推荐
- onnx 模型推理示例-Python 实现 |【onnx 模型推理】
文章目录 Python onnx 模型推理示例 Python onnx 模型推理示例 onnx 模型推理示例 [仅供参考] 这是一个 风格迁移 onnx 模型推理过程代码,包含步骤如下 加载模型 - ...
- 【地平线开发板 模型转换】将pytorch生成的onnx模型转换成.bin模型
文章目录 1 获取onnx模型 2 启动docker容器 3 onnx模型检查 3.1 为什么要检查? 3.2 如何操作 4 图像数据预处理 4.1 一些问题的思考 4.2 图片挑选与放置 4.2 使 ...
- 人脸识别:史上最详细人脸识别adaface讲解-ckpt转onnx模型--第三节
这章节我会讲解的是我在工作上的项目,人脸识别adaface,以下的讲解为个人的看法,若有地方说错的我会第一时间纠正,如果觉得博主讲解的还可以的话点个赞,就是对我最大的鼓励~ 上一章节我们讲到了模型的训 ...
- 1、pth转onnx模型、onnx转tensorrt模型、python中使用tensorrt进行加速推理(全网最全,不信你打我)
本文向所有亲们介绍在python当中配置tensorrt环境.使用tensorrt环境进行推理的教程,主要分为两大部分,第一部分环境配置,第二部分前向推理. 第一部分 环境配置 第一步:检查你的系统类 ...
- yolov3模型部署实战weights转onnx并推理
前言: 最近比较忙(懒),本学渣在写毕业论文(好难受),所以博客的更新不是那么有效率,哈哈: 本文的目的是用实操带你一步一步的实现darknet模型框架的部署流程:(当然darknet算法的训练在本人 ...
- yolov3-tiny原始weights模型转onnx模型并进行推理
时隔不知道多少天,我记起来我还有部分博客没写完(偷懒),所以不能偷懒把它完成!! 这篇博客的主要内容 将yolov3-tiny.weights模型转换到.onnx模型: 使用onnnxruntime- ...
- 模型推理加速系列|如何用ONNX加速BERT特征抽取(附代码)
简介 近期从事模型推理加速相关项目,所以抽空整理最近的学习经验.本次实验目的在于介绍如何使用ONNXRuntime加速BERT模型推理.实验中的任务是利用BERT抽取输入文本特征,至于BERT在下游任 ...
- 较为详细的记录总结TensorRT的python接口的使用,环境配置,模型转换和静态动态模型推理
先来一段摘抄自网上的TensorRT介绍: TensorRT是英伟达针对自家平台做的加速包,TensorRT主要做了这么两件事情,来提升模型的运行速度. TensorRT支持INT8和FP16的计算. ...
- 2、picodet转onnx裁剪及python onnxruntime推理
文章目录 1 对picodet xs 1.1 动态图转静态图 1.2 静态图转onnx 1.3 paddle 含后处理 all 版本的推理 1.4 onnx 含后处理 all 进行推理 1.5 onn ...
最新文章
- java 流的方式抓取网页 但是显示不全_用java抓取网页源代码时总是无法获取完整的源代码信息,求指导...
- 强化学习之三:双臂赌博机(Two-armed Bandit)
- 关于未能找到源文件“.NETFramework,Version=v4.0.AssemblyAttributes.cs”问题
- Windows环境下文件的彻底删除与恢复,推荐几个工具(整理)
- DDD理论学习系列(13)-- 模块
- 磁盘性能分析一:IO负载高的判断详解
- vue 指令 v-text v-html v-pre
- 8-2 代码覆盖率和性能测试
- c语言自学 中文,C语言自学《一》 ---- 初探C语言
- 小写字母转大写代码HTML,字母大小写转换.html
- 内部收益率(二分法)
- 软件测试的基础知识(四)
- Beyond Part Models: Person Retrieval with Refined Part Pooling 阅读笔记
- html段落间距怎么缩小,WPS怎样缩小段落间距
- kettle命令运行工具(pan、kitchen、carte)
- Profinet协议基础知识(三)
- DCDC开关电源学习
- 【长尾理论】的简单阐述
- 公网远程访问内网群晖NAS 6.X【内网穿透】
- 福建计算机等级考试停考,惊闻|福建省要停考计算机等级考试?!
热门文章
- python基础——元组、文件及其它
- sql语句中`和'两个符号的区别
- You can't specify target table 'myusertable' for ......in FROM clause
- 后缀树的构造方法-Ukkonen详解 [转]
- 修改Windows远程登录端口号
- t-sql导出EXCEL语句
- vue中render: h = h(App)的详细解释
- 50 【Go版本变化】
- 无法启动此程序,因为计算机中丢失VCRUNTIME140.dll 尝试重新安装此程序以解决此问题...
- Windows Phone(三)WP7版 记账本 开发(使用SQLite数据库)