下载站

展开
精品推荐
MindSpore下载-深度学习框架 v1.1.0

MindSpore下载-深度学习框架 v1.1.0

程序源码大小:411.13MB语言: / 英文 类别:其他软件系统: / WinAll 提供:
应用介绍

软件介绍

MindSpore功能强大、专业实用,是最佳匹配昇腾AI处理器算力的全场景深度学习框架,是专门为数据科学家和算法工程师提供设计友好、运行高效的开发体验而设计的去通用深度信息开发框架,同时该平台内置有专业丰富且操作详细的使用教程,可帮助用户快速熟练安装和使用该框架;MindSpore有效推动人工智能软硬件应用生态繁荣发展,为用户提供了友好的设计和高效的执行,旨在提升数据科学家和算法工程师的开发体验,并为AscendAI处理器提供原生支持,以及软硬件协同优化,感兴趣的用户赶快网络安全组。

MindSpore下载,深度学习框架,源码相关,程序源码

软件功能

处理数据

+转换数据集为MindRecord

+优化数据处理

构建网络

+自定义算子

+迁移第三方框架训练脚本

+深度概率编程

+实现高阶自动微分

调试网络

+使用PyNative模式调试

+借助R图进行调试

+自定义调试信息

+使用可视化组件MindInsight

+应用自动数据增强

+训练时验证模型

优化训练性能

+分布式并行训练

+使能自动混合精度

+使能图算融合

+应用梯度累积算法

+应用单节点数据缓存

压缩模型

+应用感知量化训练

模型安全和隐私

+使用NAD算法提升模型安全性

+应用差分隐私机制保护用户隐私

+使用fuzztesting模块测试模型安全性

+使用成员推理测试模型安全性

应用实践

+机器视觉

+自然语言处理

+高性能计算

+在云上使用MindSpore

软件特色

简单的开发体验

帮助开发者实现网络自动切分,只需串行表达就能实现并行训练,降低门槛,简化开发流程。

使用该深度学习、ai、人工智能框架的优势之灵活的调试模式

灵活的调试模式

具备训练过程静态执行和动态调试能力,开发者通过变更一行代码即可切换模式,快速在线定位问题。

使用该深度学习、ai、人工智能框架的优势之充分发挥硬件潜能

充分发挥硬件潜能

最佳匹配昇腾处理器,最大程度地发挥硬件能力,帮助开发者缩短训练时间,提升推理性能。

使用该深度学习、ai、人工智能框架的优势之全场景快速部署

全场景快速部署

支持云、边缘和手机上的快速部署,实现更好的资源利用和隐私保护,让开发者专注于AI应用的创造。

安装方法

pip方式安装MindSporeAscend910版本

pip方式安装MindSporeAscend910版本确认系统环境信息安装MindSpore配置环境变量验证是否成功安装升级MindSpore版本安装MindInsight安装MindArmour安装MindSporeHub安装MindSporeServing

本文档介绍如何在Ascend910环境的Linux系统上,使用pip方式快速安装MindSpore。

确认系统环境信息

确认安装Ubuntu18.04/CentOS8.2/EulerOS2.8是64位操作系统。

确认安装正确GCC版本,Ubuntu18.04/EulerOS2.8用户,GCC=7.3.0;CentOS8.2用户GCC=8.3.1。

确认安装gmp6.1.2版本。

确认安装Python3.7.5版本。

如果未安装或者已安装其他版本的Python,可从官网或者华为云下载Python3.7.5版本64位,进行安装。

确认安装Ascend910AI处理器软件配套包(AtlasDataCenterSolutionV100R020C20T600)。

确认当前用户有权限访问Ascend910AI处理器配套软件包的安装路径/usr/local/Ascend,若无权限,需要root用户将当前用户添加到/usr/local/Ascend所在的用户组,具体配置请详见配套软件包的说明文档。

安装Ascend910AI处理器配套软件包提供的whl包,whl包随配套软件包发布,升级配套软件包之后需要重新安装。

MindSpore下载,深度学习框架,源码相关,程序源码

安装MindSpore

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。

配置环境变量

如果Ascend910AI处理器配套软件包没有安装在默认路径,安装好MindSpore之后,需要导出Runtime相关环境变量,下述命令中LOCAL_ASCEND=/usr/local/Ascend的/usr/local/Ascend表示配套软件包的安装路径,需注意将其改为配套软件包的实际安装路径。

MindSpore下载,深度学习框架,源码相关,程序源码

验证是否成功安装

MindSpore下载,深度学习框架,源码相关,程序源码

如果输出:

MindSpore下载,深度学习框架,源码相关,程序源码

说明MindSpore安装成功了。

升级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数据集下载页面:https://yann.lecun.com/exdb/mnist/。页面提供4个数据集下载链接,其中前2个文件是训练数据需要,后2个文件是测试结果需要。

将数据集下载并解压到本地路径下,这里将数据集解压分别存放到工作区的./MNIST_Data/train、./MNIST_Data/test路径下。

目录结构如下:

MindSpore下载,深度学习框架,源码相关,程序源码

为了方便样例使用,我们在样例脚本中添加了自动下载数据集的功能。

导入Python库&模块在使用前,需要导入需要的Python库。

目前使用到os库,为方便理解,其他需要的库,我们在具体使用到时再说明。

importos

详细的MindSpore的模块说明,可以在MindSporeAPI页面中搜索查询。

配置运行信息在正式编写代码前,需要了解MindSpore运行所需要的硬件、后端等基本信息。

可以通过context.set_context来配置运行需要的信息,譬如运行模式、后端信息、硬件等信息。

导入context模块,配置运行需要的信息。

MindSpore下载,深度学习框架,源码相关,程序源码

在样例中我们配置样例运行使用图模式。根据实际情况配置硬件信息,譬如代码运行在AscendAI处理器上,则--device_target选择Ascend,代码运行在CPU、GPU同理。详细参数说明,请参见context.set_context接口说明。

数据处理数据集对于训练非常重要,好的数据集可以有效提高训练精度和效率。在加载数据集前,我们通常会对数据集进行一些处理。

定义数据集及数据操作我们定义一个函数create_dataset来创建数据集。在这个函数中,我们定义好需要进行的数据增强和处理操作:

定义数据集。

定义进行数据增强和处理所需要的一些参数。

根据参数,生成对应的数据增强操作。

使用map映射函数,将数据操作应用到数据集。

对生成的数据集进行处理。

MindSpore下载,深度学习框架,源码相关,程序源码

MindSpore下载,深度学习框架,源码相关,程序源码

其中,

batch_size:每组包含的数据个数,现设置每组包含32个数据。

repeat_size:数据集复制的数量。

先进行shuffle、batch操作,再进行repeat操作,这样能保证1个epoch内数据不重复。

MindSpore支持进行多种数据处理和增强的操作,各种操作往往组合使用,具体可以参考数据处理和与数据增强章节。

定义网络我们选择相对简单的LeNet网络。LeNet网络不包括输入层的情况下,共有7层:2个卷积层、2个下采样层(池化层)、3个全连接层。每层都包含不同数量的训练参数,如下图所示:

MindSpore下载,深度学习框架,源码相关,程序源码

更多的LeNet网络的介绍不在此赘述,希望详细了解LeNet网络,可以查询https://yann.lecun.com/exdb/lenet/。

我们对全连接层以及卷积层采用Normal进行参数初始化。

MindSpore支持TruncatedNormal、Normal、Uniform等多种参数初始化方法,默认采用Normal。具体可以参考MindSporeAPI的mindspore.common.initializer模块说明。

使用MindSpore定义神经网络需要继承mindspore.nn.Cell。Cell是所有神经网络(Conv2d等)的基类。

神经网络的各层需要预先在__init__方法中定义,然后通过定义construct方法来完成神经网络的前向构造。按照LeNet的网络结构,定义网络各层如下:

MindSpore下载,深度学习框架,源码相关,程序源码

MindSpore下载,深度学习框架,源码相关,程序源码

定义损失函数及优化器基本概念在进行定义之前,先简单介绍损失函数及优化器的概念。

损失函数:又叫目标函数,用于衡量预测值与实际值差异的程度。深度学习通过不停地迭代来缩小损失函数的值。定义一个好的损失函数,可以有效提高模型的性能。

优化器:用于最小化损失函数,从而在训练过程中改进模型。

定义了损失函数后,可以得到损失函数关于权重的梯度。梯度用于指示优化器优化权重的方向,以提高模型性能。

定义损失函数MindSpore支持的损失函数有SoftmaxCrossEntropyWithLogits、L1Loss、MSELoss等。这里使用SoftmaxCrossEntropyWithLogits损失函数。

MindSpore下载,深度学习框架,源码相关,程序源码

在__main__函数中调用定义好的损失函数:

MindSpore下载,深度学习框架,源码相关,程序源码

定义优化器MindSpore支持的优化器有Adam、AdamWeightDecay、Momentum等。

这里使用流行的Momentum优化器。

MindSpore下载,深度学习框架,源码相关,程序源码

训练网络配置模型保存MindSpore提供了callback机制,可以在训练过程中执行自定义逻辑,这里使用框架提供的ModelCheckpoint为例。ModelCheckpoint可以保存网络模型和参数,以便进行后续的fine-tuning(微调)操作。

MindSpore下载,深度学习框架,源码相关,程序源码

配置训练网络通过MindSpore提供的model.train接口可以方便地进行网络的训练。LossMonitor可以监控训练过程中loss值的变化。这里把train_epoch设置为1,对数据集进行1个迭代的训练。

MindSpore下载,深度学习框架,源码相关,程序源码

其中,在train_net方法中,我们加载了之前下载的训练数据集,mnist_path是MNIST数据集路径。

运行并查看结果使用以下命令运行脚本:

MindSpore下载,深度学习框架,源码相关,程序源码

其中,

lenet.py:为你根据教程编写的脚本文件。

--device_targetCPU:指定运行硬件平台,参数为CPU、GPU或者Ascend,根据你的实际运行硬件平台来指定。

训练过程中会打印loss值,类似下图。loss值会波动,但总体来说loss值会逐步减小,精度逐步提高。每个人运行的loss值有一定随机性,不一定完全相同。训练过程中loss打印示例如下:

MindSpore下载,深度学习框架,源码相关,程序源码

训练完后,即保存的模型文件,示例如下:

MindSpore下载,深度学习框架,源码相关,程序源码

其中,

checkpoint_lenet-1_1875.ckpt:指保存的模型参数文件。名称具体含义checkpoint_网络名称-第几个epoch_第几个step.ckpt。

验证模型在得到模型文件后,通过模型运行测试数据集得到的结果,验证模型的泛化能力。

使用model.eval接口读入测试数据集。

使用保存后的模型参数进行推理。

MindSpore下载,深度学习框架,源码相关,程序源码

其中,load_checkpoint:通过该接口加载CheckPoint模型参数文件,返回一个参数字典。

checkpoint_lenet-1_1875.ckpt:之前保存的CheckPoint模型文件名称。

load_param_into_net:通过该接口把参数加载到网络中。

使用运行命令,运行你的代码脚本。

MindSpore下载,深度学习框架,源码相关,程序源码

其中,

lenet.py:为你根据教程编写的脚本文件。

--device_targetCPU:指定运行硬件平台,参数为CPU、GPU或者Ascend,根据你的实际运行硬件平台来指定。

运行结果示例如下:

MindSpore下载,深度学习框架,源码相关,程序源码

可以在打印信息中看出模型精度数据,示例中精度数据达到96.6%,模型质量良好。随着网络迭代次数train_epoch增加,模型精度会进一步提高。

应用场景

通用场景教程

面向不同程度开发者提供多种场景下的使用教程,通过细分步骤指导如何使用MindSpore

面向新手的通用场景教程之快速入门

快速入门

通过一个实际样例实现手写数字的识别,带领大家体验MindSpore基础的功能,一般来说,完成整个样例实践会持续20~30分钟。

面向专家的通用场景教程之图像分类

图像分类

结合CIFAR-10数据集,讲解MindSpore如何处理图像分类任务。

面向专家的通用场景教程之情感分析

情感分析

构建一个自然语言处理的模型,通过文本分析和推理实现情感分析,完成对文本的情感分类。

生态合作

开发者体验(昇腾环境)

在云上ModelArtsAI开发平台抢鲜体验昇腾资源

开源合作

MindSpore社区期待各位开发者的加入

高校合作

MindSpore诚挚邀请您加入华为沃土高校教研AI扶持计划。

MindSpore下载,深度学习框架,源码相关,程序源码

Tags:MindSpore下载,深度学习框架,源码相关,程序源码

应用推荐查看更多
热门下载查看更多
精选应用
点击查看更多
专题合集查看更多
热门专题查看更多
友情链接0投诉联系:ichaoinc@gmail.com