操作步骤
MindStudio执行模型训练的主要步骤包括:
前提条件
创建训练工程
当前支持以MindSpore、TensorFlow和PyTorch训练框架为模板创建训练工程,其中MindSpore训练框架可以使用MindSpore Insight实现训练过程可视化,MindSpore Insight详细使用方法请参见MindSpore Insight官方文档。
- 进入训练工程创建界面,训练工程界面如图1所示。
- MindStudio欢迎界面:单击“New Project”,进入创建工程界面。
- MindStudio工程界面:在顶部菜单栏中选择 ,进入创建工程界面。
- 创建训练工程。
- 当选择“Templates”下的工程时
- 在左侧导航栏选择“Ascend Training”,如图1所示。
- 在右侧界面选择“CANN Version”。
- 选择“Templates”下的工程,例如选择“MindSpore Project”。
当选择“Templates”下的工程时,需要用户自行准备训练脚本:
- 若为NPU训练脚本,可直接进行模型训练。
- 若为GPU训练脚本,需要将脚本通过分析迁移转换为NPU训练脚本,再进行模型训练。
- 单击“Next”,配置训练工程其他信息,参数说明如表1所示。
表1 工程参数说明 参数
说明
Project name
工程名称,自行配置。
- 名称开头和结尾必须是数字或字母。
- 只能包含字母、数字、中划线和下划线。
- 长度不超过64个字符。
Project location
工程默认保存路径,用户可自定义。(对于首次使用MindStudio的用户,该项默认为“$HOME/MindstudioProjects”。)
More settings
“Module name”:模块名,默认与“Project name”一致。
“Content root”:根目录下路径。
“Module file location”:模块文件路径。
单击“Project format”右侧选框,出现下拉菜单。- .idea(directory-based):创建项目的时候创建一个.idea的项目录来保存项目的信息,默认选项。
- .ipr(file-based):项目配置文件来保存项目的配置信息。
- 单击“Create”完成训练工程的创建。
若工作窗口已打开其他工程,会出现确认提示。
- 选择“This Window”,则直接在当前工作窗口打开新创建的工程。
- 选择“New Window”,则新建一个工作窗口打开新创建的工程。
- 查看训练工程目录结构和主要文件,请以实际创建结果为准。
├── .idea ├── data //数据集目录,需用自行创建 ├── .project //工程信息文件,包含工程类型、工程描述、运行目标设备类型以及CANN版本 ├── train.py //训练脚本文件,为空文件,用户在这里编写训练脚本 ├── MyTraining.iml
- 在左侧导航栏选择“Ascend Training”,如图1所示。
- 当选择“Samples”下的工程时
- 在左侧导航栏选择“Ascend Training”,如图1所示。
- 在右侧界面选择“CANN Version”。
- 选择“Samples”下的工程,例如选择“MindSpore”。
- 单击“Next”,跳转至gitee代码仓界面。
- 在gitee代码仓页面下单击“克隆/下载 > 复制”,复制代码包下载链接。
- 在开发环境执行命令:git clone URL(其中URL为复制的代码包下载链接),直接将代码包克隆到开发环境。
git clone https://gitee.com/mindspore/models.git
TensorFlow和Pytorch代码包下载链接如下所示:
- TensorFlow:https://gitee.com/ascend/ModelZoo-TensorFlow
- Pytorch:https://gitee.com/ascend/ModelZoo-PyTorch
- 在下载的文件夹中选择需要的模型样例,然后直接通过MindStudio导入,详情请参见导入训练工程。
当通过Samples下载gitee代码仓中的模型样例时,可直接进行模型训练。
- 在左侧导航栏选择“Ascend Training”,如图1所示。
- 当选择“Templates”下的工程时
导入训练工程
如果已有训练工程,则无需新建训练工程,可直接通过MindStudio导入,操作如下。
- 使用MindStudio导入训练工程。
- MindStudio欢迎界面:单击“Open”,选择需要导入的工程,单击“OK”确认导入。
- MindStudio工程界面:在顶部菜单栏中选择 或单击工具栏中的,选择现有工程打开。
- 如该工程存在代码风险,在打开时会弹出信任窗口。
- 如该工程源码可被信任且安全,请单击“Trust Project”。(可通过勾选“Trust project in <工作区目录>”复选框信任该目录下的所有工程。)
- 如该工程不被信任,仅用于查看其中源码,请单击“Preview in Safe Mode”进入安全模式预览。
- 如放弃打开该工程,请单击“Don't Open”取消工程导入操作。
- 若导入NPU训练工程,可直接进行模型训练;若导入GPU训练工程,需要将脚本通过分析迁移转换为NPU训练脚本,再进行模型训练。
- 如该工程存在代码风险,在打开时会弹出信任窗口。
- 若工作窗口已打开其他工程,会出现确认提示。
- 选择“This Window”,则直接在当前工作窗口打开新创建的工程。
- 选择“New Window”,则新建一个工作窗口打开新创建的工程。
- 成功导入工程后,工程目录以树状呈现,请以实际创建结果为准。
如果导入的是非昇腾工程,需要将工程转换为昇腾工程,再进行运行配置,详情请参见工程转换。
运行配置
- 单击工程界面图2所示菜单中的 ,进入运行配置界面。 或单击
- 配置训练参数。
运行配置支持Ascend Training和Python两种配置方式(推荐使用Python配置方式):
- Python:支持运行、调试工程以及训练过程中代码异常跳转功能。
- Ascend Training:仅支持运行工程。
- 使用Python配置方式
如果训练工程中的执行源文件为xxx.py格式,推荐使用此配置方式。
- 单击左上角的“+”,在弹出的下拉框选择 ,新增文件的编译调试配置。
- 右侧显示配置项,配置示例如图3所示,关键配置参数参见表2。
表2 调试运行关键参数说明 参数
说明
Name
用户自行定义。
Script path
选择需要执行调试的Python源文件具体路径。
Parameters
运行参数,请根据实际情况自行配置。
Python interpreter
“Use SDK of module”:使用模块级的Python SDK进行解析。
具体配置功能请参见设置模块级Python SDK(昇腾工程)或设置模块级Python SDK(非昇腾工程)。
“Use specified interpreter”:使用已配置的特定解析器。
具体配置功能请参见Python SDK设置。
Working directory
工作目录(默认为需执行调试的Python源文件所在的目录)。
- 单击“Apply”应用后,单击“OK”保存并关闭调试配置界面。
- 使用Ascend Training配置方式
如果训练工程中的执行源文件为xxx.sh格式,请使用此配置方式。
- 单击左上角的“+”,在弹出的下拉框选择 ,新增文件的运行配置。
- 右侧显示配置项,配置示例如图4和图5 运行配置界面(Local Run)所示,关键配置参数参见表3。
- 当“Run Mode”选择“Remote Run”时:
- 当“Run Mode”选择“Local Run”时:
表3 训练工程运行信息 参数
说明
Name
工程名称,用户自行配置,必选。
- 名称必须以字母开头,数字或字母结尾。
- 只能包含字母、数字、中划线和下划线。
- 长度不能超过64个字符。
Run Mode
运行环境选择。选择“Remote Run”或“Local Run”,默认为“Remote Run”。
Executable
训练工程中的执行源文件,必选。
例如:$home/AscendProjects/MyTraining/xxx。
Deployment
运行配置。选择Remote Run模式时可见,必选。
请参见Ascend Deployment进行配置,可以将指定项目中的文件、文件夹同步到远程指定机器的指定目录。
Command Arguments
训练工程执行参数,可选。
Environment Variables
训练工程环境变量,可选。
- 单击“Apply”应用后,单击“OK”保存并关闭运行配置界面。
执行训练
- 单击工程界面图6所示菜单,执行训练。 或单击
- 查看训练结果。
- 训练成功:在工程界面底部图7所示。 窗口显示运行实时信息,如
- 训练失败:在工程根目录下的“out/reports”下生成训练工程的整网支持度报告network_analysis_timestamp.report。报告内容如图8所示。
图7 整网支持度报告是以MindSpore训练框架创建的训练工程,训练失败后在工程根目录下的“out/reports”下生成的.report文件;以TensorFlow和PyTorch训练框架创建的训练工程,训练失败后生成的.report文件返回至用户自定义的输出路径。