pytorch 28 jit模型(TorchScript)转换为onnx模型

TorchScript是pytorch模型c++下libtorch部署的必须要求,但是已经部署好的jit模型如果有一天突然想换成onnx部署、openvion部署,tensorRT部署则存在一定的困难。因为,pytorch是不支持直接将jit模型模型转换为onnx模型的。为此,对jit模型转换为onnx模型进行研究实现。这里以多输入多输出的jit模型为例,实现将jit模型转换为onnx模型,并用onnxruntime进行测试。测试结果表明,在相同的输入数据下,jit模型与onnx模型的输出结果是完全一模一样的。

1、创建jit模型

如果有现成的jit模型不需要这一步。这里是构建多输入多输出模型,并保存为jit模型

import torch
import torch.nn as nn
import torch.nn.functional as F
class MyModel(nn.Module):
    def __init__(self):
        super(MyModel, self).__init__()
        self.conv1 = nn.Conv2d(6, 16, kernel_size=1, stride=1, padding=0)
        self.relu = nn.ReLU()
        self.conv2 = nn.Conv2d(16, 16, kernel_size=1, stride=1, padding=0)
        self.conv31 = nn.Conv2d(16, 3, kernel_size=1, stride=1, padding=0)
        self.conv32 = nn.Conv2d(16, 3, kernel_size=1, stride=1, padding=0)
   

猜你喜欢

转载自blog.csdn.net/a486259/article/details/125141357