【课程笔记】华为 HCIA-AI 人工智能45:MindSpore框架基础
MindSpore框架基础
目录
学习目标:
①张量
②MindSpore中的数据类型
③运行环境配置
④MindSpore数据处理模块
⑤MindRecord
⑥MindSpore中的神经网络模块
⑦回调函数Callback
⑧推理-模型文件
1. 张量
MindSpore中最基础的数据结构是张量tensor,所有数据封装在tensor中
(1)张量的定义:一个多维数组,可以存放数据,数据什么维度即张量什么维度(数据的载体)
(2)零阶张量:标量;一阶张量:向量;二阶张量:矩阵
在MindSpore中创建张量:mindspore.Tensor(这是个类,要给它传入参数,一组数据决定维度也可以指定维度没有数据)
2. MindSpore中的数据类型
(1)MindSpore支持Int、Uint和Float等数据类型,可通过mindspore.dtype指定数据类型
(2)MindSpore兼容numpy和python的数据类型,也可以通过mindspore.dtype_to_nptype或mindspore.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等,也支持加载业界标准格式的数据集,包括MindRecord、TFRecord、Manifest等。还可以使用自己的数据集
还提供针对于语音、文本、图像等数据的数据增强功能
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框架提供ModelCheckpoint、LossMonitor、SummaryCollector等Callback类,也支持用户自定义Callback
8. 推理-模型文件
MindSpore可以基于训练好的模型在不同的硬件平台上执行推理任务
模型推理文件保存支持两种模型的数据:训练参数和网络模型
(1)训练参数指Checkpoint格式文件(需要先搭建模型)
(2)网络模型包括MindIR、AIR和ONNX三种格式文件
Checkpoint格式用于训练任务中断后恢复训练,或训练后的微调(Fine Tune)任务
MindIR格式消除不同后端的模型差异,一般用于跨硬件平台执行推理任务
ONNX格式一般用于不同框架间的模型迁移或在推理引擎(TensorRT)上使用
AIR格式更好适应华为AI处理器,一般用于Ascend 310上执行推理任务
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)