TorchScript学习笔记

本文详细介绍了TorchScript的概念,它是PyTorch模型的静态中间表示,可用于高性能环境。通过tracing和scripting两种方式将PyTorch模型转换为TorchScript,便于保存、加载和优化。TorchScript支持在不受Python限制的环境中运行,提供模型独立表示,适合跨平台部署。
摘要由CSDN通过智能技术生成

学完本篇文章,您将学习到

  1. Torchscript的概念与相关知识
  2. 如何将Pytorch转化为torchscript
  3. 使用torchscript部署模型: https://cugtyt.github.io/blog/effective-pytorch/20190912.html

 

Torchscript简介

TorchScript 是 PyTorch 模型(nn.Module的子类)的中间表示形式,可以在高性能环境(例如 C ++)中运行。

TorchScript是一种从PyTorch代码创建可序列化和可优化模型的方法。任何TorchScript程序都可以从Python进程中保存并在没有Python依赖项的进程中加载​​。

TorchScript主要在torch.jit中,有两个核心模块:tracingscripting,torch.jit.trace接受一个module或一个函数,以及一个样例输入,它就会调用这个模块或者函数,跟踪计算步骤,输出函数或者module的静态图。Tracing 可以很好的用于直接跟踪不依赖于数据的计算流程。

但是如果函数依赖于数据,含有控制流,那么就会出现有的控制流不能被捕捉到,对于这种情况,需要使用scripting。他接受一个module或一个函数,但是不需要输入样例,它会把包括控制流的内容也转成TorchScript。需要注意的是scripting 只支持Python的子集,所以有时候可能需要重写代码来支持TorchScript。

PyTorch 模型创作的基础

首先定义一个简单的Module。 Module是 PyTorch 中组成的基本单位。 它包含了:

  1. 构造函数,为调用准备模块
  2. 一组Parameters和子Modules。 这些由构造函数初始化,并且可以在调用期间由模块使用。
  3. forward
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值