pkl转onnx模型
实现模型的转换代码如下
#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模型相关推荐
- sklearn训练模型、保存模型文件(文本、pkl)、模型文件转换(pkl2onnx)以及模型可视化
1.使用环境 IDE:Jupyter Lab,使用Python2 kernel实现 模型可视化:GraphViz,可以直接在jupyter中使用:Netron window版本 模型转化:在on ...
- pytorch保存onnx模型
因为一些原因,需要用pytorch去创建.训练和保存模型.pytorch保存的模型通常为pth.pt.pkl的格式,但这种类型的模型不能在其他框架(tensorflow)下直接加载,因此需要将模型保存 ...
- 使用Relay部署编译ONNX模型
使用Relay部署编译ONNX模型 本文介绍如何使用Relay部署ONNX模型的入门. 首先,必须安装ONNX软件包. 一个快速的解决方案是安装protobuf编译器,然后 pip install o ...
- 编译ONNX模型Compile ONNX Models
编译ONNX模型Compile ONNX Models 本文是一篇介绍如何使用Relay部署ONNX模型的说明. 首先,必须安装ONNX包. 一个快速的解决方案是安装protobuf编译器,然后 pi ...
- onnx模型部署(一) ONNXRuntime
通常我们在训练模型时可以使用很多不同的框架,比如有的同学喜欢用 Pytorch,有的同学喜欢使用 TensorFLow,也有的喜欢 MXNet,以及深度学习最开始流行的 Caffe等等,这样不同的训练 ...
- 机器学习实践:onnx模型转为Tensorflow2的pb模型2020
安装Tensorflow,如果已安装则检查 Tensorflow版本是否大于2.3.1 安装tensorflow-addons 从源码安装最新的onnx(2020/12),参考git 将YoloV5中 ...
- Pytorch模型(.pth)转onnx模型(.onnx)
简介 Open Neural Network Exchange(ONNX,开放神经网络交换)格式,是一个用于表示深度学习模型的标准,可使模型在不同框架之间进行转移. ONNX是一种针对机器学习所设计的 ...
- onnx模型推理(python)
onnx模型推理(python) 以下ONNX一个检测模型的推理过程,其他模型稍微修改即可 # -*-coding: utf-8 -*-import os, syssys.path.append(os ...
- onnx模型转tensorflow模型
ONNX是开源神经网络交换平台,有了它基本上不用纠结用什么深度学习框架的问题了.我现在记录一下怎么将onnx模型转换成tensorflow模型. 1.安装tensorflow和onnx 我是通过Ana ...
最新文章
- 网站漏洞扫描工具Uniscan
- python xlrd xlwt综合_xlrd和xlwt -- python
- 【转】在CSS中 ID与Class的区别?谢谢
- 压测导致mysql数据库CPU很高_排查压测问题引发的系统性能调优过程
- Exchange2007 从零到入门(2)---收件人管理
- Go 语言实现 23 种设计模式 单例模式
- 网上订餐python_来自美国网上订餐网站的创新
- linux ls 中文乱码_每天一个linux命令:Linux文件类型与扩展名
- Centos7 安装netcat(NC瑞士军刀)
- 新手 Spring 疑惑
- Redis设计与实现学习总结
- 最详细的《牛津阅读树》(Oxford Reading Tree)攻略,没有之一
- android设置ip地址连接网络打印机,如何使用IP地址的方式连接网络打印机
- transform: translateY(-50%)实现垂直居中效果
- [zz] 三维动画软件Maya
- 网友鸿蒙谷歌的Android,华为鸿蒙OS已经确认更名?新名字更加令人惊艳!网友:过目难忘...
- 《黄昏清兵卫》中学到的工作态度
- 数据结构(C语言版 严蔚敏著)——树
- QT EXCEL 删除整行
- apache jmeter 压力测试工具