MindSpore框架基础

目录

MindSpore框架基础

1. 张量

2. MindSpore中的数据类型

3. 运行环境配置

4. MindSpore数据处理模块

5. MindRecord

6. MindSpore中的神经网络模块

7. 回调函数Callback

8. 推理-模型文件


学习目标:

①张量

②MindSpore中的数据类型

③运行环境配置

④MindSpore数据处理模块

⑤MindRecord

⑥MindSpore中的神经网络模块

⑦回调函数Callback

⑧推理-模型文件

1. 张量

MindSpore中最基础的数据结构张量tensor,所有数据封装在tensor中

(1)张量的定义:一个多维数组,可以存放数据,数据什么维度即张量什么维度(数据的载体)

(2)零阶张量:标量;一阶张量:向量;二阶张量:矩阵

在MindSpore中创建张量:mindspore.Tensor(这是个类,要给它传入参数,一组数据决定维度也可以指定维度没有数据)

2. MindSpore中的数据类型

(1)MindSpore支持IntUintFloat等数据类型,可通过mindspore.dtype指定数据类型

(2)MindSpore兼容numpypython的数据类型,也可以通过mindspore.dtype_to_nptypemindspore.dtype_to_pytype实现数据类型转换

3. 运行环境配置

MindSpore运行时需指定运行时的具体环境参数,包括计算图的模式、运行时的设备、内存空间小大等,同时也可以使用API获取当前运行环境的具体信息

运行环境相关API:

mindspore.context.set_context:设置运行环境的context

mindspore.context.get_context:根据输入key获取context属性值

mindspore.context.ParallelMode:并行环境

mindspore.context.set_ps_context:设置参数服务器训练模式的上下文

MindSpore context用于配置当前执行环境,包括执行模式、执行后端和其他特性开关:参数mindspore.context.set_context(**kwargs):

(1)device_id目标设备的ID。取值范围:[0,4096-1],默认0

(2)device_target待运行的目标设备。取值范围:'Ascend'、'GPU'、'CPU'

(3)mode运行模式选择。默认值GRAPH_MODE静态图(GRAPH_MODE/0或PYNATIVE_MODE/1)

(4)enable_sparse是否启用稀疏特征。默认值Flase

(5)save_graphs是否保存计算图。默认值Flase

(6)runtime_num_threads运行时线程池的线程数控制。默认值为30

4. MindSpore数据处理模块

mindspore.dataset该模块提供加载处理各种通用数据集的API,如MNIST、CIFAR-10、CIFAR-100、VOC、COCO、ImageNet、CelebA、CLUE等,也支持加载业界标准格式的数据集,包括MindRecordTFRecordManifest等。还可以使用自己的数据集

还提供针对于语音文本图像等数据的数据增强功能

5. MindRecord

在AI训练过程中,会涉及大量的训练数据,会对数据进行频繁的读取操作,涉及高频IO操作,比较耗时

MindRecord将我们所有数据进行序列化,并存储在一组可线性读取的文件中(不用频繁对每一个文件进行IO)

可以使用模块mindspore.mindrecord提供一些方法将不同数据集转换为MindRecord格式,也提供一些操作MindRecord数据文件的方法如读取、写入、检索等

6. MindSpore中的神经网络模块

mindspore.nn用于构建神经网络中的预定义构建块或计算单元

该模块包含了(封装)构建神经网络的组件:

(1)RNN、CNN、LSTM等网络结构

(2)MSELoss、SoftmaxCrossEntropyWithLogits等损失函数

(3)Momentum、Adam等优化器

(4)F1 Score、AUC等模型评价指标

mindspore.Model模型训练或推理的高阶接口

7. 回调函数Callback

回调函数Callback本身并不是函数,而是一个。可以使用回调函数来观察训练过程中网络内部的状态和相关信息,或在特定时期执行特定动作。例如监控loss、保存模型参数、动态调整参数、提前终止训练任务等

MindSpore框架提供ModelCheckpointLossMonitorSummaryCollector等Callback类,也支持用户自定义Callback

8. 推理-模型文件

MindSpore可以基于训练好的模型在不同的硬件平台上执行推理任务

模型推理文件保存支持两种模型的数据:训练参数网络模型

(1)训练参数指Checkpoint格式文件(需要先搭建模型)

(2)网络模型包括MindIR、AIR和ONNX三种格式文件

Checkpoint格式用于训练任务中断后恢复训练,或训练后的微调(Fine Tune)任务

MindIR格式消除不同后端的模型差异,一般用于跨硬件平台执行推理任务

ONNX格式一般用于不同框架间的模型迁移或在推理引擎(TensorRT)上使用

AIR格式更好适应华为AI处理器,一般用于Ascend 310上执行推理任务

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐