【OpenCV+OPENVINO使用】模型转换

本文介绍了如何使用TensorFlow将模型转换为.pb文件,并演示了如何将PyTorch模型转换为ONNX格式,以便于跨框架部署和兼容性。教程包括变量常量化、PB文件保存及使用torch.onnx.export进行模型导出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

tensorflow保存pb文件

参考 https://zhuanlan.zhihu.com/p/32887066

# convert_variables_to_constants 需要指定output_node_names,list(),可以多个
constant_graph = graph_util.convert_variables_to_constants(self.session,self.session.graph_def,
 ['global_descriptor','keypoints','local_descriptors'])
  # 写入序列化的 PB 文件
with tf.gfile.FastGFile(pb_file_path+'model.pb', mode='wb') as f:
    f.write(constant_graph.SerializeToString())

pt转onnx

import torch

model = torch.jit.load('MobileNetVLADPCA.pt')
input_shape = (3, 640, 480)   #输入数据

input_data_shape = torch.randn(1, *input_shape, device="cpu")
out = model(input_data_shape)
print(out.size()) #注意,这里如果是多输出的话需要写多个输出名即output_names,多输入同理
input_names = ["input"]
output_names = ["output"]
torch.onnx.export(model, input_data_shape, "MobileNetVLADPCA.onnx",  verbose=True, export_params=True,
                  input_names=input_names,output_names=output_names,example_outputs=out)

pytorch转换模型:

python3 mo_onnx.py --input_model <输入模型路经> --output_dir <输出模型路经> --input_shape [1,3,640,480]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值