使用MindSpore进行模型训练的准备工作和步骤

新知榜官方账号

2023-09-25 00:06:24

准备工作

使用MindSpore进行模型训练需要做以下的准备工作:

  • 训练的网络模型
  • 训练数据以及数据处理
  • 训练回调函数
  • 启动训练的python脚本

网络模型可以参考MindSpore的官网,根据自己的需求编写;数据处理需要考虑数据格式、数据分割、数据增强等问题,可以使用MindSpore提供的transformations模块进行处理;训练回调函数可以用于查看模型的精度、保存模型以及输出日志信息;启动训练的python脚本需要进行参数解析,同时需要在云端NPU中进行启动。

数据处理

对于分类模型,数据格式是一张图片对应一个标签。可以使用一个类将硬盘数据转换为MindSpore模型,也可以使用列表、迭代器,其中比较重要的是__len__以及__getitem__这两个方法,作用是计算数据个数以及使用索引的方式获取数据。

数据分割可以手工分割,也可以通过代码实现。可以使用列表保存几个分割后的子集。数据转换可以使用MindSpore的dataset.GeneratorDataset将数据转换为MindSpore的数据格式,需要考虑图片大小放缩、随机水平翻转、随机角度旋转、数据类型转换以及将(h,w,c)通道的格式转换为(c,h,w)格式等问题。

训练回调

训练时如果需要查看模型的精度,以及保存模型训练过程中迭代最优的结果,需要重载mindspore.train.callback.Callback类。可以定义一个AccuracyMonitor类用于监控训练精度,可以定义get_accuracy和get_loss方法用于计算精度和损失函数,同时在epoch_end方法中保存最优模型。

云端NPU

使用云端NPU进行训练,需要进行以下工作:

  • 建立文件夹
  • 上传数据
  • 上传算法
  • 创建算法
  • 创建训练

具体的步骤可以参考华为云的Modelarts界面,需要设置输入文件路径、输出文件路径、超参数、日志等信息。

本页网址:https://www.xinzhibang.net/article_detail-13475.html

寻求报道,请 点击这里 微信扫码咨询

关键词

MindSpore 模型训练 数据处理 训练回调 云端NPU

分享至微信: 微信扫码阅读

相关文章