MindSpore功能强大、专业实用,是最佳匹配昇腾AI处理器算力的全场景深度学习框架,是专门为数据科学家和算法工程师提供设计友好、运行高效的开发体验而设计的去通用深度信息开发框架,同时该平台内置有专业丰富且操作详细的使用教程,可帮助用户快速熟练安装和使用该框架;MindSpore有效推动人工智能软硬件应用生态繁荣发展,为用户提供了友好的设计和高效的执行,旨在提升数据科学家和算法工程师的开发体验,并为Ascend AI处理器提供原生支持,以及软硬件协同优化,感兴趣的用户赶快下载吧。
处理数据
+转换数据集为MindRecord
+优化数据处理
构建网络
+自定义算子
+迁移第三方框架训练脚本
+深度概率编程
+实现高阶自动微分
调试网络
+使用PyNative模式调试
+借助R图进行调试
+自定义调试信息
+使用可视化组件MindInsight
+应用自动数据增强
+训练时验证模型
优化训练性能
+分布式并行训练
+使能自动混合精度
+使能图算融合
+应用梯度累积算法
+应用单节点数据缓存
压缩模型
+应用感知量化训练
模型安全和隐私
+使用NAD算法提升模型安全性
+应用差分隐私机制保护用户隐私
+使用 fuzz testing模块测试模型安全性
+使用成员推理测试模型安全性
应用实践
+机器视觉
+自然语言处理
+高性能计算
+在云上使用 MindSpore
简单的开发体验
帮助开发者实现网络自动切分,只需串行表达就能实现并行训练,降低门槛,简化开发流程。
使用该深度学习、ai、人工智能框架的优势之灵活的调试模式
灵活的调试模式
具备训练过程静态执行和动态调试能力,开发者通过变更一行代码即可切换模式,快速在线定位问题。
使用该深度学习、ai、人工智能框架的优势之充分发挥硬件潜能
充分发挥硬件潜能
最佳匹配昇腾处理器,最大程度地发挥硬件能力,帮助开发者缩短训练时间,提升推理性能。
使用该深度学习、ai、人工智能框架的优势之全场景快速部署
全场景快速部署
支持云、边缘和手机上的快速部署,实现更好的资源利用和隐私保护,让开发者专注于AI应用的创造。
pip方式安装MindSpore Ascend 910版本
pip方式安装MindSpore Ascend 910版本确认系统环境信息安装MindSpore配置环境变量验证是否成功安装升级MindSpore版本安装MindInsight安装MindArmour安装MindSpore Hub安装MindSpore Serving
本文档介绍如何在Ascend 910环境的Linux系统上,使用pip方式快速安装MindSpore。
确认系统环境信息
确认安装Ubuntu 18.04/CentOS 8.2/EulerOS 2.8是64位操作系统。
确认安装正确GCC 版本,Ubuntu 18.04/EulerOS 2.8用户,GCC>=7.3.0;CentOS 8.2用户 GCC>=8.3.1。
确认安装gmp 6.1.2版本。
确认安装Python 3.7.5版本。
如果未安装或者已安装其他版本的Python,可从官网或者华为云下载Python 3.7.5版本 64位,进行安装。
确认安装Ascend 910 AI处理器软件配套包(Atlas Data Center Solution V100R020C20T600)。
确认当前用户有权限访问Ascend 910 AI处理器配套软件包的安装路径/usr/local/Ascend,若无权限,需要root用户将当前用户添加到/usr/local/Ascend所在的用户组,具体配置请详见配套软件包的说明文档。
安装Ascend 910 AI处理器配套软件包提供的whl包,whl包随配套软件包发布,升级配套软件包之后需要重新安装。
安装MindSpore
其中:
在联网状态下,安装whl包时会自动下载MindSpore安装包的依赖项(依赖项详情参见requirements.txt),其余情况需自行安装。
{version}表示MindSpore版本号,例如安装1.1.0版本MindSpore时,{version}应写为1.1.0。
{arch}表示系统架构,例如使用的Linux系统是x86架构64位时,{arch}应写为x86_64。如果系统是ARM架构64位,则写为aarch64。
{system}表示系统版本,例如使用的欧拉系统ARM架构,{system}应写为euleros_aarch64,目前Ascend版本可支持以下系统euleros_aarch64/euleros_x86/centos_aarch64/centos_x86/ubuntu_aarch64/ubuntu_x86。
配置环境变量
如果Ascend 910 AI处理器配套软件包没有安装在默认路径,安装好MindSpore之后,需要导出Runtime相关环境变量,下述命令中LOCAL_ASCEND=/usr/local/Ascend的/usr/local/Ascend表示配套软件包的安装路径,需注意将其改为配套软件包的实际安装路径。
验证是否成功安装
如果输出:
说明MindSpore安装成功了。
升级MindSpore版本
当需要升级MindSpore版本时,可执行如下命令:
下面我们通过一个实际样例,带领大家体验MindSpore基础的功能,对于一般的用户而言,完成整个样例实践会持续20~30分钟。
本例子会实现一个简单的图片分类的功能,整体流程如下:
处理需要的数据集,这里使用了MNIST数据集。
定义一个网络,这里我们使用LeNet网络。
定义损失函数和优化器。
加载数据集并进行训练,训练完成后,查看结果及保存模型文件。
加载保存的模型,进行推理。
验证模型,加载测试数据集和训练后的模型,验证结果精度。
你可以在这里找到完整可运行的样例代码:https://gitee.com/mindspore/docs/tree/r1.1/tutorials/tutorial_code/lenet 。
这是简单、基础的应用流程,其他高级、复杂的应用可以基于这个基本流程进行扩展。
准备环节在动手进行实践之前,确保,你已经正确安装了MindSpore。如果没有,可以通过MindSpore安装页面将MindSpore安装在你的电脑当中。
同时希望你拥有Python编码基础和概率、矩阵等基础数学知识。
那么接下来,就开始MindSpore的体验之旅吧。
下载数据集我们示例中用到的MNIST数据集是由10类28*28的灰度图片组成,训练数据集包含60000张图片,测试数据集包含10000张图片。
MNIST数据集下载页面:http://yann.lecun.com/exdb/mnist/。页面提供4个数据集下载链接,其中前2个文件是训练数据需要,后2个文件是测试结果需要。
将数据集下载并解压到本地路径下,这里将数据集解压分别存放到工作区的./MNIST_Data/train、./MNIST_Data/test路径下。
目录结构如下:
为了方便样例使用,我们在样例脚本中添加了自动下载数据集的功能。
导入Python库&模块在使用前,需要导入需要的Python库。
目前使用到os库,为方便理解,其他需要的库,我们在具体使用到时再说明。
import os
详细的MindSpore的模块说明,可以在MindSpore API页面中搜索查询。
配置运行信息在正式编写代码前,需要了解MindSpore运行所需要的硬件、后端等基本信息。
可以通过context.set_context来配置运行需要的信息,譬如运行模式、后端信息、硬件等信息。
导入context模块,配置运行需要的信息。
在样例中我们配置样例运行使用图模式。根据实际情况配置硬件信息,譬如代码运行在Ascend AI处理器上,则--device_target选择Ascend,代码运行在CPU、GPU同理。详细参数说明,请参见context.set_context接口说明。
数据处理数据集对于训练非常重要,好的数据集可以有效提高训练精度和效率。在加载数据集前,我们通常会对数据集进行一些处理。
定义数据集及数据操作我们定义一个函数create_dataset来创建数据集。在这个函数中,我们定义好需要进行的数据增强和处理操作:
定义数据集。
定义进行数据增强和处理所需要的一些参数。
根据参数,生成对应的数据增强操作。
使用map映射函数,将数据操作应用到数据集。
对生成的数据集进行处理。
其中,
batch_size:每组包含的数据个数,现设置每组包含32个数据。
repeat_size:数据集复制的数量。
先进行shuffle、batch操作,再进行repeat操作,这样能保证1个epoch内数据不重复。
MindSpore支持进行多种数据处理和增强的操作,各种操作往往组合使用,具体可以参考数据处理和与数据增强章节。
定义网络我们选择相对简单的LeNet网络。LeNet网络不包括输入层的情况下,共有7层:2个卷积层、2个下采样层(池化层)、3个全连接层。每层都包含不同数量的训练参数,如下图所示:
更多的LeNet网络的介绍不在此赘述,希望详细了解LeNet网络,可以查询http://yann.lecun.com/exdb/lenet/。
我们对全连接层以及卷积层采用Normal进行参数初始化。
MindSpore支持TruncatedNormal、Normal、Uniform等多种参数初始化方法,默认采用Normal。具体可以参考MindSpore API的mindspore.common.initializer模块说明。
使用MindSpore定义神经网络需要继承mindspore.nn.Cell。Cell是所有神经网络(Conv2d等)的基类。
神经网络的各层需要预先在__init__方法中定义,然后通过定义construct方法来完成神经网络的前向构造。按照LeNet的网络结构,定义网络各层如下:
定义损失函数及优化器基本概念在进行定义之前,先简单介绍损失函数及优化器的概念。
损失函数:又叫目标函数,用于衡量预测值与实际值差异的程度。深度学习通过不停地迭代来缩小损失函数的值。定义一个好的损失函数,可以有效提高模型的性能。
优化器:用于最小化损失函数,从而在训练过程中改进模型。
定义了损失函数后,可以得到损失函数关于权重的梯度。梯度用于指示优化器优化权重的方向,以提高模型性能。
定义损失函数MindSpore支持的损失函数有SoftmaxCrossEntropyWithLogits、L1Loss、MSELoss等。这里使用SoftmaxCrossEntropyWithLogits损失函数。
在__main__函数中调用定义好的损失函数:
定义优化器MindSpore支持的优化器有Adam、AdamWeightDecay、Momentum等。
这里使用流行的Momentum优化器。
训练网络配置模型保存MindSpore提供了callback机制,可以在训练过程中执行自定义逻辑,这里使用框架提供的ModelCheckpoint为例。 ModelCheckpoint可以保存网络模型和参数,以便进行后续的fine-tuning(微调)操作。
配置训练网络通过MindSpore提供的model.train接口可以方便地进行网络的训练。LossMonitor可以监控训练过程中loss值的变化。 这里把train_epoch设置为1,对数据集进行1个迭代的训练。
其中, 在train_net方法中,我们加载了之前下载的训练数据集,mnist_path是MNIST数据集路径。
运行并查看结果使用以下命令运行脚本:
其中,
lenet.py:为你根据教程编写的脚本文件。
--device_target CPU:指定运行硬件平台,参数为CPU、GPU或者Ascend,根据你的实际运行硬件平台来指定。
训练过程中会打印loss值,类似下图。loss值会波动,但总体来说loss值会逐步减小,精度逐步提高。每个人运行的loss值有一定随机性,不一定完全相同。 训练过程中loss打印示例如下:
训练完后,即保存的模型文件,示例如下:
其中,
checkpoint_lenet-1_1875.ckpt:指保存的模型参数文件。名称具体含义checkpoint_网络名称-第几个epoch_第几个step.ckpt。
验证模型在得到模型文件后,通过模型运行测试数据集得到的结果,验证模型的泛化能力。
使用model.eval接口读入测试数据集。
使用保存后的模型参数进行推理。
其中, load_checkpoint:通过该接口加载CheckPoint模型参数文件,返回一个参数字典。
checkpoint_lenet-1_1875.ckpt:之前保存的CheckPoint模型文件名称。
load_param_into_net:通过该接口把参数加载到网络中。
使用运行命令,运行你的代码脚本。
其中,
lenet.py:为你根据教程编写的脚本文件。
--device_target CPU:指定运行硬件平台,参数为CPU、GPU或者Ascend,根据你的实际运行硬件平台来指定。
运行结果示例如下:
可以在打印信息中看出模型精度数据,示例中精度数据达到96.6%,模型质量良好。随着网络迭代次数train_epoch增加,模型精度会进一步提高。
通用场景教程
面向不同程度开发者提供多种场景下的使用教程,通过细分步骤指导如何使用MindSpore
面向新手的通用场景教程之快速入门
快速入门
通过一个实际样例实现手写数字的识别,带领大家体验MindSpore基础的功能,一般来说,完成整个样例实践会持续20~30分钟。
面向专家的通用场景教程之图像分类
图像分类
结合CIFAR-10数据集,讲解MindSpore如何处理图像分类任务。
面向专家的通用场景教程之情感分析
情感分析
构建一个自然语言处理的模型,通过文本分析和推理实现情感分析,完成对文本的情感分类。
生态合作
开发者体验(昇腾环境)
在云上ModelArts AI开发平台抢鲜体验昇腾资源
开源合作
MindSpore社区期待各位开发者的加入
高校合作
MindSpore诚挚邀请您加入华为沃土高校教研AI扶持计划。
CIMCO Edit
276.25 MB/2020-08-17CIMCOEditV5是CIMCO软件公司专为数控编程而设计的专业软件,该软件以其强大的功能、低廉的价格而风靡欧美,它有强大而实用的数控编辑功能、文件的智能比较、刀位轨迹的三维模拟、DNC传输等功能。其完全的Windows界面,一目了然的地址颜色,强大的在线帮助,会使您爱不释手。
CKplayer网页播放器
336 KB/2020-08-17ckplayer是一款在网页上播放视频的免费的网页播放器,功能强大,体积小巧,跨平台,使用起来随心所欲。CKplayer网页播放器主要以adobe的flash(所使用的版本是CS5)平台开发,ckplayer同时也支持html5的视频播放。
WordPress
6.7 MB/2020-08-17WordPress是一种使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设自己的网志。也可以把WordPress当作一个内容管理系统(CMS)来使用。
Discuz论坛
4.05 MB/2020-08-17Discuz!Board(以下简称Discuz!,中国国家版权局著作权登记号2003SR6623)是一个通用的论坛软件系统,用户可以在不需要任何编程的基础上,Discuz论坛通过简单的设置和安装
Guns后台管理系统
12.5 MB/2020-08-17Guns后台管理系统是一款项目快速开发管理系统网站搭建模板,基于SpringBoot2开发,内置主控面板、组织架构、用户管理、机构管理、职位管理、权限管理、基础数据、系统功能
狂雨小说cms
7.8 MB/2020-08-17狂雨小说是一款体积轻量、简单易用的轻量级小说网站搭建模板,基于ThinkPHP5.1+MySQL的技术开发,网站搭建和部署便捷简单,通过该模板用户可以快速搭建一个属于自己的小说内
Slidev(开发幻灯片展示)
8.52 MB/2020-08-17Slidev是一款非常专业且优秀的开发幻灯片展示软件,作为基于Web的幻灯片制作和演示软件,非常适合开发人员使用,可帮助他们专注于在Markdown中编写内容,软件功能强大,拥有HTML
魔众短链接系统
27.5 MB/2020-08-17魔众短链接系统是一款绿色安全、免费开源的短链接生成网站搭建模板,基于PHP+Mysql开发,可帮助用户快速搭建属于自己的短链接生成网站,该网站界面简洁美观、对SEO非常友好,功
CIMCO Edit
建站专家网站建设系统
Turbo C 2.0库函数速查
PPTV网络电视系统
中英繁公司企业智能自助建站源码
宾馆酒店饭店网站建设模板ASP源码
XOOPS 简体中文版 2.0.3 for Unix
SaurusCMS
Deluge For Linux
德州游戏官网
767彩票app安卓版
角落棋牌2025官方版
亲友棋牌送6元金币平台2025
众发棋牌平台
震东济南棋牌2025
767娱乐彩票3.0.0版本
角落棋牌最新手机版
正版资料免费资料大全下载
您可能感兴趣的专题
男生必备
男生们看过来!
安卓装机必备
女生必备
女生必备app是拥有众多女性用户的手机软件,作为一个女生,生活中像淘宝、京东这类线上购物软件可以说是少不了的,小红书这种穿搭、化妆分享平台也很受欢迎,类似于西柚大姨妈、美柚这种专为女生打造的生理期app更是手机必备,还有大家用的最多拍照美颜app是绝对不能忘记的,除此之外对于一些追星女孩来说,微博也是一个必不可少的软件。超多女生必备软件尽在下载吧!
迅雷看看使用教程
迅雷看看播放器是一款多功能在线高清多媒体视频播放器,支持本地播放与在线视频点播,采用P2P点对点传输技术,可以在线流畅观看高清晰电影。不仅如此,迅雷看看不断完善用户交互和在线产品体验,让您的工作与生活充满乐趣。
驱动精灵
驱动精灵是一款集驱动管理和硬件检测于一体的、专业级的驱动管理和维护工具。驱动精灵为用户提供驱动备份、恢复、安装、删除、在线更新等实用功能,也是大家日常生活中经常用到的实用型软件之一了。
拼音输入法
对于电脑文字输入,拼音输入法是一种非常受欢迎的输入法,搜狗拼音输入法、百度拼音输入法、QQ拼音输入法、谷歌拼音输入法、紫光拼音输入法、智能拼音输入法等,你在用哪款呢?一款好用适合自己的拼音输入法一定对您平时帮助很大!下载吧收集了最热门国人最喜欢用的拼音输入法给大家。
b站哔哩哔哩怎么使用
很多人都喜欢在b站哔哩哔哩上观看视频,不单是因为可以提前看到一些视频资源,B站的一些弹幕、评论的玩法也是被网友们玩坏了!下面下载吧小编带来了b站哔哩哔哩怎么使用的教程合集!希望能帮到你啦!
抖音短视频app
抖音短视频app,这里汇聚全球潮流音乐,搭配舞蹈、表演等内容形式,还有超多原创特效、滤镜、场景切换帮你一秒变大片,为你打造刷爆朋友圈的魔性短视频。脑洞有多大,舞台就有多大!好玩的人都在这儿!