使用onnx包将pth文件转换为onnx文件
本文对比一下两种pth文件转为onnx的区别以及onnx文件在NETRON中的图
- 只有参数的pth文件:cat_dog.pth
- 既有参数又有模型结构的pth文件:cat_dog_model_args.pth
- 既有参数又有模型结构的onnx文件:cat_dog_model_args.onnx
cat_dog_model.pth 在NETRON中的图(无网络架构)
由于没有网络结构,所以不能通过代码将其转为onnx文件
cat_dog_model_args.pth 在NETRON中的图
cat_dog_model_args.onnx在NETRON中的图
先将cat_dog_model_args.pth 转为cat_dog_model_args.onnx
代码:
import torch
import torchvision
dummy_input = torch.randn(1, 3, 224, 224)
model = torch.load('D:\***\swin_transformer_flower\cat_dog_model_args.pth')
model.eval()
input_names = ["input"]
output_names = ["output"]
torch.onnx.export(model,dummy_input,"cat_dog_model_args.onnx",verbose=True,input_names=input_names,output_names=output_names)
运行以上代码
输出
graph(%input : Float(1:150528, 3:50176, 224:224, 224:1, requires_grad=0, device=cpu),%features.0.weight : Float(64:27, 3:9, 3:3, 3:1, requires_grad=0, device=cpu),%features.0.bias : Float(64:1, requires_grad=0, device=cpu),%features.2.weight : Float(64:576, 64:9, 3:3, 3:1, requires_grad=0, device=cpu),%features.2.bias : Float(64:1, requires_grad=0, device=cpu),%features.5.weight : Float(128:576, 64:9, 3:3, 3:1, requires_grad=0, device=cpu),%features.5.bias : Float(128:1, requires_grad=0, device=cpu),%features.7.weight : Float(128:1152, 128:9, 3:3, 3:1, requires_grad=0, device=cpu),%features.7.bias : Float(128:1, requires_grad=0, device=cpu),%features.10.weight : Float(256:1152, 128:9, 3:3, 3:1, requires_grad=0, device=cpu),%features.10.bias : Float(256:1, requires_grad=0, device=cpu),%features.12.weight : Float(256:2304, 256:9, 3:3, 3:1, requires_grad=0, device=cpu),%features.12.bias : Float(256:1, requires_grad=0, device=cpu),%features.14.weight : Float(256:2304, 256:9, 3:3, 3:1, requires_grad=0, device=cpu),%features.14.bias : Float(256:1, requires_grad=0, device=cpu),%features.17.weight : Float(512:2304, 256:9, 3:3, 3:1, requires_grad=0, device=cpu),%features.17.bias : Float(512:1, requires_grad=0, device=cpu),%features.19.weight : Float(512:4608, 512:9, 3:3, 3:1, requires_grad=0, device=cpu),%features.19.bias : Float(512:1, requires_grad=0, device=cpu),%features.21.weight : Float(512:4608, 512:9, 3:3, 3:1, requires_grad=0, device=cpu),%features.21.bias : Float(512:1, requires_grad=0, device=cpu),%features.24.weight : Float(512:4608, 512:9, 3:3, 3:1, requires_grad=0, device=cpu),%features.24.bias : Float(512:1, requires_grad=0, device=cpu),%features.26.weight : Float(512:4608, 512:9, 3:3, 3:1, requires_grad=0, device=cpu),%features.26.bias : Float(512:1, requires_grad=0, device=cpu),%features.28.weight : Float(512:4608, 512:9, 3:3, 3:1, requires_grad=0, device=cpu),%features.28.bias : Float(512:1, requires_grad=0, device=cpu),%classifier.0.weight : Float(100:25088, 25088:1, requires_grad=1, device=cpu),%classifier.0.bias : Float(100:1, requires_grad=1, device=cpu),%classifier.3.weight : Float(2:100, 100:1, requires_grad=1, device=cpu),%classifier.3.bias : Float(2:1, requires_grad=1, device=cpu)):%31 : Float(1:3211264, 64:50176, 224:224, 224:1, requires_grad=0, device=cpu) = onnx::Conv[dilations=[1, 1], group=1, kernel_shape=[3, 3], pads=[1, 1, 1, 1], strides=[1, 1]](%input, %features.0.weight, %features.0.bias) # C:\Users\deep\anaconda3\envs\swin\lib\site-packages\torch\nn\modules\conv.py:420:0%32 : Float(1:3211264, 64:50176, 224:224, 224:1, requires_grad=0, device=cpu) = onnx::Relu(%31) # C:\Users\deep\anaconda3\envs\swin\lib\site-packages\torch\nn\functional.py:1134:0%33 : Float(1:3211264, 64:50176, 224:224, 224:1, requires_grad=0, device=cpu) = onnx::Conv[dilations=[1, 1], group=1, kernel_shape=[3, 3], pads=[1, 1, 1, 1], strides=[1, 1]](%32, %features.2.weight, %features.2.bias) # C:\Users\deep\anaconda3\envs\swin\lib\site-packages\torch\nn\modules\conv.py:420:0%34 : Float(1:3211264, 64:50176, 224:224, 224:1, requires_grad=0, device=cpu) = onnx::Relu(%33) # C:\Users\deep\anaconda3\envs\swin\lib\site-packages\torch\nn\functional.py:1134:0%35 : Float(1:802816, 64:12544, 112:112, 112:1, requires_grad=0, device=cpu) = onnx::MaxPool[kernel_shape=[2, 2], pads=[0, 0, 0, 0], strides=[2, 2]](%34) # C:\Users\deep\anaconda3\envs\swin\lib\site-packages\torch\nn\functional.py:586:0%36 : Float(1:1605632, 128:12544, 112:112, 112:1, requires_grad=0, device=cpu) = onnx::Conv[dilations=[1, 1], group=1, kernel_shape=[3, 3], pads=[1, 1, 1, 1], strides=[1, 1]](%35, %features.5.weight, %features.5.bias) # C:\Users\deep\anaconda3\envs\swin\lib\site-packages\torch\nn\modules\conv.py:420:0%37 : Float(1:1605632, 128:12544, 112:112, 112:1, requires_grad=0, device=cpu) = onnx::Relu(%36) # C:\Users\deep\anaconda3\envs\swin\lib\site-packages\torch\nn\functional.py:1134:0%38 : Float(1:1605632, 128:12544, 112:112, 112:1, requires_grad=0, device=cpu) = onnx::Conv[dilations=[1, 1], group=1, kernel_shape=[3, 3], pads=[1, 1, 1, 1], strides=[1, 1]](%37, %features.7.weight, %features.7.bias) # C:\Users\deep\anaconda3\envs\swin\lib\site-packages\torch\nn\modules\conv.py:420:0%39 : Float(1:1605632, 128:12544, 112:112, 112:1, requires_grad=0, device=cpu) = onnx::Relu(%38) # C:\Users\deep\anaconda3\envs\swin\lib\site-packages\torch\nn\functional.py:1134:0%40 : Float(1:401408, 128:3136, 56:56, 56:1, requires_grad=0, device=cpu) = onnx::MaxPool[kernel_shape=[2, 2], pads=[0, 0, 0, 0], strides=[2, 2]](%39) # C:\Users\deep\anaconda3\envs\swin\lib\site-packages\torch\nn\functional.py:586:0%41 : Float(1:802816, 256:3136, 56:56, 56:1, requires_grad=0, device=cpu) = onnx::Conv[dilations=[1, 1], group=1, kernel_shape=[3, 3], pads=[1, 1, 1, 1], strides=[1, 1]](%40, %features.10.weight, %features.10.bias) # C:\Users\deep\anaconda3\envs\swin\lib\site-packages\torch\nn\modules\conv.py:420:0%42 : Float(1:802816, 256:3136, 56:56, 56:1, requires_grad=0, device=cpu) = onnx::Relu(%41) # C:\Users\deep\anaconda3\envs\swin\lib\site-packages\torch\nn\functional.py:1134:0%43 : Float(1:802816, 256:3136, 56:56, 56:1, requires_grad=0, device=cpu) = onnx::Conv[dilations=[1, 1], group=1, kernel_shape=[3, 3], pads=[1, 1, 1, 1], strides=[1, 1]](%42, %features.12.weight, %features.12.bias) # C:\Users\deep\anaconda3\envs\swin\lib\site-packages\torch\nn\modules\conv.py:420:0%44 : Float(1:802816, 256:3136, 56:56, 56:1, requires_grad=0, device=cpu) = onnx::Relu(%43) # C:\Users\deep\anaconda3\envs\swin\lib\site-packages\torch\nn\functional.py:1134:0%45 : Float(1:802816, 256:3136, 56:56, 56:1, requires_grad=0, device=cpu) = onnx::Conv[dilations=[1, 1], group=1, kernel_shape=[3, 3], pads=[1, 1, 1, 1], strides=[1, 1]](%44, %features.14.weight, %features.14.bias) # C:\Users\deep\anaconda3\envs\swin\lib\site-packages\torch\nn\modules\conv.py:420:0%46 : Float(1:802816, 256:3136, 56:56, 56:1, requires_grad=0, device=cpu) = onnx::Relu(%45) # C:\Users\deep\anaconda3\envs\swin\lib\site-packages\torch\nn\functional.py:1134:0%47 : Float(1:200704, 256:784, 28:28, 28:1, requires_grad=0, device=cpu) = onnx::MaxPool[kernel_shape=[2, 2], pads=[0, 0, 0, 0], strides=[2, 2]](%46) # C:\Users\deep\anaconda3\envs\swin\lib\site-packages\torch\nn\functional.py:586:0%48 : Float(1:401408, 512:784, 28:28, 28:1, requires_grad=0, device=cpu) = onnx::Conv[dilations=[1, 1], group=1, kernel_shape=[3, 3], pads=[1, 1, 1, 1], strides=[1, 1]](%47, %features.17.weight, %features.17.bias) # C:\Users\deep\anaconda3\envs\swin\lib\site-packages\torch\nn\modules\conv.py:420:0%49 : Float(1:401408, 512:784, 28:28, 28:1, requires_grad=0, device=cpu) = onnx::Relu(%48) # C:\Users\deep\anaconda3\envs\swin\lib\site-packages\torch\nn\functional.py:1134:0%50 : Float(1:401408, 512:784, 28:28, 28:1, requires_grad=0, device=cpu) = onnx::Conv[dilations=[1, 1], group=1, kernel_shape=[3, 3], pads=[1, 1, 1, 1], strides=[1, 1]](%49, %features.19.weight, %features.19.bias) # C:\Users\deep\anaconda3\envs\swin\lib\site-packages\torch\nn\modules\conv.py:420:0%51 : Float(1:401408, 512:784, 28:28, 28:1, requires_grad=0, device=cpu) = onnx::Relu(%50) # C:\Users\deep\anaconda3\envs\swin\lib\site-packages\torch\nn\functional.py:1134:0%52 : Float(1:401408, 512:784, 28:28, 28:1, requires_grad=0, device=cpu) = onnx::Conv[dilations=[1, 1], group=1, kernel_shape=[3, 3], pads=[1, 1, 1, 1], strides=[1, 1]](%51, %features.21.weight, %features.21.bias) # C:\Users\deep\anaconda3\envs\swin\lib\site-packages\torch\nn\modules\conv.py:420:0%53 : Float(1:401408, 512:784, 28:28, 28:1, requires_grad=0, device=cpu) = onnx::Relu(%52) # C:\Users\deep\anaconda3\envs\swin\lib\site-packages\torch\nn\functional.py:1134:0%54 : Float(1:100352, 512:196, 14:14, 14:1, requires_grad=0, device=cpu) = onnx::MaxPool[kernel_shape=[2, 2], pads=[0, 0, 0, 0], strides=[2, 2]](%53) # C:\Users\deep\anaconda3\envs\swin\lib\site-packages\torch\nn\functional.py:586:0%55 : Float(1:100352, 512:196, 14:14, 14:1, requires_grad=0, device=cpu) = onnx::Conv[dilations=[1, 1], group=1, kernel_shape=[3, 3], pads=[1, 1, 1, 1], strides=[1, 1]](%54, %features.24.weight, %features.24.bias) # C:\Users\deep\anaconda3\envs\swin\lib\site-packages\torch\nn\modules\conv.py:420:0%56 : Float(1:100352, 512:196, 14:14, 14:1, requires_grad=0, device=cpu) = onnx::Relu(%55) # C:\Users\deep\anaconda3\envs\swin\lib\site-packages\torch\nn\functional.py:1134:0%57 : Float(1:100352, 512:196, 14:14, 14:1, requires_grad=0, device=cpu) = onnx::Conv[dilations=[1, 1], group=1, kernel_shape=[3, 3], pads=[1, 1, 1, 1], strides=[1, 1]](%56, %features.26.weight, %features.26.bias) # C:\Users\deep\anaconda3\envs\swin\lib\site-packages\torch\nn\modules\conv.py:420:0%58 : Float(1:100352, 512:196, 14:14, 14:1, requires_grad=0, device=cpu) = onnx::Relu(%57) # C:\Users\deep\anaconda3\envs\swin\lib\site-packages\torch\nn\functional.py:1134:0%59 : Float(1:100352, 512:196, 14:14, 14:1, requires_grad=0, device=cpu) = onnx::Conv[dilations=[1, 1], group=1, kernel_shape=[3, 3], pads=[1, 1, 1, 1], strides=[1, 1]](%58, %features.28.weight, %features.28.bias) # C:\Users\deep\anaconda3\envs\swin\lib\site-packages\torch\nn\modules\conv.py:420:0%60 : Float(1:100352, 512:196, 14:14, 14:1, requires_grad=0, device=cpu) = onnx::Relu(%59) # C:\Users\deep\anaconda3\envs\swin\lib\site-packages\torch\nn\functional.py:1134:0%61 : Float(1:25088, 512:49, 7:7, 7:1, requires_grad=0, device=cpu) = onnx::MaxPool[kernel_shape=[2, 2], pads=[0, 0, 0, 0], strides=[2, 2]](%60) # C:\Users\deep\anaconda3\envs\swin\lib\site-packages\torch\nn\functional.py:586:0%62 : Float(1:25088, 512:49, 7:7, 7:1, requires_grad=0, device=cpu) = onnx::AveragePool[kernel_shape=[1, 1], strides=[1, 1]](%61) # C:\Users\deep\anaconda3\envs\swin\lib\site-packages\torch\nn\functional.py:936:0%63 : Float(1:25088, 25088:1, requires_grad=0, device=cpu) = onnx::Flatten[axis=1](%62) # C:\Users\deep\anaconda3\envs\swin\lib\site-packages\torchvision\models\vgg.py:45:0%64 : Float(1:100, 100:1, requires_grad=1, device=cpu) = onnx::Gemm[alpha=1., beta=1., transB=1](%63, %classifier.0.weight, %classifier.0.bias) # C:\Users\deep\anaconda3\envs\swin\lib\site-packages\torch\nn\functional.py:1690:0%65 : Float(1:100, 100:1, requires_grad=1, device=cpu) = onnx::Relu(%64) # C:\Users\deep\anaconda3\envs\swin\lib\site-packages\torch\nn\functional.py:983:0%output : Float(1:2, 2:1, requires_grad=1, device=cpu) = onnx::Gemm[alpha=1., beta=1., transB=1](%65, %classifier.3.weight, %classifier.3.bias) # C:\Users\deep\anaconda3\envs\swin\lib\site-packages\torch\nn\functional.py:1690:0return (%output)Process finished with exit code 0
图片居中方法:
参考:CSDN博客文章中图片居中
即只需要在图片下方代码页最后加上#pic_center即可
使用onnx包将pth文件转换为onnx文件相关推荐
- office文件转换为pdf文件
office文件转换为pdf文件 首先安装openoffice,自行百度 导入jar包,自行百度 引入坐标: <!-- 转pdf配置 --><dependency><gr ...
- 语音amr文件转换为mp3文件
1.安卓前端生成amr语音文件,经过base64加密变成加密字符串 2.把加密后的字符串解密成amr文件 生成amr文件目录 String fileUrl = System.getProperty ...
- CAD文件转换为SVG文件
引言 目前CAD技术已广泛应用于建筑设计.机械设计.城市规划.交通等领域,由其主流软件AutoCAD或在之基础上二次开发的软件生成的图纸层出不穷. SVG(Scalable Vector Graphi ...
- 使用Jacob实现将Word文件转换为Pdf文件
在某些业务场景下,可能需要将Word文件转换为Pdf文件的需求,Word文件编辑方便,而Pdf文件查看更方便,并且格式基本不会变化,同时可以避免被误编辑. 如果使用的是Java语言,那么可以借助于Ja ...
- 如何将 EXE 文件转换为 APK 文件以在 Android 上运行
什么是 .exe 文件? .exe 是一种非常常见的文件格式,它实际上是"可执行"文件的缩写形式.此类文件通常用于运行或安装 Windows 计算机的软件应用程序.您在 Windo ...
- python批量pdf转word,python批量实现Word文件转换为PDF文件
本文为大家分享了python批量转换Word文件为PDF文件的具体方法,供大家参考,具体内容如下 1.目的 通过万能的Python把一个目录下的所有Word文件转换为PDF文件. 2.遍历目录 作者总 ...
- Python Qt GUI设计:将UI文件转换为Python文件的三种妙招(基础篇—2)
目录 1.创建项目 2.将.ui文件生成.py文件 2.1.Eric 6编译 2.2.Python命令行编译 2.3.脚本编译 3.界面.逻辑分离思想 在开始本文之前提醒各位朋友,Python记得安装 ...
- python npy文件_python实现npy格式文件转换为txt文件操作
如下代码会将npy的格式数据读出,并且输出来到控制台: import numpy as np ##设置全部数据,不输出省略号 import sys np.set_printoptions(thresh ...
- GDCM:将PAPYRUS 3.0文件转换为dcm文件的的测试程序
GDCM:将PAPYRUS 3.0文件转换为dcm文件的测试 GDCM:将PAPYRUS 3.0文件转换为dcm文件的测试 GDCM:将PAPYRUS 3.0文件转换为dcm文件的测试 #includ ...
- GDCM:DICOM文件转换为QImage文件的测试程序
GDCM:DICOM文件转换为QImage文件的测试程序 GDCM:DICOM文件转换为QImage文件的测试程序 GDCM:DICOM文件转换为QImage文件的测试程序 #include &quo ...
最新文章
- 电商顾客满意的五大决定因素
- Objective-C 反射机制
- 3d点击_3D打印服务加工在医疗器械行业的应用
- 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- MyEclipse里运行Tomcat后,Console窗口里中文显示乱码
- react学习预备知识_在10分钟内学习React基础知识
- 固定资产拆分比例怎么计算_固定资产加速折旧优惠扩围!怎么计算、申报?这篇说全了...
- python compile函数_python 内置函数 compile()
- 13.4 Shelve模块
- 关键词文章自动生成工具-关键词组合工具-关键词文章采集工具
- Au 音频效果参考:调制
- python图灵机器人教程_Python-微信图灵机器人
- ( 教程 ) 微信公众号做淘宝优惠券自动查券返利机器人怎么设置?
- 远程访问计算机硬盘,60秒远程访问路由器硬盘!瞬间变NAS!
- python中ix用法_在python的pandas模块中,DataFrame对象,如何选择一行?索引、loc、iloc、ix的用法及区别...
- 微信小程序自定义生成动态分享内容
- [附源码]java毕业设计学校缴费系统
- C2Prog 串口烧录出现Connecting with target… failed(no response)!
- 掩码、子网掩码及子网划分
- java将图片存储在数据库(mysql)
热门文章
- luogu2024 食物链
- Flask开发微电影网站(二)
- MVC与单元测试实践之健身网站(八)-统计分析
- 文件搜索工具everything
- 关于intent传递数据的练习
- 【Vegas原创】使用GreenAMP时,提示“无法载入mysql扩展”解决方法
- ajax的核心有哪些,ajax的核心
- 拉马车 的游戏 c语言编程,蓝桥杯 拉马车(模拟)
- html 自定义标签解析,Java解析Html自定义标签的属性
- java final类的写法_重拾JavaSE基础——抽象类、接口、代码块、final和枚举