《昇思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.静态图高级编程技巧

相关推荐
AOI小白新手上路5 分钟前
韦东山《ARM 架构与编程》3-2 GPIO 引脚操作方法概述 · 学习笔记
arm开发·学习·架构
zhangrelay27 分钟前
ROS2 Lyrical实验5导航Nav2
linux·笔记·学习·ubuntu·机器人
JWASX1 小时前
Java 转 go 学习 - 基本语法
学习·golang
让头发掉下来1 小时前
Kettle学习-17作业的创建与定时调度
学习
小刘在重生~1 小时前
CSS 零基础完整学习笔记|选择器|盒子模型|布局
css·笔记·学习
AOI小白新手上路2 小时前
韦东山《ARM 架构与编程》3-3 IMX6ULL 的 GPIO 操作方法 · 学习笔记
arm开发·学习·架构
浩瀚地学2 小时前
deepagents学习打卡day07
经验分享·笔记·python·学习·agent
Awh-2 小时前
ARM 裸机开发 DAY5 学习笔记
arm开发·笔记·学习
李游Leo2 小时前
HarmonyOS 7 + ArkUI + Adaptive Layout 学习笔记:折叠屏多形态布局适配与窗口状态响应机制【鸿蒙心迹】
笔记·学习·harmonyos
kyrie_sakura3 小时前
大模型学习6 -- 深度学习 1 概述和PyTorch
pytorch·深度学习·学习