《昇思25天学习打卡营第9天 | 昇思MindSpore使用静态图加速》

第九天

本节了解到AI编译框架分为两种运行模式,分别是动态图模式以及静态图模式。MindSpore默认情况下是以动态图模式运行,但也支持手工切换为静态图模式。

1.动态图模式

动态图的特点是计算图的构建和计算同时发生(Define by run),其符合Python的解释执行方式,在计算图中定义一个Tensor时,其值就已经被计算且确定,因此在调试模型时较为方便,能够实时得到中间结果的值,但由于所有节点都需要被保存,导致难以对整个计算图进行优化。于动态图的解释执行特性,在脚本开发和网络流程调试过程中,推荐使用动态图模式进行调试。

2.静态图模式

静态图的特点是将计算图的构建和实际计算分开。在MindSpore中,静态图模式又被称为Graph模式,在Graph模式下,基于图优化、计算图整图下沉等技术,编译器可以针对图进行全局的优化,获得较好的性能,因此比较适合网络固定且需要高性能的场景。

3.静态图模式的使用场景

MindSpore编译器重点面向Tensor数据的计算以及其微分处理。因此使用MindSpore API以及基于Tensor对象的操作更适合使用静态图编译优化。其他操作虽然可以部分入图编译,但实际优化作用有限。另外,静态图模式先编译后执行的模式导致其存在编译耗时。因此,如果函数无需反复执行,那么使用静态图加速也可能没有价值。

4.静态图模式开启方式

4.1基于装饰器的开启方式

4.2基于context的开启方式

5.静态图的语法约束

6.JitConfig配置选项

7.静态图高级编程技巧

相关推荐
xhyu611 小时前
【学习笔记】图像质量评估方法 (5.生成图像是否符合用户要求)
笔记·学习·计算机视觉
卿卿的产品经理日记3 小时前
【AI产品经理实战】Day 38|try-except 踩坑实录:报错是数据
人工智能·笔记·python·学习·产品经理
keyipatience3 小时前
TypeScript学习(1)
前端·javascript·学习·typescript·html·css3
lazy H4 小时前
【计算机网络】第 2 篇:一条数据如何穿过网络?彻底理解数据封装与解封装
网络·经验分享·后端·学习·计算机网络
我命由我123454 小时前
软件工程概念 - 可插拔性
java·后端·学习·java-ee·系统架构·软件工程·学习方法
kkkkkkkkkk_Z5 小时前
新手自学嵌入式 | 学习日记:I2C总线协议、时序分析、读写流程与代码实现
学习
鬼手点金7 小时前
构建有效 Agent 的核心原则
java·人工智能·git·学习·自动化
姜九笙5617 小时前
python学习---归来仍是新人
java·python·学习
海绵宝宝转agent7 小时前
2026-10-19学习笔记
笔记·学习
云水初8 小时前
【agent篇】RAG Agent避坑指南(附高级RAG Agent汇总)
开发语言·笔记·python·学习·langchain·agent·rag