华为 MindSpore 两日集训营第五期笔记

华为 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

关键特性

  1. 端云统一
  2. 算子融合 算子优化
  3. 训练后量化 精度近乎无损
  4. Micro for loT
  5. 异构自动并行
  6. 端侧训练

MindSpore Serving

关键特性

  1. 简单易用
  2. 提供定制化服务
  3. 支持批处理
  4. 高性能扩展

单节点数据缓存模块

核心概念

  1. Cache的三个重要组件
    • 缓存算子
    • 缓存服务器
    • 缓存客户端
  2. 设配数据集划分

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调试器界面结合计算图,查看图节点的输出结果;
  • 设置监测点,监测训练异常情况(比如检查张量溢出),在异常发生时追踪错误原因;
  • 查看权重等参数的变化情况。
上一篇:用华为MindSpore进行分布式训练


下一篇:MindSpore模型精度调优实践