实现模型的转换代码如下

#from sklearn.externals import joblib
#import joblib
#from skl2onnx import convert_sklearn
#from skl2onnx.common.data_types
import onnxmltools
import torchen
import torchvision
import torchvision.models as models
from lib import Model, ClassAverages
# Update the input name and path for your sklearn model
input_skl_model = 'epoch_10.pkl'
# input data type for your sklearn model
bins_no = 2
device = torch.device("cpu:0")
my_vgg = models.vgg19_bn(pretrained=True)
torch_model = Model.Model(features=my_vgg.features, bins=bins_no).to(device)
checkpoint = torch.load(input_skl_model,map_location='cpu')
torch_model.load_state_dict(checkpoint['model_state_dict'])
#torch_model.eval()
#input_data_type = [('model_state_dict', FloatTensorType([1,3,244,244]))]
dummy_input = torch.randn(1, 3, 224, 224, dtype=torch.float32)
# Change this path to the output name and path for the ONNX model
output_onnx_model = 'model.onnx'
# Load your sklearn model
#print(torch_model)
#skl_model = joblib.load(input_skl_model)
#print(skl_model)
#torch.onnx._export(torch_model, dummy_input, output_onnx_model, verbose=True,training=False, input_names=None, output_names=None)
input_names=["input"]
output_names=["orientation","confidence","dimension"]
torch.onnx.export(torch_model,dummy_input,output_onnx_model,input_names=input_names,training=False,output_names=output_names,opset_version=11)
# Convert the sklearn model into ONNX
#onnx_model = onnxmltools.convert_sklearn(torch_model, initial_types=input_data_type)
# Save as protobuf
#onnxmltools.utils.save_model(onnx_model, output_onnx_model)

测试模型路径:weights\epoch_10.pkl
生成模型:model.onnx
执行的指令:python Transfer.py

测试工程 测试模型和相关数据参见:https://download.csdn.net/download/weixin_40912644/74086010

pkl转onnx模型相关推荐

  1. sklearn训练模型、保存模型文件(文本、pkl)、模型文件转换(pkl2onnx)以及模型可视化

    1.使用环境 IDE:Jupyter Lab,使用Python2 kernel实现 模型可视化:GraphViz,可以直接在jupyter中使用:Netron    window版本 模型转化:在on ...

  2. pytorch保存onnx模型

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

  3. 使用Relay部署编译ONNX模型

    使用Relay部署编译ONNX模型 本文介绍如何使用Relay部署ONNX模型的入门. 首先,必须安装ONNX软件包. 一个快速的解决方案是安装protobuf编译器,然后 pip install o ...

  4. 编译ONNX模型Compile ONNX Models

    编译ONNX模型Compile ONNX Models 本文是一篇介绍如何使用Relay部署ONNX模型的说明. 首先,必须安装ONNX包. 一个快速的解决方案是安装protobuf编译器,然后 pi ...

  5. onnx模型部署(一) ONNXRuntime

    通常我们在训练模型时可以使用很多不同的框架,比如有的同学喜欢用 Pytorch,有的同学喜欢使用 TensorFLow,也有的喜欢 MXNet,以及深度学习最开始流行的 Caffe等等,这样不同的训练 ...

  6. 机器学习实践:onnx模型转为Tensorflow2的pb模型2020

    安装Tensorflow,如果已安装则检查 Tensorflow版本是否大于2.3.1 安装tensorflow-addons 从源码安装最新的onnx(2020/12),参考git 将YoloV5中 ...

  7. Pytorch模型(.pth)转onnx模型(.onnx)

    简介 Open Neural Network Exchange(ONNX,开放神经网络交换)格式,是一个用于表示深度学习模型的标准,可使模型在不同框架之间进行转移. ONNX是一种针对机器学习所设计的 ...

  8. onnx模型推理(python)

    onnx模型推理(python) 以下ONNX一个检测模型的推理过程,其他模型稍微修改即可 # -*-coding: utf-8 -*-import os, syssys.path.append(os ...

  9. onnx模型转tensorflow模型

    ONNX是开源神经网络交换平台,有了它基本上不用纠结用什么深度学习框架的问题了.我现在记录一下怎么将onnx模型转换成tensorflow模型. 1.安装tensorflow和onnx 我是通过Ana ...

最新文章

  1. 网站漏洞扫描工具Uniscan
  2. python xlrd xlwt综合_xlrd和xlwt -- python
  3. 【转】在CSS中 ID与Class的区别?谢谢
  4. 压测导致mysql数据库CPU很高_排查压测问题引发的系统性能调优过程
  5. Exchange2007 从零到入门(2)---收件人管理
  6. Go 语言实现 23 种设计模式 单例模式
  7. 网上订餐python_来自美国网上订餐网站的创新
  8. linux ls 中文乱码_每天一个linux命令:Linux文件类型与扩展名
  9. Centos7 安装netcat(NC瑞士军刀)
  10. 新手 Spring 疑惑
  11. Redis设计与实现学习总结
  12. 最详细的《牛津阅读树》(Oxford Reading Tree)攻略,没有之一
  13. android设置ip地址连接网络打印机,如何使用IP地址的方式连接网络打印机
  14. transform: translateY(-50%)实现垂直居中效果
  15. [zz] 三维动画软件Maya
  16. 网友鸿蒙谷歌的Android,华为鸿蒙OS已经确认更名?新名字更加令人惊艳!网友:过目难忘...
  17. 《黄昏清兵卫》中学到的工作态度
  18. 数据结构(C语言版 严蔚敏著)——树
  19. QT EXCEL 删除整行
  20. apache jmeter 压力测试工具

热门文章

  1. Vue前端Es6语法Object.assign()
  2. c99、gnu99与c89
  3. OpenCV-python 用鼠标在图片上标记位置并返回坐标
  4. Can't load /root/.rnd into RNG
  5. 实验一 网络对抗技术
  6. Android禁止EditText输入特殊字符
  7. jQuery幻灯片带缩略图平移滑动焦点图
  8. 汉字的unicode码范围是多少?
  9. 三星手机查询生产日期
  10. R语言编程入门--replicate()函数比较有意思!