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

注:大多框架的模型(pytorch、caffe2、mxnet)在加载的时候(如果有大佬知道),都需要知道输入的shape,caffe2甚至需要输入的name(caffe2只是在转onnx时需要知道input_name和input_size,如果哪位大佬知道如何在caffe2模型中获取input name或Input size可以告诉我一下),tensorflow需要知道输出的name。。。。在这方面还是cntk和caffe好

pytorch

pytorch安装

Linux和Windows现都已支持Stable(1.0)版本
官网安装
linux cpu安装:

conda install pytorch-cpu torchvision-cpu -c pytorch

版本查询

import torch
print(torch.__version__)
pytorch转onnx

pytorch在导入模型时,需要有定义模型类的文件(.py格式)

python pytorch2onnx.py ptmodel_path ptmodel_class_py_path insize_n insize_c insize_w insize_h saved_onnx_path_name

ptmodel_path:模型路径,pth、pkl、pt格式不限,pytorch保存模型的时候选择的是保存整个模型而不是只保存网络训练参数。
ptmodel_class_py_path:模型类定义文件的路径(可以不放在当前路径下),py文件,为pytorch定义模型的类的文件
insize_n、insize_c、insize_w、insize_h:输入的维度
saved_onnx_path_name:保存为onnx模型的路径+文件名(没有路径会保存在当前路径下)

关于pytorch模型的题外话

感觉pytorch保存模型实在是太麻烦了、就算把网络结构和训练参数都保存了,依然需要在导入的时候在某处存在这个模型类的定义。对pytorch的探索可能还是太浅,现在暂且只能做到把这个类定义文件拷贝到当前路径下,用完再删除。

  • 8
    点赞
  • 84
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值