点击蓝字
关注我们,让开发变得更有趣
作者 | 杨亦诚
排版 | 李擎
没有“中间商赚差价”, OpenVINO™
直接支持 PyTorch 模型对象
背景
作为最热门的开源深度学习框架之一,PyTorch 的易用性和灵活性使其深受学术和研究界的喜爱。之前 OpenVINO™ 对于 PyTorch 模型的支持也仅仅停留在 ONNX 过渡阶段,需要通过将 PyTorch 动态模型导出为 ONNX 静态格式后,才可以直接被 OpenVINO™ runtime 离线加载,虽然 PyTorch 也提供了官方的 torch.onnx.export 接口帮助开发者导出 ONNX 模型,但毕竟有这么一个“中间商”在那里,其中很多额外的配置工作也为 OpenVINO™ 开发者带来了不便,诸如动态/静态输入设定,以及 opset 版本设定等。
一、OpenVINO™ 直接支持 PyTorch 模型对象

随着 OpenVINO™ 2023.0 版本的发布,OpenVINO™ 工具库中预置了全新的 PyTorch 前端,为开发者们提供了一条全新的 PyTorch 模型支持路径,带来更友好的用户体验—— OpenVINO™ 的 mo 工具可以直接将 PyTorch 模型对象转化为 OpenVINO™ 的模型对象,开发者可以不需要将 ONNX 模型作为中间过渡。
import torchvision
import torch
from openvino.tools.mo import convert_model
model = torchvision.models.resnet50(pretrained=True)
ov_model = convert_model(model)
对比以 ONNX 作为中间过度的方式,新 PyTorch 前端有以下特点:

目前支持的 PyTorc

OpenVINO™2023.0版本引入了新的PyTorch前端,允许开发者直接将PyTorch模型对象转换为OpenVINO™模型,不再需要通过ONNX作为中介。此功能支持torch.nn.Module、torch.jit.ScriptModule和torch.jit.ScriptFunction,并基于TorchScript进行转换。文章通过BERT模型的案例展示了从PyTorch模型到量化模型的完整流程,简化了转换和部署过程。
最低0.47元/天 解锁文章

3818

被折叠的 条评论
为什么被折叠?



