建议使用以下浏览器,以获得最佳体验。 IE 9.0+以上版本 Chrome 31+ 谷歌浏览器 Firefox 30+ 火狐浏览器
请选择 进入手机版 | 继续访问电脑版
设置昵称

在此一键设置昵称,即可参与社区互动!

确定
我再想想
选择版块
标签
您还可以添加5个标签
  • 没有搜索到和“关键字”相关的标签
  • 云产品
  • 解决方案
  • 技术领域
  • 通用技术
  • 平台功能
取消

胡琦

发帖: 70粉丝: 24

发消息 + 关注

发表于2021年01月14日 05:00:34 36 1
直达本楼层的链接
楼主
显示全部楼层
[干货分享] 体验MindSpore新年新版本,前所未有的丝滑

赶在2020年最后一天,Gitee明星开源项目全场景AI框架 MindSpore 也发布了 1.1 的版本,也意味着MindSpore迎来了新的起点新的征程。年底的MindCon极客周活动让我收获不少,新版本发布,怎么少得了Copy攻城狮的Hello World呢?

全新体验

继2020年3月, MindSpore 正式开源,到2020年9月正式发布1.0版本,MindSpore一步一个脚印,终于在2020年11月喜获 OSC 中国开源项目最佳人气项目奖。2021年,MindSpore发布了1.1版本,在新版本增加了统一IR格式MindIR实现一次训练多次部署;提供了全场景部署能力实现MindSpore端云互通;完善了PyNative模式,开发调试更友好;重新设计了调试器的检查能力,更加易用精准;新增了端侧训练特性,使得AI应用越用越精准……而对于Copy攻城狮来说,最喜爱的是教程大规模更新以及打通了一站式AI开发平台ModelArts,在手机上也能学习模型开发及训练;另一个喜爱的点是在Windows上有了更好的安装体验。今天就给大家简单跑一跑 MindSpore 1.1 的 HelloWorld -- 跑通图片分类 LeNet 模型,弥补之前在Windows上安装失败而放弃学习的遗憾!

安装

image.png

在新版下,Windows的安装体验似乎变得更加丝滑,一行命令安装,一行命令验证安装结果。安装使用的是官方文档提供的脚本,使用到了华为云自家的资源和清华pip镜像,这也许是我和清华唯一的交集:

pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.1.0/MindSpore/cpu/windows_x64/mindspore-1.1.0-cp37-cp37m-win_amd64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple
# 注意参考官方文档的安装指南,确保安装依赖以及环境变量配置正确
# 本次选择选项 1.1.0 Windows CPU Python3.7.5 pip 
image.png
mindspore windows install

安装完毕之后还需校验一下本次安装是否成功:

python -c "import mindspore;print(mindspore.__version__)"
# 1.1.0
image.png
mindspore check install

以上能正常输出MindSpore版本号,Windows上成功安装 MindSpore 1.1.0。接下来开始疯狂Copy代码吧!

实操

本次实操会基于Lenet实现一个简单的图片分类的功能,涉及到数据集的准备和处理、定义网络&损失函数&优化器、数据集加载、模型加载\保存\推理\验证等过程,是一些基本的操作,万丈高楼平地起,Copy攻城狮就从这平地开始吧!

数据集准备

数据集: http://yann.lecun.com/exdb/mnist/

能够自己动,绝不手动!我们通过python脚本来下载数据集。我们会引入文件下载和加压gzip文件必备的依赖;定义解压gzip文件的方法;定义下载进度的方法,下载完毕就解压文件最后移除;最后定义数据集下载主函数。

具体代码请查阅:https://gitee.com/mindspore/docs/blob/r1.1/tutorials/tutorial_code/lenet/utils/dataset.py

数据集的准备工作主要是为了生成如下的文件夹结构,test存放推理数据,train存放训练数据:

└─MNIST_Data
    ├─test
    │      t10k-images.idx3-ubyte
    │      t10k-labels.idx1-ubyte
    │
    └─train
            train-images.idx3-ubyte
            train-labels.idx1-ubyte
image.png
mindspore lenet mnist

训练及推理

我们会用到一些python库和MindSpore中的一些模块,如 os 指定数据集路径,context模块配置运行需要的信息,dataset模块处理数据集如定义数据集、数据增强等,继承mindspore.nn.Cell定义神经网络,从mindspore.nn.loss引入损失函数等等,可以在文件开头引入我们所需要的依赖。然后使用mindspore.dataset模块进行数据集处理;接着定义Lenet网络、定义损失函数及优化器并对模型保存和训练网络进行配置。

具体代码请查阅:https://gitee.com/mindspore/docs/blob/r1.1/tutorials/tutorial_code/lenet/lenet.py

最后执行python命令进行训练,训练及推理完毕即可查看结果:

epoch: 1 step: 1866, loss is 0.1575163
epoch: 1 step: 1867, loss is 0.31445956
epoch: 1 step: 1868, loss is 0.043173585
epoch: 1 step: 1869, loss is 0.12036275
epoch: 1 step: 1870, loss is 0.12131009
epoch: 1 step: 1871, loss is 0.3510599
epoch: 1 step: 1872, loss is 0.078447945
epoch: 1 step: 1873, loss is 0.08664515
epoch: 1 step: 1874, loss is 0.15272087
epoch: 1 step: 1875, loss is 0.007838262
============== Starting Testing ==============
============== Accuracy:{'Accuracy': 0.9649439102564102} ==============
image.png
mindspore lenet

小结

整个流程走完不超过15分钟,在我16年的粗粮笔记本上居然也能流畅运行,尽管因为有代码容易跑起来,但真正想搞懂里边涉及的方方面面可不是一朝一夕就能实现的。路漫漫兮其修远,Copy攻城狮也将上下求索!

如有不当,欢迎指正!

联系作者:huqi@gpdi.com


举报
分享

分享文章到朋友圈

分享文章到微博

chengxiaoli

发帖: 105粉丝: 23

发消息 + 关注

发表于2021年01月14日 09:12:04
直达本楼层的链接
沙发
显示全部楼层

感谢安装体验哦,期待您更多的使用

点赞 评论 引用 举报

游客

富文本
Markdown
您需要登录后才可以回帖 登录 | 立即注册