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模型相关推荐

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

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

  2. 【.pth模型转换为.onnx模型】模型转换 英特尔神经计算棒 树莓派

    转换代码 注意点:要根据你的代码进行修改,修改最初的包等 import torch from models.with_mobilenet import PoseEstimationWithMobile ...

  3. pytorch模型(.pt)转onnx模型(.onnx)的方法详解(1)

    1. pytorch模型转换到onnx模型 2.运行onnx模型 3.比对onnx模型和pytorch模型的输出结果 我这里重点是第一点和第二点,第三部分  比较容易 首先你要安装 依赖库:onnx ...

  4. pytorch保存onnx模型

    因为一些原因,需要用pytorch去创建.训练和保存模型.pytorch保存的模型通常为pth.pt.pkl的格式,但这种类型的模型不能在其他框架(tensorflow)下直接加载,因此需要将模型保存 ...

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

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

  6. 【TensorRT】PyTorch模型转换为ONNX及TensorRT模型

    文章目录 1. PyTorch模型转TensorRT模型流程 2. PyTorch模型转ONNX模型 3. ONNX模型转TensorRT模型 3.1 TensorRT安装 3.2 将ONNX模型转换 ...

  7. 【Pytorch基础教程33】算法模型部署(MLFlow/ONNX/tf serving)

    内容概况 服务器上训练好模型后,需要将模型部署到线上,接受请求.完成推理并且返回结果. 保存模型结构和参数最简单的是torch.save保存为checkpoint,但一般用于训练时记录过程,训练中断可 ...

  8. 【ONNX】各深度学习框架的模型转ONNX

    文章目录 pytorch pytorch安装 pytorch转onnx 关于pytorch模型的题外话 cntk cntk安装 cntk转onnx mxnet mxnet安装 mxnet转onnx c ...

  9. 把onnx模型转TensorRT模型的trt模型报错:Your ONNX model has been generated with INT64 weights. while TensorRT

    欢迎大家关注笔者,你的关注是我持续更博的最大动力 原创文章,转载告知,盗版必究 把onnx模型转TensorRT模型的trt模型报错:[TRT] onnx2trt_utils.cpp:198: You ...

最新文章

  1. REST接口设计规范
  2. 通过jquery的serializearray处理表单数据成json格式,并提交到后台处理
  3. iOS网络开发之:NSURLConnection
  4. Warning: Permanently added the RSA host key for IP address '192.30.253.113' to the list of known hos
  5. 基于布隆过滤器实现敏感词识别和过滤
  6. 长方体重力异常正演matlab,骆遥 (2007) 两种新的长方体重力异常正演公式及其理论推导. 中国科学院地质与地球物理研究所, 北京....
  7. 机器学习面试之算法思想简单梳理
  8. hbase倒序查询_hbase过滤器汇总【查询汇总】
  9. 关于CASS点自动连线方法
  10. linux yum命令详解,yum命令详解
  11. axurerp出现错误报告_Windows 应用程序无法安装 事件查看器报错
  12. 分享几个翻译PDF的软件给你
  13. Tensorflow某段程序复现
  14. 数字IC设计(ASIC设计)完整流程详解
  15. Odoo ERP 14 客户关系管理
  16. 华特迪士尼宣布媒体和娱乐发行部门亚太区管理团队的一系列任命
  17. Ansible自动化运维的安装及常用模块解释
  18. Vuex入门(1)—— Vuex的设计初衷和简单使用
  19. 与网络相连的计算机称为什么,网络把许多计算机连接在一起,而互联网则把许多( )通过路由器连接在一起。与网络相连的计算机常称为( )。...
  20. 分享TXT格式的电子书制作方法

热门文章

  1. App中的微信支付和支付宝支付如何实现
  2. 智慧天下:专业版和绿色版有什么区别?
  3. python strftime函数_PyThon中time strftime()函数用法
  4. Hugging Face(1)——Transformer Models
  5. 成熟港口人工智能Ceaspectus领跑全球智能港口码头人工智能应用落地,全球No.1集装箱AI企业中集飞瞳建设智慧港口智能码头
  6. waf和web应用防火墙的区别
  7. TIOBE 7 月编程语言排行榜:C、Java 和 Python 争夺第一
  8. Monte Carlo Integration 蒙特卡罗方法求积分 附简单例题+代码
  9. Mq的幂等性问题分析和基本处理
  10. 卷积神经网络相比循环神经网络具有哪些特征