pytorch 中的执行模式

news/2024/11/29 6:31:30/

两种模式:
PyTorch 支持两种执行模式:eager mode 和 graph mode。

E 模式,侧重于易用性与灵活性,适合科研人员,用于验证想法,魔改模型;

G模式: 侧重于性能方面,适合生产,实际工程部署中应用。

1. PyTorch 生态系统

PyTorch 支持 2 种独立的模式来处理研究和生产环境。

1.1 torch eager 模式

在这里插入图片描述

1.2 torch.fx

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.

2.1

2.2

2.3

3.

3.1

在这里插入图片描述

3.2

3.3

1.2 Torch Script mode

本节将讨论 TorchScript 相对于 PyTorch(或 Lightning)的优势,并展示如何完成转换

TorchScript 是 PyTorch 中的一项功能,允许您序列化 PyTorch 模型并在各种环境中运行它们。它提供了一种保存经过训练的 PyTorch 模型并将其加载到无 Python 环境甚至不同硬件(例如 GPU、FPGA 或移动设备)上的方法。

与 PyTorch 相比,这有几个优点:

  1. 可移植性:借助 TorchScript,您可以在任何支持 TorchScript 运行时的环境中运行 PyTorch 模型,无论平台或语言如何。

  2. 性能:TorchScript 可以通过融合操作和消除未使用的操作来优化 PyTorch 模型,以加快执行速度。这可以显着提高速度,尤其是在移动电话等资源有限的设备上。

  3. 安全性:通过部署 TorchScript 模型,您可以保护您的 PyTorch 代码和模型免遭逆向工程或篡改。

  4. 易于部署:使用 TorchScript,您可以轻松地将 PyTorch 模型部署到生产环境,而无需 Python 环境。

要更全面地了解 TorchScript,我建议您阅读本教程。

您可以通过调用 to_torchscript 方法轻松将 Lightning 模块转换为 TorchScript。

script = model.to_torchscript()
torch.jit.save(script, "torchscript_model.pt")

经过一些测试,我发现使用 TorchScript 在 GPU 上的推理时间比 PyTorch Lightning 的推理时间低 2 倍。然而,这只发生在小批量(根据我的测试,为 1 或 2)

PyTorch 旨在通过 TorchScript 创建一个从研究到生产的统一框架。 TorchScript 会将您的 PyTorch 模块作为输入,并将其转换为适合生产的格式。

它将更快地运行您的模型并且独立于 Python 运行时。


http://www.ppmy.cn/news/856740.html

相关文章

【实战】用Python进行10w+QQ说说数据分析

Doctor | 作者 知乎 | 来源 https://zhuanlan.zhihu.com/p/27604277 对编程没有兴趣的朋友可以直接看后面的数据分析结果。 开发环境:win7下的python3.5、MySQL5.7编辑器:pycharm2017.1、ipython,Navicat for mysql需要的python第三方库&…

用Python进行10w+QQ说说数据分析

Doctor | 作者 https://zhuanlan.zhihu.com/p/27604277 对编程没有兴趣的朋友可以直接看后面的数据分析结果。 开发环境:win7下的python3.5、MySQL5.7编辑器:pycharm2017.1、ipython,Navicat for mysql需要的python第三方库:selen…

【经验贴】项目管理过程中最容易忽略的问题,你踩了几个?

“有没有一句话送给刚入行的项目经理?” 随着毕业季的到来,最近发现越来越多类似的话题,评论区成了众多项目经理自嘲的“据点”,部分新手项目经理看完可能要重新考虑下职业规划了。 “要重点关注客户的需求,而不是项…

mysql命令导入远程数据库

1、连接远程数据库 MySQL 连接远程数据库(192.168.1.100),端口“3306”,用户名为“root”,密码“123456” mysql -h192.168.1.100 -P3306 -uroot -p123456 2、导出远程库 mysqldump -h远程ip -u用户名 -p密码 数据…

广东省-IT公司红黑榜排名

红榜Top100 OrderCompany NamePointChange 1百富计算机技术(深圳)有限公司 94.00-- 2中国网通广州分公司 88.00-- 3深圳市汇驿科技有限公司 77.50-- 4深圳泛华讯电脑技术有限公司 74.00-- 5广东九方信息系统有限公司 70.00-- 6广州南天电脑系统有限…

广东省-IT红黑榜排名公司名称

红榜Top100 OrderCompany NamePointChange 1百富计算机技术(深圳)有限公司 94.00-- 2中国网通广州分公司 88.00-- 3深圳市汇驿科技有限公司 77.50-- 4深圳泛华讯电脑技术有限公司 74.00-- 5广东九方信息系统有限公司 70.00-- 6广州南天电脑系统有限…

最详细的下载安装PicGo图床配合Typora使用

1.node.js下载安装1.2 检验安装成功 2. PicGo下载安装3. 配置Gitee【配合PicGo使用】3.1 获取PicGo的token 4. 配置PicGo4.1 下载插件4.2 配置图床[Gitee]4.3 配置Typora 5. 上传图片到Gitee【重要】6.解决配置错误 1.node.js下载安装 【node.js下载链接】点击跳转页面&#x…

php开发实战分析(2):cookie的动态使用(设置、获取、删除、猜你喜欢原理、购物车调用)

cookie的动态使用 一、cookie的基本用法1.设置 Cookie:2.获取 Cookie:3.删除 Cookie: 二、实战开发应用1.设置cookie封装函数2.商品页,读取商品ID,并设置cookie3.获取最近浏览商品 一、cookie的基本用法 在 PHP 中&am…