PyTorch 1.0 中文官方教程:使用ONNX将模型从PyTorch传输到Caffe2和移动端

Posted wizardforcel

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PyTorch 1.0 中文官方教程:使用ONNX将模型从PyTorch传输到Caffe2和移动端相关的知识,希望对你有一定的参考价值。

译者:冯宝宝

在本教程中,我们将介绍如何使用ONNX将PyTorch中定义的模型转换为ONNX格式,然后将其加载到Caffe2中。一旦进入Caffe2,我们就可以运行模型来仔细检查它是否正确导出,然后我们展示了如何使用Caffe2功能(如移动导出器)在移动设备上执行模型。

在本教程中,你需要安装onnx和Caffe2。您可以使用pip install onnx获取onnx的二进制版本。

注意: 本教程需要PyTorch master分支,可以按照 这里说明进行安装。

# 一些包的导入
import io
import numpy as np

from torch import nn
import torch.utils.model_zoo as model_zoo
import torch.onnx

超分辨率是一种提高图像,视频分辨率的方法,广泛用于图像处理或视频剪辑。在本教程中,我们将首先使用带有虚拟输入的小型超分辨率模型。

首先,让我们在PyTorch中创建一个SuperResolution模型。这个模型 直接来自PyTorch的例子,没有修改:

# PyTorch中定义的Super Resolution模型
import torch.nn as nn
import torch.nn.init as init

class SuperResolutionNet(nn.Module):
    def __init__(self, upscale_factor, inplace=False):
        super(SuperResolutionNet, self).__init__()

阅读全文/改进本文

以上是关于PyTorch 1.0 中文官方教程:使用ONNX将模型从PyTorch传输到Caffe2和移动端的主要内容,如果未能解决你的问题,请参考以下文章

PyTorch 1.0 中文官方教程:使用 PyTorch 进行图像风格转换

PyTorch 1.0 中文官方教程:使用 Amazon AWS 进行分布式训练

PyTorch 1.0 中文官方教程:空间变换器网络教程

PyTorch 1.0 中文官方教程:序列模型和LSTM网络

PyTorch 1.0 中文官方教程:对抗性示例生成

通过 ONNX 从 PyTorch 转换为 CoreML 时缺少权重向量