华为 MindSpore 两日集训营第五期笔记
- MindSpore 端边云统一格式 MindIR
- 华为智慧终端背后的黑科技:MindSpore Lite
- 一键部署在线推理服务:MindSpore Serving
- AI数据高速加载直通车:单节点数据缓存模块
- 动静统一:MindSpore PyNative
- 快速定位模型精度问题:MindSpore 调试器
MindIR
如果想跨平台或硬件执行推理(GPU、Lite、Ascend 310),可以通过网络定义和CheckPoint生成MindIR格式模型文件。当前支持基于静态图,且不包含控制流语义的推理网络导出。导出该格式文件的代码样例如下:
import numpy as np
from mindspore import Tensor, export, load_checkpoint, load_param_into_net
resnet = ResNet50()
# load the parameter into net
load_checkpoint("resnet50-2_32.ckpt", net=resnet)
input = np.random.uniform(0.0, 1.0, size=[32, 3, 224, 224]).astype(np.float32)
export(resnet, Tensor(input), file_name='resnet50-2_32', file_format='MINDIR')
MindSpore Lite
关键特性
- 端云统一
- 算子融合 算子优化
- 训练后量化 精度近乎无损
- Micro for loT
- 异构自动并行
- 端侧训练
MindSpore Serving
关键特性
- 简单易用
- 提供定制化服务
- 支持批处理
- 高性能扩展
单节点数据缓存模块
核心概念
- Cache的三个重要组件
- 缓存算子
- 缓存服务器
- 缓存客户端
- 设配数据集划分
MindSpore PyNative
- PyNative 模式:也称动态图模式,将神经网络中的各个算子逐一下发执行,方便用户编写和调试神经网络模型。
- Graph模式:也称静态图模式或者图模式,将神经网络模型编译成一整张图,然后下发执行。该模式利用图优化等技术提高运行性能,同时有助于规模部署和跨平台运行。
默认情况下,MindSpore处于 PyNative 模式,可以通过context.set_context(mode=context.GRAPH_MODE)
切换为Graph模式;同样地,MindSpore处于Graph模式时,可以通过 context.set_context(mode=context.PYNATIVE_MODE)
切换为PyNative模式。
MindSpore 调试器
MindSpore调试器是为图模式训练提供的调试工具,可以用来查看并分析计算图节点的中间结果。
在MindSpore图模式的训练过程中,用户无法从Python层获取到计算图中间节点的结果,使得训练调试变得很困难。使用MindSpore调试器,用户可以:
- 在MindInsight调试器界面结合计算图,查看图节点的输出结果;
- 设置监测点,监测训练异常情况(比如检查张量溢出),在异常发生时追踪错误原因;
- 查看权重等参数的变化情况。