[深度学习框架] Pytorch源码学习之JIT

本文探讨了Pytorch中的JIT(Just-In-Time Compiler),包括tracing和scripting两种模式。TorchScript利用这两种模式实现模型的串行化和优化,便于在不同平台部署。JIT过程涉及IR(中间表示)和一系列优化,如loop unrolling、fusion等。文章还提及了C++中导入模型的方法。

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

JIT–Just-In-Time Compiler
JIT有两种模式,一种叫tracing,一种叫scripting
在这里插入图片描述
tracing不会记录任何控制流信息,如if条件句和循环。但是scripting会保留这些信息。tracing和scripting都包含在TorchScript中,TorchScript的主要目的是从python代码中串行化和优化模型,用TorchScript实现的代码能较方便地部署到其他平台,且而不用依赖于python环境。在这里插入图片描述

上图中的IR表示的是源码到目标语言的中间程序,它是一种抽象的机器语言,独立于源码,不限定于任何特定的机器。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述在这里插入图片描述
JIT的各个阶段如下:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值