配套视频链接:https://b23.tv/BV1jT4y167th

一、MindSpore环境搭建和配置介绍

1、MindSpore简介

MindSpore是一个全场景深度学习框架,旨在实现易开发、高效执行、全场景覆盖三大目标,其中易开发表现为API友好、调试难度低,高效执行包括计算效率、数据预处理效率和分布式训练效率,全场景则指框架同时支持云、边缘以及端侧场景。
MindSpore总体架构如下图所示,其中:
ModelZoo(网络样例):ModelZoo提供可用的深度学习算法网络,也欢迎更多开发者贡献新的网络。
MindSpore Extend(扩展层):MindSpore的扩展包,支持拓展新领域场景,如GNN/深度概率编程/强化学习等,期待更多开发者来一起贡献和构建。
MindScience(科学计算):MindScience是基于MindSpore融合架构打造的科学计算行业套件,包含了业界领先的数据集、基础模型、预置高精度模型和前后处理工具,加速了科学行业应用开发。
MindExpression(表达层):基于Python的前端表达与编程接口。同时未来计划陆续提供C/C++、华为自研编程语言前端-仓颉(目前还处于预研阶段)等第三方前端的对接工作,引入更多的第三方生态。
MindData(数据处理层):提供高效的数据处理、常用数据集加载等功能和编程接口,支持用户灵活的定义处理注册和pipeline并行优化。
MindCompiler(编译优化层):图层的核心编译器,主要基于端云统一的MindIR实现三大功能,包括硬件无关的优化(类型推导、自动微分、表达式化简等)、硬件相关优化(自动并行、内存优化、图算融合、流水线执行等)、部署推理相关的优化(量化、剪枝等)。
MindRT(全场景运行时):MindSpore的运行时系统,包含云侧主机侧运行时系统、端侧以及更小IoT的轻量化运行时系统。
MindInsight(可视化调试调优工具):提供MindSpore的可视化调试调优等工具,支持用户对训练网络的调试调优。
MindArmour(安全增强包):面向企业级运用时,安全与隐私保护相关增强功能,如对抗鲁棒性、模型安全测试、差分隐私训练、隐私泄露风险评估、数据漂移检测等技术。

MindSpore源于全产业的最佳实践,向数据科学家和算法工程师提供了统一的模型训练、推理和导出等接口,支持端、边、云等不同场景下的灵活部署,推动深度学习和科学计算等领域繁荣发展。
MindSpore提供了Python编程范式,用户使用Python原生控制逻辑即可构建复杂的神经网络模型,AI编程变得简单。
目前主流的深度学习框架的执行模式有两种,分别为静态图模式和动态图模式。静态图模式拥有较高的训练性能,但难以调试。动态图模式相较于静态图模式虽然易于调试,但难以高效执行。
MindSpore提供了动态图和静态图统一的编码方式,大大增加了静态图和动态图的可兼容性,用户无需开发多套代码,仅变更一行代码便可切换动态图/静态图模式,例如设置
context.set_context(mode=context.PYNATIVE_MODE)
切换成动态图模式,设置
context.set_context(mode=context.GRAPH_MODE)
即可切换成静态图模式,用户可拥有更轻松的开发调试及性能体验。
神经网络模型通常基于梯度下降算法进行训练,但手动求导过程复杂,结果容易出错。MindSpore的基于源码转换(Source Code Transformation,SCT)的自动微分(Automatic Differentiation)机制采用函数式可微分编程架构,在接口层提供Python编程接口,包括控制流的表达。用户可聚焦于模型算法的数学原生表达,无需手动进行求导。
随着神经网络模型和数据集的规模不断增加,分布式并行训练成为了神经网络训练的常见做法,但分布式并行训练的策略选择和编写十分复杂,这严重制约着深度学习模型的训练效率,阻碍深度学习的发展。MindSpore统一了单机和分布式训练的编码方式,开发者无需编写复杂的分布式策略,在单机代码中添加少量代码即可实现分布式训练,例如设置
context.set_auto_parallel_context(parallel_mode=ParallelMode.AUTO_PARALLEL)
便可自动建立代价模型,为用户选择一种较优的并行模式,提高神经网络训练效率,大大降低了AI开发门槛,使用户能够快速实现模型思路。

2、MindSpore环境安装配置

选择适合自己的环境条件后,获取命令并按照指南进行安装,或使用云平台创建和部署模型

安装细节参见链接:https://www.mindspore.cn/install
验证是否成功安装
python -c “import mindspore;mindspore.run_check()”
如果输出:
MindSpore version: 版本号
The result of multiplication calculation is correct, MindSpore has been installed successfully!
说明MindSpore安装成功了。

二、MindStudio简介与安装

1、MindStudio简介

`
MindStudio是一套基于华为昇腾AI处理器开发的AI全栈开发平台,包括基于芯片的算子开发、以及自定义算子开发,同时还包括网络层的网络移植、优化和分析,另外在业务引擎层提供了一套可视化的AI引擎拖拽式编程服务,极大的降低了AI引擎的开发门槛,全平台通过Web的方式向开发者提供以下4项服务功能。

   针对安装与部署,MindStudio提供多种部署方式,支持多种主流操作系统,为开发者提供最大便利。针对算子开发,MindStudio提供包含UT测试、ST测试、TIK算子调试等的全套算子开发流程。支持TensorFlow、PyTorch、MindSpore等多种主流框架的TBE和AI CPU自定义算子开发。针对网络模型的开发,MindStudio支持TensorFlow、Pytorch、MindSpore框架的模型训练,支持多种主流框架的模型转换。集成了训练可视化、脚本转换、模型转换、精度比对等工具,提升了网络模型移植、分析和优化的效率。针对应用开发,MindStudio集成了Profiling性能调优、编译器、MindX SDK的应用开发、可视化pipeline业务流编排等工具,为开发者提供了图形化的集成开发环境,通过MindStudio能够进行工程管理、编译、调试、性能分析等全流程开发,能够很大程度提高开发效率。MindStudio功能框架如图1所示,目前含有的工具链包括:模型转换工具、模型训练工具、自定义算子开发工具、应用开发工具、工程管理工具、编译工具、流程编排工具、精度比对工具、日志管理工具、性能分析工具、设备管理工具等多种工具。


MindStudio工具中的主要几个功能特性如下:

   工程管理:为开发人员提供创建工程、打开工程、关闭工程、删除工程、新增工程文件目录和属性设置等功能。SSH管理:为开发人员提供新增SSH连接、删除SSH连接、修改SSH连接、加密SSH密码和修改SSH密码保存方式等功能。应用开发:针对业务流程开发人员,MindStudio工具提供基于AscendCL(Ascend Computing Language)和集成MindX SDK的应用开发编程方式,编程后的编译、运行、结果显示等一站式服务让流程开发更加智能化,可以让开发者快速上手。自定义算子开发:提供了基于TBE和AI CPU的算子编程开发的集成开发环境,让不同平台下的算子移植更加便捷,适配昇腾AI处理器的速度更快。离线模型转换:训练好的第三方网络模型可以直接通过离线模型工具导入并转换成离线模型,并可一键式自动生成模型接口,方便开发者基于模型接口进行编程,同时也提供了离线模型的可视化功能。日志管理:MindStudio为昇腾AI处理器提供了覆盖全系统的日志收集与日志分析解决方案,提升运行时算法问题的定位效率。提供了统一形式的跨平台日志可视化分析能力及运行时诊断能力,提升日志分析系统的易用性。性能分析:MindStudio以图形界面呈现方式,实现针对主机和设备上多节点、多模块异构体系的高效、易用、可灵活扩展的系统化性能分析,以及针对昇腾AI处理器的性能和功耗的同步分析,满足算法优化对系统性能分析的需求。设备管理:MindStudio提供设备管理工具,实现对连接到主机上的设备的管理功能。精度比对:可以用来比对自有模型算子的运算结果与Caffe、TensorFlow、ONNX标准算子的运算结果,以便用来确认神经网络运算误差发生的原因。开发工具包的安装与管理:为开发者提供基于昇腾AI处理器的相关算法开发套件包Ascend-cann-toolkit,旨在帮助开发者进行快速、高效的人工智能算法开发。开发者可以将开发套件包安装到MindStudio上,使用MindStudio进行快速开发。Ascend-cann-toolkit包含了基于昇腾AI处理器开发依赖的头文件和库文件、编译工具链、调优工具等。下表表1为MindStudio版本配套关系

2、MindStudio安装

安装python
1、MindStudio目前支持Python版本为3.7.0 ~3.9.7,下面以安装Python3.7.5依赖包为例。选择Windows x86-64 executable installer。

其他安装细节请参考链接:
https://www.hiascend.com/document/detail/zh/mindstudio/304/instg/atlasms_02_0022.html
2、打开系统命令行,输入python -V命令确认python版本是否为3.7.5。安装Python3相关依赖。
pip install xlrd==1.2.0
pip install absl-py
pip install numpy
如若返回如下信息,则表示安装成功。
Successfully installed xlrd-1.2.0
Successfully installed absl-py-0.12.0 six-1.15.0
Successfully installed numpy-1.20.1

安装MinGW
1、请用户到下载最新的MinGW安装包,根据系统选择对应版本,例如windows64位选择x86_64-posix-seh。安装细节参见链接:
https://www.hiascend.com/document/detail/zh/mindstudio/304/instg/atlasms_02_0022.html
2、打开系统命令行,输入gcc -v命令。当界面提示“gcc version x.x.x (x86_64-posix-sjlj-rev0, Built by MinGW-W64 project)”信息时,表示安装成功。若未提示该信息,请尝试重启计算机。

安装cMake
CMake是个一个开源的跨平台自动化建构系统,用来管理软件建置的程序,并不依赖于某特定编译器,并可支持多层目录、多个应用程序与多个库。
1、获取CMake,推荐安装的版本为3.16.5-win64-x64。安装细节请参考链接:
https://www.hiascend.com/document/detail/zh/mindstudio/304/instg/atlasms_02_0022.html

安装jdk11
1、请注意mindstudio不支持jdk8,请安装jdk11
安装细节参考链接:
https://gitee.com/ascend/docs-openmind/blob/master/guide/mindstudio/cases/tutorials/Windows安装MindStudio.md#安装java依赖
2、在cmd中输入javac –-version和java –version,得到如下输出,代表安装完成

安装mindstudio
1、软件安装前,请获取所需软件包和对应的数字签名文件。
(1) MindStudio_{version}win.zip,MindStudio免安装压缩包,含有GUI的集成开发环境。获取链接:https://www.hiascend.com/software/mindstudio/download
(2)MindStudio
{version}_win.exe,MindStudio安装包,含有GUI的集成开发环境。
获取链接:https://www.hiascend.com/software/mindstudio/download
2、为了防止软件包在传递过程或存储期间被恶意篡改,下载软件包时需下载对应的数字签名文件用于完整性验证。
3、安装MindStudio–两种方式
(1)以免安装压缩包形式,直接解压到相应文件目录即可
(2)下载exe文件以及对应的数字签名文件
安装参考链接:
https://www.hiascend.com/document/detail/zh/mindstudio/304/instg/atlasms_02_0023.html
启动MindStudio,如图即为启动成功

三、训练工程创建,工程功能以及相关菜单介绍

1、启动MindStudio
2、下载hypertext项目代码,项目地址
https://gitee.com/mindspore/models/tree/master/research/nlp/hypertext
3、点击Open按钮

4、选择项目所在位置,添加hypertext项目,点击OK

5、项目结构如图所示

6、代码目录结构如图所示

点击File->Projects Structure

点击Add Python SDK

选择SSH Interpreter,点击Deploy后的按钮

点击左上角+号,输入服务器IP地址,点击OK

点击File->settings->tools->deployment,配置映射。点击左上角加号,输入连接名称。

connection选项是基本的连接配置,类型一般选用SFTP,点击右侧按钮,输入服务器ip地址和端口号,然后可以点击Test SFTP connection按钮测试连接是否通畅。

下拉选择刚才配置好的ssh连接

接下来点击mapping配置映射关系,依次点击1,2选择。local path要求的是填入本地的项目名称路径,接下来的是部署到服务器上的项目名称,这两个可以保持一致,也可以不保持一致。
excluded paths(非必需)为配置忽略路径,表示忽略的项目文件不会上传到远程服务器。配置完成后,选中项目文件夹,然后按以下步骤将代码同步至服务器

点击OK,点击右侧按钮选择所需要的python解释器。Name的值可以随意取。

点击两次OK,完成配置。等待进度条结束,将会自动上传项目到远程服务器。

当本地文件进行修改需要上传到服务器时,点击项目名称hypertext,再选择Tools->Deployment->Upload to上传项目。同理,Download项目可以下载服务器文件到本地。勾选Automatic Upload,可以在每次本地文件保存后,自动同步项目到服务器。

至此,本地项目连接到远程服务器的步骤完成。
点击工具栏Ascend,将项目转化为昇腾项目,如图所示:

然后按照如下进行配置:

转换完成的界面如图所示:

若提示没有CANN,在File->Setting下搜索CANN,点击Install配置


等待同步完成

相关菜单介绍:

菜单区

按键区

工具区

四、模型迁移

本部分简要介绍mindspore模型开发的要点,详细开发教程与API可参考mindspore官网:https://www.mindspore.cn/,也可以在昇腾论坛进行讨论和交流:
https://bbs.huaweicloud.com/forum/forum-726-1.html
1、计算图构建model:
计算图需要继承mindspore.nn.Cell类,在__init__函数中完成初始化,并在construct函数中编写前向传播代码(反向传播代码由mindspore框架自动完成)。本案例的计算图在src/hypertext.py中,如图所示,拼接词嵌入Ngram,并通过einstein_midpoint(爱因斯坦中点计算)和hyperLinear(莫比乌斯变换),最后通过logmap0返回分类结果。einstein_midpoint和hyperLinear的实现在src/poincare.py中,poincare中主要实现了庞加莱球的各类运算,其中的类继承了mindspore.nn.Cell类,仍属于计算图的一部分。

2、自定义优化器optimizer:
在mindspore中已经实现了大量的优化器,一般情况下可以直接调用,不需要自定义优化器。由于本案例的计算图基于双曲空间实现,使用欧氏空间的优化器效果很差,因此需要自行实现。自定义的优化器,实现在src/radam_optimizer.py中,如图所示。自定义优化器需要继承Optimizer类,Optimizer类继承于mindspore.nn.Cell类,Optimizer类是优化器的基类。因此我们自定义的优化器依旧需要向计算图一样,在construct中完成前向传播代码的编写。

3、定义损失函数loss:
在src/hypertext_train.py中自定义损失函数,继承nn.Cell类

4、定义数据集dataset:
在src/dataset.py中,我们需要实现__getitem__(self,item)与__len__(self)函数,前者实现依据item下标随机取得数据集中元素的功能,len(self)返回数据集的总长度

5、训练
我们通过实例化loss,optimizer,model,dataset,并通过callbacks回调接口取得相关训练信息用于输出

6、分布式训练
train_single函数实现了单卡训练,train_paralle实现了多卡训练。train_paralle与train_single的区别主要在于分布式训练额外设置了一些与分布式训练的参数和环境,并不复杂,区别并不大。

五、使用MindStudio运行hypertext模型演示

1.介绍模型及数据集

1、论文名称:HyperText: Endowing FastText with Hyperbolic Geometry
项目地址为https://gitee.com/mindspore/models/tree/master/research/nlp/hypertext
2、自然语言数据呈现出树状的层次结构,如WordNet中的hypernymhyponym关系。考虑到双曲空间自然适合于树状分层数据的建模,原作者提出了一个名为HyperText的新模型,通过赋予FastText以双曲几何形状来实现高效的文本分类。经验表明,HyperText在一系列文本分类任务中的表现优于FastText,而且参数大大减少。
3、模型架构:HyperText 基于双曲空间的庞加莱球模型。首先利用单词或 ngram 的庞加莱球嵌入捕捉自然语言句子中的潜在层次结构,然后使用Einstein中点作为池化方法来强调语义特定词(包含更多信息出现频率低于一般词),最后使用Mobius线性变换作为双曲线分类器。

4、数据集:tnews数据集是今日头条新闻标题,用于短文本分类,包括2018年5月之前今日头条发布的中文新闻,共计73,360条标题。每个标题都标有 15 个新闻类别(金融、技术、体育等)之一。
iflytek数据集是科大讯飞数据集,用于长文本分类包含 17,332 个应用程序描述,包含和日常生活相关的各类应用主题,共119个类别,例如食品、汽车租赁、教育等。

2.执行数据预处理

1、在服务器上安装第三方库pkuseg、tqdm:
命令:

pip install pkuseg -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install tqdm -i https://pypi.tuna.tsinghua.edu.cn/simple

2、下载数据集:
下载[TNEWS]数据集:(https://bj.bcebos.com/paddlehub-dataset/tnews.tar.gz)
下载[IFLYTEK]数据集:(https://bj.bcebos.com/paddlehub-dataset/iflytek.tar.gz)
并解压至./hypertext/data/tnews,./hypertext/data/iflytek目录下,
并创建./hypertext/data/tnews_public与./hypertext/data/iflytek_public空目录,如图所示。
之后右键点击data->Deployment->uploadto,将data目录上传至服务器。

3、执行数据预处理。点击Run->Edit Configurations,在弹出的配置页面中,点击左上角“+”按钮,选择Python。Name为该运行配置名称,不能重复。Script path填入本地被执行python文件位置,选择create_dataset.py,parameters为运行所需的参数,Working direcroty为当前项目根目录。点击绿色三角运行。


参数配置说明如下:

(1)处理iflytek数据集,parameters中填入的参数为:
–data_dir /hypertext/data/iflytek --out_data_dir /hypertext/data/iflytek_public --datasetType iflytek
运行结束后,右键点击data-> Deployment->downloadto,将iflytek_public目录中的文件下载至本地。
(2)处理并下载tnews数据集,parameters中填入的参数为
–data_dir /hypertext/data/tnews --out_data_dir /hypertext/data/tnews_public --datasetType tnews。
注意:在每次预处理完成后,请将服务器中data目录下的文件同步到本地,否则再次运行时这些文件将会被删除,导致训练失败。

3.执行训练/评估

1、【重要】在每次训练完成后,请将服务器中output目录下的文件同步到本地,否则再次运行时这些文件将会被删除,导致不能评估
2、执行训练,点击Run->Edit Configurations,在弹出的配置页面中,点击左上角“+”按钮,选择Ascend Trainingg,如下图。Name为该运行配置名称,不能重复。Executable填入本地被执行python文件位置,选择train.py。Command Aarguments为运行所需的参数。点击绿色三角运行。

参数配置说明如下:

(1)训练tnews数据集,Command Aarguments中填入–datasetdir ./data/tnews_public --datasetType tnews --device Ascend
运行结果(部分),如图所示:

(2)训练iflytek数据集,Command Aarguments中填入–datasetdir ./data/iflytek_public --datasetType iflytek --device Ascend
运行结果(部分),如图所示:

3、执行评估:点击Run->Edit Configurations,在弹出的配置页面中,点击左上角“+”按钮,选择Python。Name为该运行配置名称,不能重复。Script path填入本地被执行python文件位置,选择eval.py,parameters为运行所需的参数,Working direcroty为当前项目根目录。点击绿色三角运行。

(1)评估tnew数据集,parameters中填入的参数为
–datasetdir ./data/tnews_public --modelPath ./output/hypertext_tnews.ckpt --datasetType tnews --device Ascend。
运行结果(部分),如图所示:

(2)评估iflytek数据集,parameters中填入的参数为
–datasetdir ./data/tnews_public --modelPath ./output/hypertext_tnews.ckpt --datasetType tnews --device Ascend
运行结果(部分),如图所示:

4.导出mindir模型

1、导出模型,点击Run->Edit Configurations,在弹出的配置页面中,点击左上角“+”按钮,选择Ascend Trainingg,如下图。Name为该运行配置名称,不能重复。Executable填入本地被执行python文件位置,选择export.py。Command Aarguments为运行所需的参数,点击绿色三角运行。

(1)导出tnews数据集的训练模型:parameters中填入的参数为
–modelPath ./output/hypertext_tnews.ckpt --datasetType tnews --device Ascend --batch_size 1
文件生成在./hypertext/hypertext_tnews.mindir,如图所示:

(2)导出iflytek数据集的训练模型:parameters中填入的参数为
–modelPath ./output/hypertext_iflytek.ckpt --datasetType iflytek --device Ascend --batch_size 1
文件生成在./hypertext/hypertext_iflytek.mindir,如图所示:

六、MindInsight训练可视化

1.安装MindInsight

pip方式安装:
安装PyPI上的版本:

pip install mindinsight

或者安装自定义版本:

pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/{version}/MindInsight/any/mindinsight-{version}-py3-none-any.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple

配置环境变量:
1.执行如下命令打开文件系统中的~/.bashrc文件:

vi ~/.bashrc

在文件最后添加如下环境变量:

export PATH=/usr/local/python3/bin:$PATH

“/usr/local/python3/bin”为示例安装路径,请根据实际情况配置。
:wq!保存退出。
2.执行命令使环境变量生效。

source ~/.bashrc

3.验证是否成功安装。
执行如下命令:

mindinsight --version

如果出现下列提示,说明安装成功。

2.使用MindInsight组件

重启MindStudio以启用MindInsight组件。
收集summary数据,实现训练可视化:通过SummaryCollector自动收集:
第一步:在train.py中导入SummaryCollector

from mindspore.train.callback import SummaryCollector


第二步:在train.py代码中实例化 SummaryCollectorSummaryCollector并添加到callbacks中,其中collect_freq为收集频率,设置的值太小时容易造成mindinsight看板卡顿:

summary_collector = SummaryCollector(summary_dir='./summary_dir',collect_freq=32)
callbacks = [LossMonitor(10), eval_cb, TimeMonitor(50), summary_collector]


第三步:需要注意的是,如果想非localhost访问UI,需要进行如下操作:
1.找到mindinsight包的位置

pip show mindinsight

2.cd到Location下的mindinsight目录,如:
/usr/local/python3.7.5/lib/python3.7/site-packages/mindinsight
3.打开conf目录下的contants.py文件,按照下图,修改HOST、ENABLE_CORS和SUPPORT_REQUEST_METHODS:

第四步:进入MindInsight管理界面
在工具栏选择“Ascend >MindInsight”打开MindInsight管理界面。

MindInsight管理界面可显示并管理多个MindInsight训练可视化工程。MindInsight管理界面相关属性说明如下图所示。

点击Enable按钮,配置MindInsight组件相关参数。

参数配置说明如下:

单击“OK”完成MindInsight组件相关参数配置,出现如图所示界面,说明配置成功(注意,Run Config的名称是执行训练/评估步骤中Ascend Training中的配置的名称,可能有所变化)

第五步:点击view按钮即可跳转进入浏览器,即可进入到UI面板界面

第六步:分别在两个数据集上运行训练,即可得到各自的训练可视化情况。若想停止监控,单击“Disable”停止MindInsight可视化进程

训练样板如下所示:

点击Traing Dashboard,可以看见训练看板中的各类数据,右上角可以选择开启/关闭自动刷新看板信息和刷新频率。

点击Training Scalar Information,可以查看详细的loss信息,并且有开启/关闭Loss曲线全屏等功能。

点击Parameter Distribution,可以查看参数分布情况
点击Tensor可以查看张量具体信息,这里未收集所以不能查看
点击Computational Graph,可以查看计算图

点击Data Graph可以查看Data Graph

点击Data Sampling可对样本图片进行取样查看,但是由于本案例是文本分类,不涉及图片,因此无法查看。

七、FAQ

一、启动MindStudio时报错,提示如下错误。

解决方法:这是由于配置的jdk版本有误导致启动失败,MindStudio支持的版本为jdk11,正确安装和配置jdk11后即可启动成功
二、执行预处理后,再执行训练时,File Transfer中显示将预处理后的数据集删除。或者是其他File Transfer中显示为了同步而将文件删除的情况
解决方法:请尝试以下两种解决方法
(1)Mindstudio在会保证本地项目文件与服务器项目文件完全一致,在每次上传本地文件夹到服务器或运行代码时,将会删除服务器上存在但本地不存在的文件。因此,当执行的代码需要用到服务器中文件,却没有同步到本地时,请先同步到本地。
(2)请将项目转换为Ascend项目,此时同步策略将转为增量上传/下载,不会删除那些本地和服务器上不一致的文件
三、配置完远程python解释器后,本地代码提示导入包报错
解决方法:根据出错情况,请尝试以下几种解决方案
(1)服务器上未安装对应包,或者是python解释器选择错误,请安装对应包,或者是重新选择解释器。
(2)若确认包和解释器无误,选择File->lnvalidate Caches…,重启Mindstudio并刷新缓存。

(3)若刷新缓存后,依旧存在某些包未下载到本地的情况,请删除C:\Users\用户名\AppData\Local\Huawei\MindStudioMS-3.0\remote_sources\目录下的所有文件,并重启MindStudio,等待包下载到本地完成即可。其中该目录依据安装情况可能有所出入,如果未找到该目录,在本地项目中选择一个导入成功的包,按Ctrl+B跳转,可以查看目录。如图所示。

四、使用MindInsight可视化,单击“View”查看训练工程日志信息。打开Web UI,可视化查看实时训练信息,显示浏览器无法连接,如图所示。

解决方法
1.进入MindStudio后台,编辑sshd_config配置文件

vi /etc/ssh/sshd_config

2.将AllowAgentForwarding由no改成yes后保存退出。
3.重启sshd服务使修改生效

systemctl restart sshd.service

4.再次开启MindInsight可视化,单击“View”查看训练工程日志信息。
五、启动mindinsight,再启动训练之后,mindinsight进程被杀并提示如下错误。

这种情况是因为进程冲突导致报错,请在启动训练之前添加

if __name__=='__main__':

例如启动训练代码为:

run_train(train_dataset, dev_dataset, config.learning_rate, args.run_distribute)

修改为:

if __name__=='__main__':run_train(train_dataset,dev_dataset,config.learning_rate,args.run_distribute)

八、从昇腾官方中体验更多内容

mindspore模型开发教程与API可参考mindspore官网:https://www.mindspore.cn/,
也可以在昇腾论坛进行讨论和交流:
https://bbs.huaweicloud.com/forum/forum-726-1.html

总结

以上就是本文要讲的内容,本文详细介绍了MindSpore环境搭建和配置介绍、mindstudio的安装与使用、hypertext的代码讲解、使用MindStudio进行模型开发与演示、MindInsight训练可视化。
欢迎大家提出意见与反馈,谢谢!
以下是对应学习视频链接:感兴趣的小伙伴可以点击学习观看哦
https://b23.tv/BV1jT4y167th

使用MindStudio进行MindSpore训练脚本开发相关推荐

  1. 2D激光雷达:使用MindStudio进行MindX SDK任务开发

    视频案例链接:2D激光雷达: 使用MindStudio进行MindX SDK任务开发_哔哩哔哩_bilibili 任务介绍 该项目基于DROW3和DR-SPAAM模型,实现了实时的2D激光雷达行人检测 ...

  2. 【GIS人必学】零基础学习ArcGIS Python脚本开发训练营来了

    Python作为一种高级程序设计语言,凭借其简洁.易读及可扩展性日渐成为程序设计领域备受推崇的语言.ArcGIS软件由于其面向地理问题的科学理念,不断创新的技术方法,已在国内外市场占据了主导地位.Py ...

  3. DeepMar-基于 MindStudio 的 MindX SDK 应用开发

    DeepMar-基于 MindStudio 的 MindX SDK 应用开发 MindX SDK 简介 MindX SDK应用开发是使用华为提供的开发套件完成模型的迅速开发以及部署人工智能应用.本文将 ...

  4. 探索神经网络三维魔方|MindSpore训练和端侧部署TinyNet

    来自华为诺亚方舟实验室.北京邮电大学以及香港科技大学的研究者们提出了一个新的轻量模型范式TinyNet.相比于EfficientNet的复合放缩范式(compound scaling),通过TinyN ...

  5. vim配置文件收集(作为c/c++和脚本开发的环境)

    vim配置文件收集(作为c/c++和脚本开发的环境) - StamHe的专栏 - 博客频道 - CSDN.NET vim配置文件收集(作为c/c++和脚本开发的环境) 分类: Linux系统配置 20 ...

  6. Loadrunner脚本开发简单几种方式

    1.通过录制方式 成功后: lr_start_transaction("1_lgin");web_submit_data("login.php", " ...

  7. 按键精灵 getcursorpos没有用_给你们想要的一键输出II按键精灵脚本开发教程

    按键精灵能为我们做什么 有人会说,按键精灵不就是代替我们按键盘嘛,当我们不玩的时候他替我们不停的按键盘,防止我们暂离掉线. 其实按键精灵能做的远远不止这些,按键精灵的脚本语言是基于VBS的,理论上VB ...

  8. 安卓三维展示源码_手机(安卓)自动化脚本开发线上培训

    7月份新增内容: 一.[autojs协议教程] 第一部分:HTTP教程 1.1.HTTP概念介绍1.2.HTTP消息结构1.3.HTTP请求方法1.4.HTTP请求方法1.5.HTTP状态码 第二部分 ...

  9. JAVA的嵌入式脚本开发(中)

    本文将分以下几个小节来学习: Java的JavaScript脚本引擎 脚本开发中涉及到的类和接口简介 开发步骤 脚本与java数据传递 脚本执行上下文 作用域 方法的调用 编译脚本 脚本与java数据 ...

最新文章

  1. MyBatis映射文件(一)
  2. 产品方法论之:菜鸟做加法,高手做减法!
  3. 东华之旅vs第一次坐飞机经历2018-06-10
  4. 7z(p7zip)压缩软件在Linux下的安装和使用
  5. Java架构师成长之道之Java数据计算
  6. 你当真了解left join???【避坑指南】
  7. windows下实现微秒级的延时
  8. 计算机编程语言的分类,解释型语言、编译型语言、脚本语言的区别
  9. java实体类转map_十五道经典面试题-JAVA基础篇
  10. java基础之----java常见异常及代码示例
  11. Apache服务器之------虚拟主机多功能配置
  12. Android音视频三-AndroidStudio整合FFmpeg项目+FFmpeg视频解码
  13. 【专栏】8086汇编语言系列教程
  14. activator类的使用
  15. 重症监护病人心电导联信号质量评估、SQI
  16. 电子设计教程16:共射极放大电路
  17. Android手写签名
  18. PPTV多屏互动服务器可以看文档吗,电脑pptv播放器多屏互动服务器是什么?
  19. www.ku6d.com采集目标
  20. poll, ppoll

热门文章

  1. 面向对象之继承,抽象类、模板设计模式
  2. PSSE潮流数据输入文件及与IEEE潮流数据文件的转化
  3. 编译image-analogy caffe问题记录
  4. 基于SSM的通用作业批改系统设计与实现 JAVA web
  5. 怎么样在Window10桌面查找显示“此电脑”或“我的电脑”图标?
  6. list tuple
  7. 2D层面上的战争迷雾逻辑设计
  8. nodejs 如何通过API 证书(权威CA颁发)下载敏感信息加密公钥证书?
  9. 网易云音乐App(iOS)分析
  10. 口腔ct重建服务器原理,基于口腔CT重建数据的牙齿分割与可视化研究