pytorch将pt模型转onnx模型
pytorch将pt模型转onnx模型
一 导出ONNX模型
torch.onnx.export(
model, # 要导出的模型
args, # 模型的输入参数,输入参数只需满足shape正确
onnx_export_filepath, # 转换输出的onnx模型的路径
export_params=True, # true表示导出trained model,否则untrained model。默认即可
verbose=False, # true表示打印调试信息
input_names=None, # 指定输入节点名称
output_names=None, # 指定输出节点名称
do_constant_folding=True, # 是否使用常量折叠,默认即可
dynamic_axes=None, # 通过dynamic_axes来指定输入tensor的哪些参数可变
opset_version=9 # 指定onnx的opset版本,版本过低的话,不支持upsample等操作
)
示例1:
import torch
model = torch.load('HyClsNet(traced).pt')
model.eval()
input_names = ['input']
output_names = ['output']
x = torch.randn(1,3,512,512,requires_grad=True)
torch.onnx.export(model, x, 'HyClsNet(traced).onnx', input_names=input_names, output_names=output_names, verbose='True')
示例2:gpu版模型
import torch
import torch.nn
import onnx
import numpy as np
torch.backends.cudnn.benchmark = Falsemodel = torch.load('HyClsNet(traced).pt')
model.eval()
model.cuda()
input_names = ['input']
output_names = ['output']
x = torch.randn(1,3,512,512).cuda()
torch.onnx.export(model, x, 'HyClsNet(traced).onnx', input_names=input_names, output_names=output_names, verbose='True')
二 Pytorch使用onnx模型安装包,纯导出,不需要
CPU
pip install onnx -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
pip install onnxruntime -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
GPU
pip install onnx -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
pip install onnxruntime-gpu -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
如果安装了CPU版的onnxruntime,要先pip uninstall onnxruntime,再安装对应的GPU版本
三 使用ONNX模型
import onnx
import onnxruntime as ort
model = onnx.load('HyClsNet(traced).onnx')
onnx.checker.check_model(model)
session = ort.InferenceSession('HyClsNet(traced).onnx')
x=np.random.randn(1,3,512,512).astype(np.float32) # 输入type是np.float32
outputs = session.run(None,input = {'input' : x })
pytorch将pt模型转onnx模型相关推荐
- yolov3-tiny原始weights模型转onnx模型并进行推理
时隔不知道多少天,我记起来我还有部分博客没写完(偷懒),所以不能偷懒把它完成!! 这篇博客的主要内容 将yolov3-tiny.weights模型转换到.onnx模型: 使用onnnxruntime- ...
- 【.pth模型转换为.onnx模型】模型转换 英特尔神经计算棒 树莓派
转换代码 注意点:要根据你的代码进行修改,修改最初的包等 import torch from models.with_mobilenet import PoseEstimationWithMobile ...
- pytorch模型(.pt)转onnx模型(.onnx)的方法详解(1)
1. pytorch模型转换到onnx模型 2.运行onnx模型 3.比对onnx模型和pytorch模型的输出结果 我这里重点是第一点和第二点,第三部分 比较容易 首先你要安装 依赖库:onnx ...
- pytorch保存onnx模型
因为一些原因,需要用pytorch去创建.训练和保存模型.pytorch保存的模型通常为pth.pt.pkl的格式,但这种类型的模型不能在其他框架(tensorflow)下直接加载,因此需要将模型保存 ...
- 【地平线开发板 模型转换】将pytorch生成的onnx模型转换成.bin模型
文章目录 1 获取onnx模型 2 启动docker容器 3 onnx模型检查 3.1 为什么要检查? 3.2 如何操作 4 图像数据预处理 4.1 一些问题的思考 4.2 图片挑选与放置 4.2 使 ...
- 【TensorRT】PyTorch模型转换为ONNX及TensorRT模型
文章目录 1. PyTorch模型转TensorRT模型流程 2. PyTorch模型转ONNX模型 3. ONNX模型转TensorRT模型 3.1 TensorRT安装 3.2 将ONNX模型转换 ...
- 【Pytorch基础教程33】算法模型部署(MLFlow/ONNX/tf serving)
内容概况 服务器上训练好模型后,需要将模型部署到线上,接受请求.完成推理并且返回结果. 保存模型结构和参数最简单的是torch.save保存为checkpoint,但一般用于训练时记录过程,训练中断可 ...
- 【ONNX】各深度学习框架的模型转ONNX
文章目录 pytorch pytorch安装 pytorch转onnx 关于pytorch模型的题外话 cntk cntk安装 cntk转onnx mxnet mxnet安装 mxnet转onnx c ...
- 把onnx模型转TensorRT模型的trt模型报错:Your ONNX model has been generated with INT64 weights. while TensorRT
欢迎大家关注笔者,你的关注是我持续更博的最大动力 原创文章,转载告知,盗版必究 把onnx模型转TensorRT模型的trt模型报错:[TRT] onnx2trt_utils.cpp:198: You ...
最新文章
- REST接口设计规范
- 通过jquery的serializearray处理表单数据成json格式,并提交到后台处理
- iOS网络开发之:NSURLConnection
- Warning: Permanently added the RSA host key for IP address '192.30.253.113' to the list of known hos
- 基于布隆过滤器实现敏感词识别和过滤
- 长方体重力异常正演matlab,骆遥 (2007) 两种新的长方体重力异常正演公式及其理论推导. 中国科学院地质与地球物理研究所, 北京....
- 机器学习面试之算法思想简单梳理
- hbase倒序查询_hbase过滤器汇总【查询汇总】
- 关于CASS点自动连线方法
- linux yum命令详解,yum命令详解
- axurerp出现错误报告_Windows 应用程序无法安装 事件查看器报错
- 分享几个翻译PDF的软件给你
- Tensorflow某段程序复现
- 数字IC设计(ASIC设计)完整流程详解
- Odoo ERP 14 客户关系管理
- 华特迪士尼宣布媒体和娱乐发行部门亚太区管理团队的一系列任命
- Ansible自动化运维的安装及常用模块解释
- Vuex入门(1)—— Vuex的设计初衷和简单使用
- 与网络相连的计算机称为什么,网络把许多计算机连接在一起,而互联网则把许多( )通过路由器连接在一起。与网络相连的计算机常称为( )。...
- 分享TXT格式的电子书制作方法
热门文章
- App中的微信支付和支付宝支付如何实现
- 智慧天下:专业版和绿色版有什么区别?
- python strftime函数_PyThon中time strftime()函数用法
- Hugging Face(1)——Transformer Models
- 成熟港口人工智能Ceaspectus领跑全球智能港口码头人工智能应用落地,全球No.1集装箱AI企业中集飞瞳建设智慧港口智能码头
- waf和web应用防火墙的区别
- TIOBE 7 月编程语言排行榜:C、Java 和 Python 争夺第一
- Monte Carlo Integration 蒙特卡罗方法求积分 附简单例题+代码
- Mq的幂等性问题分析和基本处理
- 卷积神经网络相比循环神经网络具有哪些特征