当前位置: 首页 > ai >正文

导出onnx的两种方法

导出onnx的两种方法### mmdeploy 和 torch.onnx.export 的区别

mmdeploy

mmdeploy 是 OpenMMLab 推出的模型部署工具箱,专门针对计算机视觉任务优化,支持多种后端(如 TensorRT、ONNX Runtime 等)。其核心优势在于针对 OpenMMLab 系列模型(如 MMDetection、MMSegmentation)进行了深度适配和优化,能够自动处理模型中的复杂操作(如动态 shape、自定义算子等)。

  • 功能特点
    支持模型量化、动态 shape 适配、自动优化预处理和后处理。
    内置对 OpenMMLab 模型架构的解析能力,避免手动修改模型结构。
    提供一键式部署流程,简化从训练到部署的链路。

  • 代码示例

python tools/deploy.py \configs/mmseg/segmentation_onnxruntime_dynamic.py \custom_model_config.py \checkpoint.pth \--work-dir output \--device cuda:0
torch.onnx.export

PyTorch 原生的 ONNX 导出接口,适用于通用 PyTorch 模型。需要手动处理动态轴、自定义算子等场景,灵活性高但配置复杂。

  • 功能特点
    支持基础模型导出,依赖用户手动指定输入输出的动态维度。
    需自行处理模型中的非标准操作(如特殊激活函数)。
    适用于非 OpenMMLab 体系的模型或研究性项目。

  • 代码示例

import torchmodel = torch.hub.load('pytorch/vision', 'resnet18', pretrained=True)
dummy_input = torch.randn(1, 3, 224, 224)
torch.onnx.export(model,dummy_input,'resnet18.onnx',input_names=['input'],output_names=['output'],dynamic_axes={'input': {0: 'batch'}, 'output': {0: 'batch'}}
)
关键差异
  • 自动化程度:mmdeploy 自动适配模型结构,torch.onnx.export 需手动调整。
  • 领域优化:mmdeploy 专为视觉任务优化,原生支持动态后处理;后者需自行实现。
  • 依赖生态:mmdeploy 深度绑定 OpenMMLab,通用性较弱;torch.onnx.export 适用于任意 PyTorch 模型。

选择建议:

  • 若使用 OpenMMLab 系列模型,优先选择 mmdeploy。
  • 其他场景或需高度定制时,使用 torch.onnx.export。
http://www.xdnf.cn/news/11966.html

相关文章:

  • 高性能图片优化方案
  • 使用PyInstaller将Python脚本打包成可执行文件
  • C++抽象类与多态实战解析
  • [leetcode ] 5.29week | dp | 组合数学 | 图 | 打家劫舍
  • 68 VG的基本信息查询
  • SQL 中 JOIN 的执行顺序优化指南
  • RAMSUN分享全新超值型MM32F0050系列MCU
  • 理解继承与组合的本质:Qt 项目中的设计选择指南
  • 如何量化创新项目的成功标准
  • js鼠标事件大全
  • 滚珠导轨在光学设备中如何实现微米级运动?
  • 简单网络拓扑实验
  • 第一篇:Liunx环境下搭建PaddlePaddle 3.0基础环境(Liunx Centos8.5安装Python3.10+pip3.10)
  • 30 C 语言递归算法详解:基准条件、递归逻辑、循环对比、经典案例(斐波那契、猴子吃桃、汉诺塔、二分查找等)
  • Maskrcnn网络结构学习
  • Ubuntu更新国内源
  • Python 训练营打卡 Day 43
  • Vue前端篇——项目目录结构介绍
  • NER实践总结,记录一下自己实践遇到的各种问题。
  • 【linux】全志Tina预编译一个so库文件到根文件系统/usr/lib/下
  • 拉深工艺模块——回转体拉深件毛坯尺寸的确定(二)
  • Vue2 和 Vue3 常见 CSS 样式归纳总结
  • PyTorch——优化器(9)
  • 近几年字节飞书测开部分面试题整理
  • 【计网】SW、GBN、SR、TCP
  • 深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏
  • Linux——TCP和UDP
  • 6月14日开班,ESG 合规分析师招生通知
  • FreeRTOS,MicroPython,区别与联系
  • 新制作文件系统占满:Error writing to file - write (28: No space left on device)