torch.onnx.export():将pytorch模型转换为.onnx模型

2023-11-19

torch.onnx.export(model, args, f, export_params=True, verbose=False, training=False, input_names=None, output_names=None, aten=False, export_raw_ir=False, operator_export_type=None, opset_version=None, _retain_param_name=True, do_constant_folding=False, example_outputs=None, strip_doc_string=True, dynamic_axes=None, keep_initializers_as_inputs=None)

功能:
将模型以ONNX格式导出并保存.

参数:

  • model (torch.nn.Module) – 要导出的模型.
  • args (tuple of arguments) – 模型的输入, 任何非Tensor参数都将硬编码到导出的模型中;任何Tensor参数都将成为导出的模型的输入,并按照他们在args中出现的顺序输入。因为export运行模型,所以我们需要提供一个输入张量x。只要是正确的类型和大小,其中的值就可以是随机的。请注意,除非指定为动态轴,否则输入尺寸将在导出的ONNX图形中固定为所有输入尺寸。在此示例中,我们使用输入batch_size 1导出模型,但随后dynamic_axes 在torch.onnx.export()。因此,导出的模型将接受大小为[batch_size,3、100、100]的输入,其中batch_size可以是可变的。
  • export_params (bool, default True) – 如果指定为True或默认, 参数也会被导出. 如果你要导出一个没训练过的就设为 False.
  • verbose (bool, default False) - 如果指定,我们将打印出一个导出轨迹的调试描述。
  • training (bool, default False) - 在训练模式下导出模型。目前,ONNX导出的模型只是为了做推断,所以你通常不需要将其设置为True。
  • input_names (list of strings, default empty list) – 按顺序分配名称到图中的输入节点
  • output_names (list of strings, default empty list) –按顺序分配名称到图中的输出节点
  • dynamic_axes – {‘input’ : {0 : ‘batch_size’}, ‘output’ : {0 : ‘batch_size’}}) # variable lenght axes

举例:

shape(input_1) = ('b', 3, 'w', 'h')
and shape(input_2) = ('b', 4)
and shape(output)  = ('b', 'd', 5)
torch.onnx.export(model, args, f, export_params=True, verbose=False, training=False, input_names=None, output_names=None, dynamic_axes = {‘input_1’:[0, 2, 3], ‘input_2’:[0], ‘output’:[0, 1]})

参考:
torch.onnx-Functions
onnx动态分辨率

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

torch.onnx.export():将pytorch模型转换为.onnx模型 的相关文章

  • Erlang:到 Python 实例的端口没有响应

    我正在尝试通过 Erlang 端口与外部 python 进程进行通信 首先 打开一个端口 然后通过 stdin 将消息发送到外部进程 我期待在进程的标准输出上得到相应的答复 我的尝试如下所示 open a port Port open po
  • Python Pandas 滚动聚合一列列表

    我有一个简单的数据框 df 和一列列表lists 我想根据以下内容生成一个附加列lists The df好像 import pandas as pd lists 1 1 2 1 2 3 3 2 9 7 9 4 2 7 3 5 create
  • 如何让“conda”安装程序查找“PyPi”包

    我试图使用conda http conda pydata org docs using pkgs html managing packages包管理器来安装我的 Python 包 最近 我遇到了 Anaconda org 存储库中不存在我需
  • 从 torch.autograd.gradcheck 导入 zero_gradients

    我想复制代码here https github com LTS4 DeepFool blob master Python deepfool py 并且我在 Google Colab 中运行时收到以下错误 ImportError 无法导入名称
  • GUI 测试工具 PyUseCase 与 Dogtail 相比如何?

    GUI测试工具如何Py用例 http pypi python org pypi PyUseCase重命名为故事文本 http pypi python org pypi StoryText 相比于Dogtail http en wikiped
  • App Engine 上的 Django 与 webapp2 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • docker 容器中的“(pygame parachute)分段错误”

    尝试在 docker 容器中使用 pygame 时出现以下错误 我想从容器中获取显示 Fatal Python error pygame parachute Segmentation Fault 重现 Docker已安装 docker ru
  • 如何同时运行多个功能[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有以下代码 my func1 my func2 my func3 my func4 my func5 是否可以同时计算函数的数据 而
  • 从内存地址创建python对象(使用gi.repository)

    有时我需要调用仅存在于 C 中的 gtk gobject 函数 但返回一个具有 python 包装器的对象 之前我使用过基于 ctypes 的解决方案 效果很好 现在我从 PyGtk import gtk 切换到 GObject intro
  • DynamodB:如何更新排序键?

    该表有两个键 filename 分区键 和eventTime 排序键 我要更新eventTime对于某些filename Tried put item and update item 发送相同的filename与新的eventTime但这些
  • Python 不考虑 distutils.cfg

    我已经尝试了给出的所有内容 并且所有教程都指向相同的方向 即使用 mingw 作为 python 而不是 Visual C 中的编译器 我确实有 Visual C 和 mingw 当我想使用 pip 安装时 问题开始出现 它总是给Unabl
  • 使用 scikit 时 scipy.sparse 矩阵的缩放问题

    在使用 scikit learn 解决机器学习问题时 我需要在使用 SVM 进行训练之前对 scipy sparse 矩阵进行缩放 但在文档 http scikit learn org stable modules preprocessin
  • 获取 Keras model.summary() 作为表

    我在 Keras 中创建了相当大的模型 我正在用 LaTeX 写一篇关于它的文章 为了很好地描述 LaTeX 中的 keras 模型 我想用它创建一个 LaTeX 表 我可以手动实现它 但我想知道是否有任何 更好 的方法来实现这一点 我四处
  • 如何知道python运行脚本的路径?

    sys arg 0 给我 python 脚本 例如 python hello py 返回 sys arg 0 的 hello py 但我需要知道 hello py 位于完整路径中的位置 我怎样才能用Python做到这一点 os path a
  • Python 在哪些系统上不使用 IEEE-754 双精度浮点数

    Python 对 IEEE 754 浮点运算进行了各种引用 但不保证1 https docs python org 3 tutorial floatingpoint html 2 https pythondev readthedocs io
  • 将 Django 中的所有视图限制为经过身份验证的用户

    我是 Django 新手 我正在开发一个项目 该项目有一个登录页面作为其索引和一个注册页面 其余页面都必须仅限于登录用户 如果未经身份验证的用户尝试访问这些页面 则必须将他 她重定向到登录页面 我看到 login required装饰器会将
  • 如何在引发异常时将变量传递给异常并在异常时检索它?

    现在我只有一个空白的异常类 我想知道如何在引发变量时给它一个变量 然后在 try except 中处理它时检索该变量 class ExampleException Exception pass 为其构造函数提供一个参数 将其存储为属性 然后
  • SQLAlchemy 与 count、group_by 和 order_by 使用 ORM

    我有几个函数需要使用 count group by 和 order by 进行一对多连接 我使用 sqlalchemy select 函数生成一个查询 该查询将返回一组 id 然后我对其进行迭代以对各个记录执行 ORM 选择 我想知道是否有
  • PyQt5按钮lambda变量变成布尔值[重复]

    这个问题在这里已经有答案了 当我运行下面的代码时 它显示如下 为什么 x 不是 x 而是变成布尔值 这种情况仅发生在传递到用 lambda 调用的函数中的第一个参数上 错误的 y home me model some file from P
  • py2exe ImportError:没有名为 的模块

    我已经实现了一个名为 myUtils 的包 它由文件夹 myUtils 文件 组成 init py 和许多名称为 myUtils 的 py 文件 该包包含在 myOtherProject py 中 当我从 Eclipse 运行它们时可以找到

随机推荐

  • 01-ZooKeeper快速入门

    1 Zookeeper概念 Zookeeper是Apache Hadoop项目下的一个子项目 是一个树形目录服务 zookeeper翻译过来就是 动物园管理员 它是用来管理Hadoop 大象 Hive 蜜蜂 Pig 小猪 的管理员 简称ZK
  • C语言程序设计 现代方法(第2版)电子书pdf下载

    C语言程序设计 现代方法 第2版 下载链接 https pan baidu com s 1XIKYGAxGhRTscgibAj3kgQ 提取码获取方式 关注下面微信公众号 回复关键字 1129
  • 关于猜数字游戏以及关机指令

    这几天学习到了一些没有接触过的东西 因此在这里记录下 首先是猜数字游戏 这个小程序特别简单 只要知道相关的几个关键函数就能明白 它的主要函数有rand 返回随机数 以及srand 用来设置随机数的起点 以及time 代码如下 include
  • 【QTUM量子链中国区】零撸180元攻略

    QTUM量子链中国区 于2020年1月7日正式上线 实名认证 无需上传 通过后赠送体验矿机一台 周期30天 总产量10QTUM 价值130元 进入官方QQ群可以目测到 这个新出的项目非常火爆 问题是 QTUM量子链中国区和著名的QTUM量子
  • ABAP 参照TR创建副本TR并释放

    简介 一般项目中为了后期传输的统一性 都会采用传输副本请求的方式来避免出现一个需求有过多的工作台TR的情况 但是常规的创建副本请求的方式不是很便捷 因此本文介绍一种参照已有TR创建副本TR的样例 效果 代码 Report YSTMS
  • Ljavax/validation/ParameterNameProvider

    利用宝塔部署项目war包出现 Ljavax validation ParameterNameProvider 的错误 初始化org springframework validation beanvalidation OptionalVali
  • day08-Linux自有服务&软件包管理

    自有服务 即不需要用户独立去安装的软件的服务 而是当系统安装好之后就可以直接使用的服务 内置 学习目标 1 了解systemctl命令用途 2 掌握使用systemctl开启 关闭 重启服务 3 了解常见自有服务ntpd firewalld
  • Linux基础学习

    安装gcc 1 apt get命令是debain Linux发新版的APT软件包管理工具 dabian ubuntu deepin等Linux系统通过以下命令 安装gcc Shell输入sudo apt get install gcc命令
  • 4--一元多项式的乘法与加法运算

    个人题解 include
  • JS判断数组中是否有重复的元素

    function isRepeatId arr arr 100 200 400 200 if arr length 1 若元素数为1一定不重复 直接返回 return false var hash for let i in arr 遍历ar
  • C语言的面向对象的封装方法

    1 3 1 变长结构体的实现 以上文数据结构C语言 双向链表及其实现的双向环链为例 具体封装方法如下 在上述双向环链中节点中不可避免地引入了数据指针 void data占用了8byte的空间 那么能不能在链表每个节点中省去这8byte的空间
  • 自下而上分析方法-算符优先,LR(0),SLR,LR(1),LALR大全

    文章目录 自下而上分析法 一 规范规约 相关定义 短语 直接短语 句柄 素短语 最左素短语 语法树表示 示例 规范规约 二 语法分析器 三 算符优先分析算法 算符文法 1 算符优先文法 2 FIRSTVT P 和LASTVT P 1 FIR
  • 金晟富:5.24黄金原油最新行情涨跌分析,黄金原油操作建议

    前言导读 新的一天 新的开始 新的机会 投资路并非坦途 我的文字不华丽 但是却很真诚 财富自由首先是脑袋的距离 然后才是口袋的距离 出现亏损应当去寻找原因 去改变目标处境 不然将会陷入恶性循环 不断的亏损 不断的找理由 赚钱的单拿不住 亏钱
  • docker official tutorial, unable to build images.docker官方教程无法生成镜像

    windows docker 根据dockder的官方tutorial教程 docker build t getting started 这一步无法成功 一直是如下报错 21 53 error An unexpected error occ
  • element-plus 关于按需加载的问题

    完整的引入没什么说的 import createApp from vue import ElementPlus from element plus import element plus lib theme chalk index css
  • 用Python调用OpenAI API做有趣的事

    GPT 迭代过程概要表 版本 发布时间 训练方案 参数量 是否开放接口 GPT GPT 1 2018 年 6 月 无监督学习 1 17 亿 是 GPT 2 2019 年 2 月 多任务学习 15 亿 是 GPT 3 2020 年 5 月 海
  • 数据库2:创建表(头歌云课)

    任务描述 相关知识 如何在指定数据库中创建表 编程要求 测试说明 任务描述 本关任务 在数据库中 创建一个表 相关知识 我们知道数据库就是存储数据的地方 那数据库中的数据到底存放在哪里呢 数据库中的数据是存放在数据库中的一张一张表 你可以想
  • 机器学习数据分析软件:Octave

    最近学习了Octave数学软件 这个软件类似于MATLAB 但是操作要比MATLAB简单很多 上手快 对数据分析有很大的帮助 所以这里就简单的把部分练习的代码放在这里 如果你想实现一下 可以按照代码内容来 或者自己编写 GNU Octave
  • sql注入靶场1-65

    第一关 单引号闭合 order by 判断字段数 显示位2 3 输出数据库版本 id 1 union select 1 2 version 输出数据库名称 id 1 union select 1 2 database 查看所有表名 id 1
  • torch.onnx.export():将pytorch模型转换为.onnx模型

    torch onnx export model args f export params True verbose False training False input names None output names None aten F